My First Playdate Game : Spy and Stick (devlog)

Hello,
Currently developing Spy and Stick (working title) where you play as a private investigator having to spy on your targets through your binoculars without getting spotted by them. Search them, focus your binoculars through crank and try to keep track. If they see you, you'll have to whistle in the most innocent way possible for them to keep walking. Once you've gathered enough informations, send pictures to your client and get your payment : A repositionable sticker ! Collect' them all and fill your album to be the coolest.

It's just a silly game to discover programming through playdate dev and work on a game full of juice and nice details. Started yesterday, and all I have is a placeholder crowd waiting to be replaced by pixelated silly humans, I'll use this thread as a devlog to keep motivation everyday !

crowd_example

2 Likes

Devlog #2 :

Currently messing with the focus feature through crank, getting almost there even though I still need to work on sensitivity, radius, and of course, working with more accurate sprites but i'm close to getting the prototype i aimed at initially
crowd_binoculars

3 Likes

Devlog #3 :

I finally managed to find a way to have both a nice and smooth focus/unfocus of the sprites AND have it on the playdate without too much slowing.

playdate rework
Each sprite gets an ID and a "layer" (depth) when it spawns, which determines its vertical position for the crowd effect. The direction and flipped image are also set at spawn, saving processing time during rendering.

The focus effect is controlled by the crank: the crank position defines a "focal layer," and each sprite's blur is calculated based on how far its layer is from the focal layer. This means blur is computed per-sprite each frame, but with a simple and efficient rule.

I also realized that you don't need a huge crowd for the scene to feel alive, so I reduced the maximum number of sprites, which keeps the game smooth on device.

It still looks weird because I'm working with visual placeholders but I'm almost at the point I want to be, then I'll be able to code the rest of the game which are waaaaay easier features to program

2 Likes

Very cool stuff! Keep up the good work!

1 Like

Devlog #4 :

Now you can pause the crowd, focus on the people on screen, select the focused one and if it's your target, it opens a mini-game where you'll have to take a certain amount of pictures without the person recognizing you.

I simply created a third script managing the photo minigame but still haven't put a lot of features (the fact that the target might see you, stopping the game); the timer and a lot of visual juice but the fondation works so I'm happy for now. When you have enough pictures taken you go back to the crowd (there, a button will appear to send pictures to your clients, ending the level if it's the right person, or launching an angry call if it's not BUT that's for another day)
photo

1 Like

Devlog#5

Hello ! Took a little break because of friends wedding, heat rising, hangovers and birthdays to celebrate (explaining the hangovers) AAAANYWAY WE ARE BACK .

​Ok so now, the photogame is almost complete. You can take pictures with a nice shutter effects. The game goes back to crowd either when the countdown reaches zero or when the sprite leaves the screen or when you take enough pictures (5 here). I also twitched a bit of stuff to see how longer sprites reacts and it works better than just head even this is still just placeholders. I need now to produce more sprites, with a better design, add the "don't get caught" feature and then the next big work will be the stickers and sticker album, then sound effects and music and we'll then clean everything and have the playtests ready to begin, in order to fix possible technical problems, design rework etc etc etc.

It feels pretty good to have such a nice little project going well on this cranky cutie console so I hope the playdate owners will be happy to try it soon
devlog5

3 Likes

Looks awesome! Fun concept!