Casitsu Casino: Hva skiller det fra andre nettcasinoer?

Casitsu Casino er en spännande plattform som skiller seg ut fra mengden av nettcasinoer, og tilbyr en unik opplevelse for spillere. Med sitt innovative design og et bredt utvalg av spill, kan man enkelt se hvorfor så mange spillere velger å registrere seg hos casino casitsu no. Men hva er det som virkelig gjør Casitsu Casino forskjellig fra andre alternativer på markedet?

Spillutvalg og leverandører

Casitsu Casino tilbyr et omfattende spillkatalog som inkluderer hundrevis av titler fra ledende spillutviklere. Plattformen samarbeider med anerkjente leverandører som NetEnt, Microgaming og Play’n GO. Dette sikrer at spillere får tilgang til både klassiske favoritter og de nyeste lanseringene.

I tillegg til de tradisjonelle spilleautomatene, finnes det også variert utvalg av bordspill, videopoker og Live Casino-opplevelser med ekte dealere. Denne variasjonen gjør Casitsu til et gunstig valg for spillere med forskjellige preferanser.

Bonusordninger og kampanjer

En av de mest tiltalende funksjonene ved Casitsu Casino er deres omfattende bonusprogram. Nye spillere belønnes med generøse velkomstbonuser som gir ekstra spillepenger og gratisspinn. I tillegg finnes det regelmessige kampanjer for eksisterende spillere, noe som gir kontinuerlig verdi.

  • Velkomstbonus for nye spillere
  • Ukentlige gratisspinn
  • Lojalitetsprogram med oppgraderinger
  • Turneringer med store premier
  • Spesielle sesongkampanjer

Sikkerhet og pålitelighet

Casitsu Casino prioriterer sikkerheten til sine spillere med strenge tiltak for å beskytte personvernet og økonomiske transaksjoner. Plattformen er lisensiert og regulert av anerkjente myndigheter, noe som gir spillere trygghet og tillit til at de spiller på et ansvarlig casino.

Det brukes moderne krypteringsteknologi for å sikre at all informasjon forblir konfidensiell, og plattformen fremmer ansvarlig spilling ved å tilby verktøy for spillegrense og selvutestengelse.

Brukeropplevelse og kundestøtte

Når det kommer til brukeropplevelsen, tilbyr Casitsu Casino et moderne og brukervennlig grensesnitt. Spillere kan enkelt navigere mellom spillkategoriene, og plattformen er optimalisert for både desktop og mobile enheter. Dette gjør at spillerne kan nyte spillopplevelsen uansett hvor de befinner seg.

Kundestøtten er også et høydepunkt med flere tilgjengelige kanaler som live chat og e-post, hvor hjelp er tilgjengelig døgnet rundt. Dette sikrer at alle spørsmål og bekymringer raskt blir tatt hånd om.

Funksjon Casitsu Casino Gjennomsnittet på markedet
Antall spillutviklere Over 20 10-15
Velkomstbonus Opptil 200% + 100 gratisspinn 100% + 50 gratisspinn
Lisensiert Ja Ikke alltid

Ofte stilte spørsmål

  • Er Casitsu Casino trygt å spille på? Ja, det er lisensiert og bruker kryptering for å beskytte data.
  • Hva slags bonuser tilbys? Casitsu tilbyr velkomstbonuser, gratisspinn og lojalitetsprogram.
  • Er det mobilenheter tilgjengelig? Ja, plattformen er optimalisert for både PC og mobile enheter.

Finding Your Way in Casino Kingdom’s Online Universe

Casino Kingdom offers a unique gaming experience that stands out in the online gambling market, attracting players from various backgrounds. With a user-friendly interface and an extensive selection of games, accessing this platform is as simple as navigating to the casino kingdom mobile login; players can dive into a world of entertainment seamlessly. This review explores the various aspects of Casino Kingdom, ensuring potential users understand what this online destination has to offer.

Game Library and Variety

The breadth of games available at Casino Kingdom is impressive, featuring an extensive array of slots, table games, and live dealer options. Players can find popular titles from renowned software providers like Microgaming and NetEnt, ensuring quality gaming experiences. The platform continuously updates its library with new releases, keeping the selection fresh and exciting.

