Releases: Feromond/rust_snake_game
v1.2.0
What's Changed
- Added support for WASD keys for snake movement in addition to arrow keys by @Feromond in #3
- Resizable windows and difficulty by @Feromond in #6
The next big update to the rust snake game. This has all of the previous features but now also includes some major upgrades to the gameplay and user experience. I have added support for window resizing so that users can play on whatever screen resolutions they want, but I maintain a game border to ensure smooth gameplay. The menu has been upgraded to include new game difficulties that can be selected. There are now 4 game modes including easy, normal, hard, and special. The modes impact the speed of the snake making the game faster as it gets harder. The special mode changes the snake speed dynamically based on how much food is consumed during the round. The left over changes are to still implement and persistently save high score data. The game has been bundled for macos and there is an installer that will be provided for windows.
1Screen.Recording.2024-09-09.at.9.57.26.PM.mov
Full Changelog: v1.0.0...v1.2.0
Rust Snake Game
Rust Snake Game Release v1.0.0
Large set of changes made for this release
Previously the game would automatically close out after any kind of declared collision was detected. I have now changed this entire process by implementing a menu screen.
When a collision occurs now, the game will no longer just close the game but retreat to a different game state, the GameMenu state. This game menu is also now the default open state when launching the app initially. When in-game, pressing the escape key will also return you to the menu, and then pressing escape again within the game menu will actually close the window.
The game is able to swap between these game states quite easily now and the logic of drawing has been simplified.
Handling keystroke input was also modified slightly to shift it outside of the update function in the mane game loop. This was done mainly for clarity but also since it is then not the last step of each update, but separated in its own area to be handled. This seems to have improved the responsiveness of the keystroke inputs by the player.
Lastly, I have also implemented a high score tracker now that will display the high score in both the menu and the in game screen. That way you are able to see your own high-score while playing, but also when dying it is tracked so that the player has some objective to try and overcome and push further.
(Note: this high score is not saved to the disk anywhere currently so when the game ends the memory is cleared and the high score will reset for the next time the game is launched. This could be a potential next feature however I am not sure whether it is really worth it since I do not wanna add file clutter for such a small mini-demo game.)
Snake Game Demo
This essentially concludes the initial demo of my simple rust snake game. I have generally achieved the main goals I was looking for.
This app can be run on any arm based OSX operating system. I will be including a windows msi installer hopefully as well, otherwise I will attempt to just include the .exe file to run the game.
Full Changelog: 0.1.1...v1.0.0
Rust Snake Game Version 0.1.1
This is the first version of the simple rust snake game. This game has border wall collisions, self collisions, food that can be eaten for snake growth, and a score at the top centre of the window. There are quiet a few more goals I would want to add some extra features for slowly but this is overall a way for me to keep playing around in rust.
Full Changelog: https://github.com/Feromond/rust_snake_game/commits/0.1.1