Inspiration
I had this million dollar idea to make a game out of rock paper scissors with extended rules. Like hitting the rock with scissors to create a spark and fire up a stack of paper to warm up and survive the night.
But then I thought, why keep this to only three objects? There is only so much you can do with rock paper and scissors. Then I got reminded that I have no talent or interest to draw every object in the world, but still wanted to extend the original trio to an orchestra. Well guess what, you can display a lot of objects with emojis. And emojiplanet was born.
What it does
It gives you a 6x6 grid map, the entire twemoji assets without skin colors, and two rules to define the mechanics of the game: Immovables and Merges.
By default every emoji is pushable by the player but Immovables are not. Merges define what happens when you push to emojis into each other, it forms a new emoji (Syntax: x + y = z).
Other than that you have to define "LOSE", "YOU" and "WIN" emojis which I think are self explanatory.
How we built it
Svelte with Vite and TypeScript
Challenges we ran into
Running SvelteKit inside devvit: We decided to use just Svelte + Vite since routing was not needed or at least it could be replicated with template syntax in Svelte.
Some documentations were outdated or wrong, we had to check the devtools and compiled version of the script to figure out the object structure (I am talking about devvit forms). Also for some reason the server picked up the request body as string and then as object even though the code was not changed, which was quite baffling.
Accomplishments that we're proud of
Submitting before deadline! We have only half an hour left, so I'm keeping here short, sorry!
What we learned
That starting early is very important!
What's next for emojiplanet
I would like to extend the rules for more complex gameplay mechanics but at the same time don't want to make it more complicated than it should be. I hope the community likes the mechanics.
Built With
- svelte
- typescript
Log in or sign up for Devpost to join the conversation.