Slot categories range from classic three-reel games to modern video slots with engaging themes and bonus features. Table game enthusiasts will appreciate various options, including blackjack, roulette, and baccarat, all available in multiple variations. Additionally, Casino Kingdom’s live casino section offers an immersive experience with real dealers, enhancing the overall gaming atmosphere.

Bonuses and Promotions

Casino Kingdom provides an enticing bonus ecosystem for both new and existing players. New users can benefit from a generous welcome package that typically involves a deposit match and free spins, making it appealing for those just starting their gaming journey. Ongoing promotions for loyal players include reload bonuses, cashback offers, and loyalty rewards, fostering a rewarding gaming environment.

  • Welcome bonus for new players
  • Regular promotions for loyal players
  • Free spins on selected slots
  • Cashback offers throughout the week
  • Loyalty rewards program with tiered benefits

Security and Trustworthiness

Casino Kingdom prioritizes player security by implementing advanced encryption technology, ensuring that personal and financial data is protected at all times. The platform operates under a reputable license, providing players with peace of mind regarding its legitimacy. Furthermore, Casino Kingdom promotes responsible gaming practices, offering tools that help players manage their gambling habits.

With a transparent approach to gaming, players can expect fair play, as the games use certified Random Number Generators (RNG) to ensure unbiased outcomes. This solid foundation of trust is crucial in fostering a safe and enjoyable online gaming environment.

FAQ

What payment methods are available at Casino Kingdom?
Casino Kingdom supports various payment methods, including credit/debit cards, e-wallets, and bank transfers, catering to a wide range of player preferences.

Are there live dealer games?
Yes, Casino Kingdom features a live casino section where players can enjoy engaging games with real dealers, creating an immersive gaming experience.

Is Casino Kingdom safe to play?
Absolutely, Casino Kingdom is licensed and uses advanced encryption technology to ensure a secure gaming environment for all players.

Feature Details Player Benefit
Welcome Bonus Up to 100% match + free spins Boost your initial bankroll
Game Variety Slots, Table games, Live casino Something for every type of player
Security Licensed & encrypted Safe and fair gaming experience

How Safe is Rocket Riches Casino for Players?

Rocket Riches Casino is gaining popularity among online gaming enthusiasts, and players often wonder about its safety and reliability. This review explores how secure the platform is for players, highlighting essential aspects such as licensing, encryption, and fair play practices. For those interested, more details can be found on the official site rocket riches casino nz.

Trust and Licensing

Trust is crucial in the online gambling industry, and Rocket Riches Casino addresses this concern through licensing and regulation. The platform operates under a license from a recognized authority, ensuring compliance with industry standards. This regulatory oversight guarantees players that the casino adheres to legal requirements and meets high safety standards.

Moreover, the casino utilizes certified random number generators (RNGs) in its games. This technology ensures that all outcomes are fair and random, further enhancing the trustworthiness of the platform. Players can feel confident knowing they are engaging with a reputable site.

Encryption and Data Protection

Your personal information and financial data are safe at Rocket Riches Casino, thanks to robust encryption protocols. The platform employs advanced SSL encryption technology, which prevents unauthorized access to sensitive data. This means that players can deposit and withdraw funds without worrying about potential security breaches.

The casino’s commitment to data protection extends to its privacy policies, which outline how player information is stored and used. By ensuring transparency, Rocket Riches builds trust with its users, making it a secure choice in the online gambling landscape.

Responsible Gaming Measures

Rocket Riches Casino takes responsible gaming seriously, providing players with tools and resources to maintain control over their gambling activities. The platform offers self-exclusion options and deposit limits, enabling players to set their own constraints and gamble responsibly.

  • Self-exclusion policies to prevent over-gambling.
  • Deposit limits for budgeting control.
  • Access to support for problem gambling.
  • Information on responsible gaming practices.
  • Regular promotions focused on player welfare.

By prioritizing responsible gaming, Rocket Riches Casino not only promotes a safe gaming environment but also shows its commitment to player well-being.

Conclusion

