It's Snake, But Every 10 Seconds The Food Turns Into Walls by Aristurtle
Windows Only, see developer notes
# Trailer
https://www.youtube.com/watch?v=XwcEKoAMaOc
# Description
You, the player, takes control of the snake. The snake is always moving forward. You can change the direction the snake moves, but you cannot make it stop. Your objects if to eat the food blocks (Yellow Blocks) as quickly as you can. Each block will grant you 10 points, but will also increase the length of the snake by 1.
Every 10 seconds, all remaining food blocks will transform into wall blocks (gray blocks). Should the snake collide with a wall block, or itself, then it's game over.
# How To Play
The game can be played with either a keyboard or a gamepad. Volume control, however, is keyboard only (sorry).
Keyboard Controls
| Key | Alternate Key | Action | | ----- | ------------- | ----------------------------- | | W | Up Arrow | Move Up | | S | Down Arrow | Move Down | | A | Left Arrow | Move Left | | D | Right Arrow | Move Right | | Esc | | Pause Game | | + | | Volume Up | | - | | Volume Down | | Esc | | While paused, unpause game | | Enter | | While paused, restarts game | | Enter | | While gameover, restarts game |
Gamepad Controls
The buttons names used below are based on an XBox controller.
| Button | Alt Button 1 | Alt Button 2 | Action | | ------------ | ---------------------------- | ------------ | ----------------------------- | | Dpad-Up | Left or Righ Joystick Up | Y | Move Up | | Dpad-Down | Left or Right Joystick Down | A | Move Down | | Dpad-Left | Left or Right Joystick Left | X | Move Left | | Dpad-Right | Left or Right Joystick Right | B | Move Right | | Start/Menu | | | Pause Game | | Start/Menu | | | While paused, unpause game | | Select/Share | | | While paused, restart game | | Select/Share | | | While game over, restart game |
# Screenshots


# Tools Used
Sound Effects
Sound effects were made using SFXR. Honestly not a ton of work was put into them and it shows (sounds).
Graphics
All graphics were made by me using https://www.aseprite.org
Audio Library
The game uses NAudio https://github.com/naudio/NAudio for the underlying audio engine. One day, I'll learn FMOD.....
Game Engine
The game engine used is my own custom game engine called Tiny Engine. This is built on top of MonoGame Framework https://www.monogame.net. The engine itself is meant to be small, without a ton of fluff, so I can just start prototyping. This means it's missing some usual features such as defined "game objects". It works well enough for me, source code is available on https://github.com/AristurtleDev/ludum-dare-51
# Additional Developer Notes
Even though I did all of this solo, I am submitting to the Jam. The only assets that I did not create myself was the music, which I never have the time nor the skill to do. Music credits are lower down on this page. As such, I have opted out of the Audio rating.
One neat thing I would like to point out is that the food blocks pulse to the beat of the music. At least, they pulse to the best of my ability to do beat detection. I wanted to include additional song tracks that the player could choose from instead of just one song looping, but unfortunately hit issue with the NAudio library and didn't have time to resolve it.
The game, as well, is Windows only. This is because I opted to use NAudio. One day I will learn FMOD, I promise. NAudio uses lower level Windows API calls that locks the game into being Windows only, even though nothing else prevents this from being cross platform.
# Music Credits
The music used in the game is credited as follows
Realizer" Kevin MacLeod (incompetech.com)
Licensed under Creative Commons: By Attribution 4.0 License
http://creativecommons.org/licenses/by/4.0/
# Download At Itch
The upload here on LDJAM page keeps failing. If it's still not working, you can download the game from the itch.io page at:
https://aristurtledev.itch.io/its-snake-but-every-ten-seconds-food-becomes-walls
Ratings
| Overall | 348th | 3.722⭐ | 38🧑⚖️ |
| Fun | 204th | 3.833⭐ | 38🧑⚖️ |
| Innovation | 499th | 3.417⭐ | 38🧑⚖️ |
| Theme | 50th | 4.333⭐ | 38🧑⚖️ |
| Graphics | 898th | 3.083⭐ | 38🧑⚖️ |
| Humor | 598th | 2.809⭐ | 36🧑⚖️ |
| Mood | 856th | 3.136⭐ | 35🧑⚖️ |
| Given | 26🗳️ | 75🗨️ |
I have this kind of problem trying to launch the .exe
If you’d like to rewatch the playthrough, you can find it here: https://www.twitch.tv/videos/1608912292?t=5h21m40s
Good luck on your ratings, see you next LD! :D
💜 Elysia Griffin AKA Button Feedback Lady
https://www.twitch.tv/elysiagriffin
🐍 My high sssscore

The main mechanic is also really clever and adds a new layer to Snake.
Nice job!
Sorry that I had no buttons in this game for you to give feedback on. I actually did originally have a menu on the title screen to choose between starting the game and viewing controls. The buttons were pop'n, you would have loved it. Ultimately I removed them though :/
The screen transitions were something I added to my engine a year or so ago. Another developer, PorbleG https://twitter.com/PorbleG, originally made them for their game Wark & Wimble. They shared the source with me with the agreement that I write a tutorial on how their implemented and how to use them. I haven't ported the tutorials from my old site to my new site yet, but if you're interested, the write-up is still available in the old repo. It's MonoGame specific though https://github.com/manbeardgames/manbeardgames.github.io/blob/gh-pages-develop/docs/tutorials/scene-transitions.md
It would be nice if the 10 second timer was baked into UI a bit more so I didn't have to avert my eyes from the snake - maybe with the pulsing happening only for the last 3 seconds or some sort of color shift beginning to happen.
Great work!

