#bevy #snake #bevy-ecs #language #engine #game-engine #block

app ramirezmike/not_snake

A snake-inspired game made in Rust using the Bevy game engine

24 releases (stable)

1.4.1 Jul 23, 2022
1.4.0 Jul 22, 2022
1.3.3 Mar 12, 2022
1.2.1 Aug 19, 2021
0.5.2 Jun 5, 2021

#1457 in Game dev

87 stars & 1 watcher

22MB
7.5K SLoC

Not Snake

This is a game made in Rust using the awesome Bevy engine. It can be played here (the release branch points to the version that is deployed at this link).

I started this project with the only goal of completing a game, following two guidelines of "if it ain't broke, don't fix it" and "save it for the next game" in an attempt to progress while preventing scope creep. It helped me move forward and complete the game, but the cost can be clearly seen across the code base.

There is a lot that can be improved in this code base and I strongly advise anyone wanting to learn from this code to keep the above in mind. Again, this project was made while learning bevy, ecs concepts and how to make a game in general while also just throwing ideas at the wall and seeing what sticks. If you'd like to see code by me of games that are better organized, I recommend checking out my games ¿Quien es el MechaBurro? or A Walk Around the Block. Both were made in the Bevy engine.

I learned a lot making this game and am getting started on a new game that will (hopefully) be much more idiomatic. I hope pieces of this project can be useful to others with the understanding that my priorities were finishing a game, not making anything reusable.

I'm always hanging out in the bevy discord, definitely feel free to @ramirezmike me and ask questions or criticize me :)

Also, feel free to fork/make issues!

https://user-images.githubusercontent.com/1421719/130297030-7209dcca-e0be-41e4-afcc-e76404be9817.mp4

Branches

I'm using the main branch for ongoing development; don't be surprised if features are disabled or the game loads differently as it should be treated as very unstable. The release branch is what's currently on itch.io. All other branches, like the editor branch that currently exists, are for specific features.

Running the Game

To run the game locally

cargo r --features bevy/dynamic

To run the browser version

cargo make serve

which will compile and serve the web version at http://127.0.0.1:4000

Special Thanks

cart - for being a cool dude

alice/IvyLashes - for being really knowledgable and super helpful

TheRawMeatball - for being really helpful a lot

NiklasEi - the Bevy game template and kira audio are amazing!!

OptimisticPeach - for answering my shader questions that was neat

StarToaster - also for answering my other shader questions

robswain - your bevy-hud-pass made my hud all cool

aevyrie - I think I managed to use all of your plugins

gin - for making really out-of-the-box suggestions

Toqoz - your [line crate][linecrate] helped me fix a ton of bugs

Joy - for helping me learn rotations

Ida Iyes - your bevy cheatbook was super super helpful!

and thanks to everyone else in the Bevy discord!

Dependencies

~23–38MB
~627K SLoC