Inspiration
I wanted to make a puzzle game where the solution isn't simply hidden somewhere in the level, but emerges from the way the world behaves.
A lot of puzzle platformers give the player abilities and ask them to figure out how to use them. I wanted to flip that idea around. In OTHERWISE, I wanted the player to experiment with the desires of the world itself.
What happens if a creature becomes afraid? What if it becomes curious, greedy, lonely, protective, or stubborn? Could changing what something wants change how it behaves, and could those behaviors become the solution to a puzzle?
That became the foundation of OTHERWISE: THE WORLD HAS NO RULES.
What it does
OTHERWISE is a 2D physics-based puzzle adventure set inside a fragmented storybook world.
I play as a curious little creature exploring the world and discovering abstract Concepts such as FEAR, LONELY, CURIOUS, TRUST, GREEDY, PROTECTIVE, STUBBORN, IMITATE, HUNGRY, SLEEPY, JEALOUS, FOLLOW, and REPEAT.
Instead of directly controlling every creature, I can change the Concept influencing an entity. That changes what it wants, which changes how it behaves.
The important part is that these behaviors can interact with the physical world. I can experiment with them, combine Concepts, manipulate objects, and discover unexpected ways through environmental puzzles.
The game currently contains 4 regions, 16 main levels, 3 secret challenges, 13 Concepts, and a creativity system that recognizes different ways of playing through seven creative archetypes.
How I built it
I built OTHERWISE as a browser-first game using Phaser 3, TypeScript, and Vite.
The gameplay is built around Phaser Arcade Physics, with the player, platforms, objects, and entities interacting through the same 2D physics world.
Rather than relying entirely on scripted puzzle solutions, I designed the Concept system so that Concepts influence entity behavior and interactions. This lets the player experiment instead of being forced toward one predefined solution.
I also built the world, visual effects, and atmosphere with lightweight procedural systems. The game uses procedural graphics and a Web Audio API-based procedural sound system, which allowed me to create regional ambience and gameplay sounds without relying on large external asset libraries.
Progress and player data are stored locally using a versioned save system with migration support.
The final game is deployed as a production web build through Vercel, with the source code publicly available on GitHub.
Challenges I ran into
The hardest part was making the physics and emergent behavior work together without making the game feel unpredictable in a frustrating way.
Small changes to movement, collision, gravity, or entity behavior could completely change how a puzzle played. I had to repeatedly test interactions to make sure the world felt responsive while still allowing unexpected solutions.
I also ran into issues with player collision, falling, camera movement, pushable objects, and repeated physics/audio states during development. Fixing these required auditing the actual physics bodies and collision lifecycle rather than simply hiding the symptoms.
Another challenge was keeping a fairly large game consistent while building it within a two-week game jam. I had to balance the number of levels and systems with performance, responsiveness, UI, audio, save persistence, and overall polish.
Accomplishments that I'm proud of
I'm most proud of turning a simple idea, changing what an entity wants, into an entire gameplay system.
The 13 Concepts can produce different behaviors and interactions, and the game recognizes different play styles through seven creative archetypes: Engineer, Explorer, Chaotic, Rule Breaker, Empath, Observer, and Experimenter.
I'm also proud that I was able to build a complete playable experience rather than just a prototype. OTHERWISE has 19 playable levels including secret challenges, four distinct regions, persistent saves, procedural audio, responsive physics, a world map, and a complete UI.
Most importantly, I wanted the game to reward experimentation. If a player discovers a solution that I didn't explicitly expect them to find, that means the core idea is working.
What I learned
This project taught me that making a mechanic systemic is much harder, but also much more rewarding, than simply scripting every possible outcome.
I learned a lot about designing around physics, managing state transitions, building entity behavior, debugging collisions, and making multiple systems work together without fighting each other.
I also learned that polish matters just as much as the core idea. A creative mechanic isn't enough if movement feels wrong, the camera gets in the way, or feedback isn't clear.
Most of all, I learned to design puzzles around possibilities rather than answers. Instead of asking "How do I make the player solve this?", I started asking "What could the player make the world do?"
What's next for OTHERWISE: THE WORLD HAS NO RULES
This version is the beginning of the idea, not the end.
If I continue developing OTHERWISE, I want to expand the Concept system with more complex combinations, introduce larger interconnected puzzle environments, add more secrets and story fragments, and push the emergent behavior much further.
The long-term goal is to make a world where players can genuinely surprise me with the solutions they discover.
Built With
- arcade-physics
- github
- html5
- javascript
- localstorage
- phaser-3
- typescript
- vercel
- vite
- web-audio-api

Log in or sign up for Devpost to join the conversation.