We are working on a puzzle adventure game called Scapia. It takes place in a magical-medieval world with many areas for the player to explore. What started as a text-based choose-your-own-adventure game for my girlfriend is now a few months into production as a fully graphical Playdate game. I'm coding, she's doing the art. It's been a fun project with a huge learning curve for both of us.
We're excited to share our work so far! This is the first game we've made, so we're looking for feedback! Whether you have some advice or just a quick opinion to offer, we are grateful for your thoughts in the replies.
I'd like to highlight a few of my favorite features to start, and plan to go into more details on how these work in future posts. Progress will also be posted, as we are working on the game daily.
In this game, conversation is key. You can talk to people to learn about the world and progress the story.
This gif (below) where the player is talking to their brother shows how conversations are tracked independently. You can have many 'active' conversations with an NPC, and freely choose between them.
It also demonstrates side-scrolling text for longer player dialogue options. The scrolling here and in the next gif were not built-in Playdate functions, and were fun to write.
In this gif (below) is shown more dialogue, but with Dad this time, and showing the vertical scrolling associated with longer NPC phrases. I truncate with "..." indicating to the player it's a longer text than shown, and give the player a couple seconds to start reading the dialogue before scrolling.
In addition to dialogue, another key component of the game is the puzzling. I have an invisible tile system which tracks where things are in 20x20 pixel "tiles." These are used for puzzle logic, as well as for placing the pieces that make up the various puzzles.
This gif (below) shows how the player can walk up to a statue, press B to toggle grabbing the statue, and move it around.
- The player can only push or pull in the direction they're facing.
- Moving orthogonally disengages the hold on the piece.
Thematically and literally this game has a lot to do with reflection.
- Mirrors reflect the player at a 90 degree angle across the map.
- Your reflection can do certain things you cannot, such as pass over small terrain that can't be walked over normally.
This gif (below) shows the most basic properties of reflection.
This gif (below) shows how:
- the player can aim and toss a "coin" on the ground.
- If the player's reflection ends up on top of that coin, the player can then teleport to the reflection.
This can be used to get the player over the aforementioned un-walkable terrain, and has other uses.
Thank you for reading my first post about this game! I'm looking forward to posting more, and hearing your feedback. I'm excited to get back into the code after a short break, during which I graduated school.
testing... testing... 1, 2, 3...
I also do not have a Playdate yet, though I expect to get one in this latest rollout (group 4). If anyone is interested in testing this for us, we'd be happy to send playable versions to you! I will include a pdx in a post soon so anyone on here can try it out and let me know what they think. Again thank you so much for reading, and thanks Panic for making the Playdate.