In summary, Rocket Riches Casino stands out as a safe platform for online players. With its licensing, strong encryption, and dedication to responsible gaming, it provides a secure environment for all users. Players can enjoy a wide variety of games, knowing that their safety is a top priority for the casino.

FAQ

Is Rocket Riches Casino licensed?
Yes, Rocket Riches Casino operates under a legitimate gaming license, ensuring compliance with regulations.
How does Rocket Riches protect player data?
The casino utilizes advanced SSL encryption technology to safeguard personal and financial information.
What responsible gaming options are available?
Players can set deposit limits and self-exclude from the casino to promote responsible gambling practices.

Qbet Casino bonuser: Hva kan du forvente?

Qbet Casino er en online spillplattform som skiller seg ut med sine attraktive bonuser og kampanjer. Spillere som besøker qbet casino norge kan forvente et bredt spekter av tilbud som gjør spillopplevelsen både spennende og lukrativ. I denne artikkelen vil vi utforske hva spillere kan forvente av bonusene tilgjengelig på Qbet Casino.

Bonsussystemet til Qbet Casino

Qbet Casino tilbyr en variert bonussystem som er utviklet for å tiltrekke nye spillere og opprettholde interessen til eksisterende kunder. Den mest populære er velkomstbonusen, som gir nye spillere en sjenerøs innskuddsbonus sammen med gratis spinn på utvalgte spilleautomater. Spillerne kan også forvente lojalitetsprogrammer og periodiske kampanjer. Denne strukturen gir spillerne flere sjanser til å maksimere gevinstene sine.

Velkomstbonus og spesialtilbud

Den typiske velkomstbonusen hos Qbet Casino inkluderer vanligvis noen av følgende elementer:

  • Innskuddsbonus på opptil 100% på første innskudd.
  • Gratis spinn på populære spilleautomater.
  • Betingelser for omsetning som er rimelige sammenlignet med markedet.

Spesiell oppmerksomhet gis til lojalitetsprogrammet, hvor spillere kan opptjene poeng for hvert spill de deltar i. Disse poengene kan deretter brukes til å få tilbake penger eller motta eksklusive belønninger.

Betingelser for bonuser

Det er viktig for spillerne å sjekke betingelsene som følger med bonusene. Vanligvis inkluderer dette:

Bonus Type Innskuddsprosent Omsetningskrav
Velkomstbonus 100% 30x
Gratis spinn – 20x

Spillere anbefales å lese gjennom bonusvilkårene nøye for å forstå hva som kreves for å kunne ta ut gevinster fra bonuser.

Konklusjon

Qbet Casino tilbyr et konkurransedyktig bonussystem som appellerer til både nye og erfarne spillere. Våre vurderinger viser at plattformen er både brukervennlig og sikker. Med en rekke tilbud og kampanjer kan spillere forvente en underholdende og givende opplevelse.

FAQ

  • Hva er velkomstbonusen på Qbet Casino? Velkomstbonusen er typisk en 100% innskuddsbonus samt gratis spinn.
  • Er det omsetningskrav for bonusene? Ja, de fleste bonuser har omsetningskrav som må oppfylles før uttak.
  • Hvordan kan jeg kontakte kundesupport? Kundesupport er tilgjengelig gjennom chat, e-post og telefon.

Assignment 10

Concept

For this assignment, I wanted to move away from the autonomous movement of bird-like agents and explore the visceral reaction of physical matter. My concept was to create a deep-sea environment filled with glowing, floating crystalline shards that react to gravity, magnetism, and violent collisions.

I was inspired by:

  • Matter.js Physics: Moving from simple circles to complex polygons that tumble and rotate based on their center of mass.

  • Bioluminescence: I wanted the shards to feel like living crystals. They stay dim and calm while drifting but scream with light and ripples when they collide or shatter.

  • Interactive Chaos: Instead of just watching a simulation, I wanted the user to be a destructive force within the world.

Sketch

Keep the mouse pressed to attract the objects. Click on an object to make it explode. Double click in empty space to add more objects.

Highlight

I am particularly proud of the explode() function. It pushes objects away by calculating a radial impulse. When you click a shard, it calculates the distance and angle of every other shard in the vicinity and applies a force that dissipates the further away it is.

