Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/feromond/rust_snake_game
A very simple basic game of snake created in rust. Supports wall collisions, self collisions, and food with snake growth. Scores are recorded at the top.
https://github.com/feromond/rust_snake_game
Last synced: about 8 hours ago
JSON representation
A very simple basic game of snake created in rust. Supports wall collisions, self collisions, and food with snake growth. Scores are recorded at the top.
- Host: GitHub
- URL: https://github.com/feromond/rust_snake_game
- Owner: Feromond
- License: mit
- Created: 2024-01-23T23:16:21.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2024-09-10T04:20:22.000Z (2 months ago)
- Last Synced: 2024-09-11T03:35:18.688Z (2 months ago)
- Language: Rust
- Homepage:
- Size: 145 KB
- Stars: 7
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Rust Snake Game
A very simple basic game of snake created in rust. Supports wall collisions, self collisions, and food with snake growth. Scores are recorded at the top. Highscores are tracked per game. A main menu to start the game and also after collisions.The game has 4 different difficulties. The first three are static changes just in the speed of the snake. The last special difficulty is a dynamically changing speed based on the current score in the game.
Table of Contents
## About The Project
This project is intended to be a simple game version of snake created in rust. Just a way for me to learn the rust programming languge and practice it.
The goal of this project is to create a snake game with collisions, score, snake growth. Future plans would be to keep track of highscores, and to improve potentially textures and assets to be used instead of just square shapes.
https://github.com/user-attachments/assets/350fd480-24f2-4dbd-a21f-1bbe7465f7b5
## Release Notes:
### v0.1.1
The first initial release includes a snake game with boarder collisions, self collisions, food, and snake growth, as well as a score that increases each time you get food.
The escape key can be used to quit the game at anytime. Currently the game auto quits when you crash / die in the game. I will want to add a end screen in the future.### v1.0.0
The full first release of this simple rust game contains all of the same features as the initial pre-release v0.1.1 but with even more. Collisions have been changed to not close the game window but to revert back to a main menu. The main manu was added as an alternative window to the playing game state which allows for time to view the highscore, and to choose whether to play the game again upon a lose, or to quit the game fully. This lead to a code restructure and also improvements to the gameplay experience related to key inputs. High-scores have also now been implemented and will track between the same memory instance of the application running. The game is bundled for mac os and will include some windows release installers or .exe as well.
For more info, checkout the [Release Notes v1.0.0](https://github.com/Feromond/rust_snake_game/releases)
### v1.2.0
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.
## References
[GGEZ](https://ggez.rs)