Thanks for playing and glad you enjoyed it. Yea, technically you can just let the snake move horizontally or vertically and never change direction. Every so often you'll eat food that spawns on the line, but eventually the entire grid will fill. But you won't get many points this way, and what's worth bragging more, points or a filled screen of walls?
It is built on MonoGame. Switched to using MonoGame about 5 or 6 years ago and haven't looked back. For me, it's the perfect middle ground of just letting me write code, but not requiring me to setup all the crazy low level stuff like SDL. They actually just released the new update earlier this year, it's on version 3.8.1 now and has moved fully to .NET6 and off of .NET Framework.
My only suggestion would be to add another cue that the 10 seconds are about to expire, maybe the music changes or the fruit flash red or something, because it is hard to check the timer in the corner during the fast-paced game.
Overall the game is really fun and addicting, well done!
I plan to keep this mode in a full release that I'll be working on. Most likely it'll be an audio sound effect queue starting at the 3s mark, sort of like the queues in the newer Mario games for the red/blue flip tiles. Great suggestion though to add something.
I did struggle with the movement a bit, I was constantly late by one square of where I wanted to turn. I agree with your previous comment that smooth movement looks nice, but I wonder if the chunky step by step movement was necessary for snake to have precision control over what lane of the grid you would turn on. I also got frustrated the first time I was about to eat food and it turned into a wall, but I realized that's the whole point of the theme and I just needed to pay more attention to the timer. After that it added a lot of depth because I had to think about whether I could make it to that food in time or if I'm setting up for a crash.
Really really impressed by your reimagining of an old game, nice job!
I think the movement is one of those things where I played it so much while making it that it become muscle memory for me to know when to press to turn and didn't think anyone would have an issue with it. The input is polled every frame, but the action from input is only done once per "tick" which is every 0.1 seconds. I'll have to play around with it and get others to test it, but it could just be a matter of playing around with the tick timing to get it feeling more natural.
Note adding something to warn about the countdown was a massive oversight on my part, and I completely agree it needs something there.
Thanks for playing and glad you enjoyed it.
Thanks for playing
Thank you for the suggestion, it was a definite oversight on my part.
That calculation is a rapid judgment of path length vs walls (including your own body). I think it's a really interesting puzzle to quickly solve since the time limit means your path can only go so far. Even moreso because the world wraps which is extra hard to consider.
So I think the overall thing I'm noting here is that you get the benefits of time limit (pressuring the player to play better and more optimal) without the consequences of it (game over -> restart). Any failures simply add to the attrition the player feels over time, and boy does the game get hairy later on.
I had a ton of fun with this one. Great execution and strategy tester. Well done on executing the concept!

I made the mistake a few years ago of deciding to "write my own engine", which lead to a lot of burnout and I decided to step away and take a break. Which lead to a 2yr break of doing no development at all. I wasn't even aware it was LD weekend until later Friday night I saw someone on twitter say something. This jam is was brought me back into wanting to just make something, and comments like this will help keep pushing me forward.
One note I have is that it's not super responsive when trying to do rapid turns (like pressing up then right too quickly). I might suggest trying some sort of input buffering, so that when someone makes a move in a legal sequence, even if the second move isn't legal quite yet, you could still execute it so the user doesn't feel like the game isn't doing what they tell it to.
Awesome game, awesome job!
I think the smoothing is mostly what's throwing timing off for some? But input buffering may also help alleviate that.
Glad you enjoyed it though and thanks for playing and the feedback.
Nice work.
The new obstacles brought something new to the game and presented the theme.
Loved the dancing food!
The timer can be in a better place though, no time to glance at the corner, maybe audio signal could be nice.
The idea of turning food blocks into wall blocks is really interesting.
I think the essence of game jam is to think, make, and enjoy these kinds of games.
It might be a more intuitive game if the effect is displayed on the block just before the 10 seconds are almost over and the food block turns into a wall block.
Thank you all so much for the kind words and playing the game.
The visual timer being the only indicator was an oversight on my part. It was one of those situations where I did audio last and it just slipped past me to add in an audio cue/countdown with it. Adjusting the blocks visually as well is a great suggestion that I'll play around with. Thank you.
As for the timer, I agree that only the timer in the corner is not enough, thank you for the feedback on that.
Regardless, thank you for playing and I'm glad you enjoyed it.
Thanks for playing.
Edit: forgot to add that I'll definitely check yours out. Got a lot to catch up on from last night's feedback, but I do plan to go through everyone's games that have left me comments.
I guess you are interpolating parts of the snake between the previous position and the current one? It might make more sense to extrapolate instead, that way changes in direction are immediately communicated to the player. It might look janky when turning rapidly though. It's certainly something you would have to test.