// Applying a shockwave force based on distance from the click
let forceDir = createVector(b.position.x - targetX, b.position.y - targetY);
forceDir.normalize();

// Strength drops off as shards get further from the blast center
let strength = map(distance, 0, explosionRadius, explosionForce, 0);

Body.applyForce(b, b.position, {
  x: forceDir.x * strength * b.mass,
  y: forceDir.y * strength * b.mass
});

This makes the world feel heavy and reactive, as the shards get “blasted” back and spin wildly.

Milestones and Challenges

The first hurdle was setting up the Matter.js world. I started with simple squares and triangles to ensure they weren’t overlapping. The challenge here was the relative coordinates problem. If you don’t subtract the body’s position from the vertices, the shards draw in the wrong place.

Once the physics were solid, I added the aesthetics. I implemented a this.glow variable that spikes on collision. I also added a ripple effect – a ring that expands and fades – which visually communicates the “energy” of a collision.

The final stage was adding the magnetism (hold mouse) and the explosion (click object). I had to ensure that when a shard is clicked, it is properly removed from both the Matter.js world and my own array, or the ghost-physics would cause invisible collisions.

Reflection and Ideas

Matter.js opened up a whole new world of crunchy interaction that p5.js vectors alone struggle with. The way the shards tumble and catch on each other’s corners makes the simulation feel grounded in reality, despite the neon colors.

  • Dynamic Sound: I’d love to add a glass clinking sound that scales in volume and pitch based on the intensity of the collision.

  • Shard Fragmentation: Instead of the shard simply disappearing, I’d like it to break into smaller, actual Matter.js fragments that eventually dissolve.

Cosmo Casino: A Player’s Paradise Awaits

Cosmo Casino stands out in the crowded online gaming market as a vibrant platform that caters to both new and seasoned players. With a commitment to providing an unparalleled gaming experience, this site offers an extensive range of games and an enticing atmosphere that players can explore. For more information, visit casinoscosmo.com.

Game Catalog of the Platform

Cosmo Casino features a diverse and rich catalog of games, ensuring that players have plenty of options to choose from. The platform hosts an array of slots, table games, and live dealer options, catering to various tastes and preferences. Game development is powered by top-notch providers, ensuring high-quality graphics and immersive gameplay experiences.

Slots are a major highlight, with themes ranging from classic fruit machines to adventurous narratives and popular film tie-ins. Additionally, players can engage in various table games, including multiple variations of blackjack, roulette, and poker. For those seeking an authentic casino experience, the live dealer section offers real-time gaming with professional dealers, enhancing the overall interaction and excitement.

Bonus Ecosystem and Promotions

The bonus offerings at Cosmo Casino are designed to attract and retain players, providing ample opportunities for increased gameplay. New players can start their journey with generous welcome bonuses, while returning users can benefit from loyalty programs and ongoing promotions. These incentives not only enhance the gaming experience but also create opportunities for players to boost their winnings.

  • Welcome Bonuses: Competitive initial offers for new sign-ups.
  • Loyalty Rewards: Exclusive perks for regular players.
  • Free Spins: Opportunities to spin the reels without monetary commitment.
  • Weekly Promotions: Regular incentives to keep the excitement alive.
  • Cashback Offers: Protection against losses to maintain player satisfaction.

Payment Infrastructure

Cosmo Casino offers a robust payment infrastructure that supports a variety of deposit and withdrawal methods. Players can choose from traditional payment options like credit cards, as well as modern e-wallets and even cryptocurrencies, ensuring flexibility and convenience. Transaction speeds are optimized, and this allows quick processing of withdrawals, underlining the platform’s commitment to user satisfaction.

Payment Method Deposit Time Withdrawal Time
Credit/Debit Cards Instant 1-3 Business Days
E-Wallets Instant 24 Hours
Cryptocurrency Instant Instant

Frequently Asked Questions

Is Cosmo Casino safe to play? Yes, Cosmo Casino is licensed and utilizes advanced encryption technologies to ensure player safety and data protection.

What types of games can I find? The platform offers a wide range of games, including slots, table games, and live dealer experiences.

How can I deposit or withdraw funds? Players can utilize various payment methods, including credit cards, e-wallets, and cryptocurrencies, for both deposits and withdrawals.

Hvordan spille ansvarlig på IBet Casino?

IBet Casino er en fremstående plattform innen online gambling, kjent for sitt varierte spilltilbud og brukervennlighet. For spillere som ønsker å ha en trygg og kontrollert opplevelse, er det viktig å kjenne til retningslinjene for ansvarlig spilling. Dette er ikke bare avgjørende for å nyte spillene, men også for å beskytte spillerens økonomiske og mentale helse. For mer informasjon om ansvarlig spilling, kan spillere besøke casino ibet.

Forstå spillets risiko

Det første skrittet mot ansvarlig spilling er å forstå risikoene som er involvert. Spillere bør være klar over at sjansespill alltid innebærer en mulighet for tap. Det er derfor viktig å sette seg inn i hvordan spillene fungerer, samt ha kunnskap om oddsene. Å være informert hjelper spillerne til å ta mer bevisste valg når de deltar.

Sett et budsjett

En av de beste måtene å spille ansvarlig på i IBet Casino er å sette et tydelig budsjett. Spillere bør bestemme hvor mye de har råd til å bruke på spilling før de starter og holde seg til dette beløpet. Dette forhindrer impulsive avgjørelser og unngår økonomiske problemer. Her er noen tips til hvordan man kan sette og følge et budsjett:

  • Bestem et klart beløp for ukentlig eller månedlig spilling.
  • Unngå å bruke penger som er ment for nødvendige utgifter.
  • Bruk verktøy som budsjettkalkulatorer tilgjengelig fra casinoet.
  • Vurder å sette tidsbegrensninger for spilling.

Bruk verktøyene for ansvarlig spilling

IBet Casino tilbyr flere verktøy for ansvarlig spilling som kan hjelpe spillere med å styre sin spilling. Dette inkluderer muligheter for å sette innskuddsgrenser, tapsgrenser og selvutestengelse. Disse verktøyene er designet for å hjelpe spillere med å opprettholde kontroll over sin spillaktivitet og å hindre problematisk adferd.

Verktøy Beskrivelse
Innskuddsgrenser Sett et maksimum beløp du kan sette inn i en bestemt periode.
Tapsgrenser Bestem hvor mye du er villig til å tape før du avslutter spilling.
Selvutestengelse Velg å ekskludere deg selv fra å spille i en bestemt periode.

Be om hjelp om nødvendig

For spillere som føler at de kanskje har utviklet et problem med gambling, er det viktig å søke hjelp. Det finnes flere ressurser tilgjengelig, inkludert støttegrupper og rådgivningstjenester, både online og offline. Å ta dette steget kan være avgjørende for å opprettholde en sunn forhold til gambling.

Ofte stilte spørsmål

  • Er ansvarlig spilling mulig på IBet Casino?
    Ja, IBet Casino tilbyr flere verktøy for å sikre ansvarlig spilling.
  • Hva skjer hvis jeg overskrider mitt budsjett?
    Det anbefales å ta en pause og evaluere spillvanene dine. Bruk de tilgjengelige verktøyene.
  • Hvor kan jeg få hjelp med spilleproblemer?
    Det er mange ressursser tilgjengelig, inkludert organisasjoner som spesialiserer seg på spilleproblemer.

Amal – Assignment 10

Concept

For this assignment, I explored how a structured geometric system can respond to external interaction using physics. I created a symmetrical pattern that extends across the canvas, composed of small elements that are held in place through soft constraints. The goal was to simulate a system that feels stable and balanced, but still capable of disruption.

As the user moves their mouse across the canvas, the pattern begins to distort. The elements are pushed away from the cursor, creating a temporary break in the symmetry. Once the mouse moves away, the system gradually restores itself, returning to its original configuration. This creates a continuous loop between order and disruption, where interaction introduces instability, and the system’s internal structure restores balance.

This project is loosely inspired by responsive systems and generative patterns where structure is not fixed, but maintained through underlying rules. I was particularly interested in how symmetry can be preserved even when temporarily disturbed, and how small forces can create large visual changes.

Code Highlight

One part of the code I focused on was how the particles return to their original positions. Instead of manually animating them back, I used constraints in Matter.js to connect each particle to a fixed anchor point. This allows the system to naturally restore itself after being disturbed.

let spring = Constraint.create({
  pointA: { x: x, y: y },
  bodyB: body,
  length: 0,
  stiffness: 0.06,
  damping: 0.08
});

This approach made the motion feel more organic, since the particles are not directly controlled but instead react to forces within the system.

Final Sketch

Milestones and Challenges

1. Building the initial pattern
The first step was creating a grid that felt structured but still visually interesting. I experimented with spacing and conditions to create a pattern that extends across the canvas while maintaining symmetry.

2. Introducing interaction through forces
I then added a repulsion force from the mouse. One challenge here was finding the right balance, since too much force made the system chaotic, while too little made the interaction barely noticeable.

3. Making the system return to form
A key part of the project was ensuring the pattern would restore itself. Using constraints instead of manual positioning allowed the system to behave more naturally and maintain consistency.

Reflection

This assignment helped me understand how physics engines can be used beyond simple motion. Instead of focusing on collisions or gravity alone, I explored how forces and constraints can create a system that feels both reactive and stable.

I found it interesting that the interaction is temporary, but the structure persists. This creates a dynamic where the user can influence the system, but not completely control it.

Future Improvements
  • Introduce more complex symmetrical structures
  • Add variation in particle size or behavior
  • Experiment with different types of forces (attraction instead of repulsion)
  • Refine the visual output to emphasize the symmetry more clearly

Buernortey – Assignment 10

Concept

Erosion is a physics simulation of a rocky mesa breaking apart under falling debris. The idea came from thinking about how landscapes that look permanent are always being shaped by small, repeated impacts over time. I wanted to use Matter.js not just to show objects falling but to model a process. The terrain starts whole and breaks down based on how hard things hit it.

Code I Am Proud Of

The collision event handler is the center of the piece. It does not react to every contact. It reads the speed of the incoming rock and only shatters a terrain block when the impact crosses a threshold. This makes the simulation feel grounded. Slow rocks bounce off. Fast rocks break things.

 

Events.on(engine, 'collisionStart', function(event) {
  for (let pair of event.pairs) {
    let { bodyA, bodyB } = pair;
    let rock = null, ter = null;

    if (bodyA.label === 'rock' && bodyB.label === 'terrain') { rock = bodyA; ter = bodyB; }
    if (bodyB.label === 'rock' && bodyA.label === 'terrain') { rock = bodyB; ter = bodyA; }

    if (rock && ter) {
      let impactSpeed = Vector.magnitude(rock.velocity);
      if (impactSpeed > 3.5) {
        let idx = terrain.findIndex(t => t.body === ter && !t.broken);
        if (idx !== -1) shatterTerrain(idx, impactSpeed);
      }
    }
  }
});

 

I am also proud of the shatterTerrain function because it does three things at once when a block breaks. It triggers a screen shake scaled to the impact force, spawns a flash at the contact point, and sends out a burst of dust particles that drift upward and fade out. Each of those effects runs from the same impact speed value, so they all feel connected.

 

Embedded Sketch

Milestones and Challenges

The first milestone was drawing the terrain. I wrote a heightmap function that builds a mesa shape, peaks in the center, and slopes toward the edges, with small random offsets per column to roughen the silhouette. I added a sky gradient and a highlight strip on the top face of each block so the structure looked like real layered rock before any physics was involved.

The second milestone was loading that terrain into Matter.js as static bodies. Each block became a rectangle body placed at the correct position. Drawing them back from their body positions confirmed the physics world and the visual layer matched.

The third milestone was getting rocks to fall with physical variety. Rocks now vary in size, fall speed, bounciness, friction, and spin. Density scales with size so large boulders hit harder. Wind drifts slowly over time toward a random target every three seconds, and the visual rain streaks angle to match. This step exposed the first real challenge: collision filters. Without explicit category and mask values set on each body type, rocks passed straight through the terrain. Setting category: 0x0002 on terrain and mask: 0x0001 on terrain fixed which bodies could interact with which.

The fourth milestone was the full shattering system with visual feedback. When a collision event fires and the impact speed clears the threshold, the terrain block is removed, fragments spawn and tumble, dust particles burst outward, a flash appears at the contact point, and the canvas shakes. The main challenge here was performance. Without cleanup, thousands of fragment, dust, and rock bodies built up below the canvas over time and slowed the simulation. Adding a per-frame filter that removes any body or particle whose position exceeds the canvas height solved the problem completely.

Reflection

The piece works well as a slow process. Dropping one rock at a time and watching the terrain wear down has a satisfying quality. The storm mode makes the erosion visible in seconds and shows how the system handles high load. The wind system adds unpredictability without feeling random because it drifts gradually rather than jumping between values.

For future work I want to add water. Fragments that collect at the bottom could be slowly submerged as a rising water level fills the valleys left behind by the erosion. I also want to track how many blocks have been destroyed and show it as a live counter so the viewer has a sense of scale over the life of the simulation.

References

The Nature of Code, Chapter 6: Physics Libraries Matter.js documentation on collision events and body properties

Salem Al Shamsi – Assignment 10

Al Ghawwas — The Pearl Diver

Concept

Before oil, the Arabian Gulf had pearls. Every summer during Al Ghous Al Kabir (The Big Dive), fleets of wooden Dhows sailed out while divers plunged to the seafloor with nothing but a nose clip, a collection bag, and Al Zubail, a stone weight tied to the leg to help them sink. The only thing connecting them to the surface was Al Yada, a rope held by a crew member on the Dhow.

This sketch simulates that dive. The player controls a pearl diver descending from a Dhow into the Arabian Gulf, collecting pearls from the seabed before their breath runs out. The visual concept came from Xavi Bou’s Ornitographies, making invisible motion visible. Here, the diver’s path through the water is the thing being revealed.

Sketch

Code I’m Proud Of

The most interesting part is how forces stack underwater. Three things push against each other every frame:

// Dive toward mouse
Body.applyForce(diver, diver.position, { x: fx, y: fy });

// Tidal current fights you sideways
Body.applyForce(diver, diver.position, { x: currentX, y: currentY });

// Oxygen drains faster the deeper you go
let depthDrain = map(diver.position.y, MIN_DIVER_Y, 578, 0.1, 0.22);
oxygen -= depthDrain;

None of these forces work alone, they fight each other. That tension is what makes the dive feel hard, which felt true to the history. The current also shifts direction every few seconds, so the player can never fully settle.

Process and Challenges

The sketch was built in stages, each one adding a new layer of physics or visual detail.

Phase 1 — Engine and water

Just the physics engine running inside p5.js. Nothing moves yet, just proving the two libraries work together.

Phase 2 — First bodies: seafloor, dhow, diver

A circle for the diver, a rectangle for the seafloor, and one for the Dhow. The diver falls under gravity and lands on the floor. No control yet, just physics bodies existing in the world.

Phase 3 — Forces: buoyancy and diving

Gravity is turned off. Everything is now controlled through applyForce. Buoyancy pushes the diver up every frame. Holding the mouse pushes it toward the cursor. This is where it first felt like something underwater.

Phase 4 — Rope, Collision Events and Pearls

Oyster shells added as sensor bodies. A collisionStart event fires when the diver touches one, spawning a glowing pearl. The rope connects the diver to the Dhow using manual distance math, drawn as a bezier curve. A top boundary stops the diver from floating above the water surface.

Phase 5 — Final

Already embedded above. The final version added everything that made it feel like the Gulf: the drawn Dhow with sail and rigging, the pearl diver figure with Al Zubail stone weight, gradient sky, animated wave surface, sun, clouds, fish, seaweed, bubbles, splash on water entry, the two phase return journey, oxygen system draining faster with depth, and shifting underwater currents that push the diver off course every few seconds.

Reflection

What surprised me was how much the history shaped the design. The rope length, the oxygen mechanic, the stone weight, these are not decorative details. They are the actual constraints real divers worked within. Simulating even a simplified version of them made the difficulty feel earned, not arbitrary.

Things I would add with more time: varying pearl depths, a multi dive scoring system, and an automatic rope pull mechanic like the real Al Seib, pulling the diver up whether they are ready or not.

References