Snake3D: A new, probably harder way to play snake.
Repository
https://github.com/IntegratedQuantum/Snake3D
New Project
What is the project about?
Snake3D is a game inspired by snake. The game logic is mostly the same as in snake:
- The snake dies if it hits itself.
- The snake can eat colorful tiles to grow. This adds a point to the players score.
- The snake starts with a length of 3 tiles.
- The snake dies if it hits a border tile(Borders are white in this game).
- There are multiple(currently 2) levels.
- The game gets faster the higher the score of the player gets.
- The highscore for every gamemode/level is saved after each game.
The major difference is that Snake3D is played on the surface of a cube:
This adds a whole new dimension to the game.
→ Now the player cannot see the whole game at once.
→ The cube must be rotated to see other areas.
→ The game works with relative control, meaning the player can turn the snake right/left relative to the current direction of the snake
→ The player needs to coordinate rotation of the cube(WASD
) and turning the snake(←
→
).
There are also already two different levels apart from the empty one:
There is also a second gamemode that creates border-tiles each time the snake eats a fruit.
Technology Stack
The game is written entirely in java.
It requires no library. The 3d-projection is written by me.
If you want it I could explain 3d-projection in another post in more detail.
The game can run on any operating that can run java. It even works on a raspberry pi.
The game needs two processor cores to work efficiently.
Roadmap
- bug fixing: Sometimes one side of the cube disappears although it should be visible.
- The graphics part should be a bit more efficient and easier to understand.
Game Enhancements:
- More levels
- Add the ability to select a level in hard mode
- Possibility to select bigger cubes
- Far future: multiplayer
UI Enhancements:
- Add a better menu
- Allow the player to still rotate the cube in menu/after death
- Settings: Controls, Dark mode/light mode, leaderboard
How to contribute?
If you want to contribute(Thanks in advance), just make a PR and add detailed information(maybe a picture) in the description. If you are unsure if your contribution will be accepted, you could first ask in the issues tab. I will answer within a few days.
GitHub Account
https://github.com/IntegratedQuantum
(In case you are wondering: The name QuantumDeveloper was already taken when I joined github.)
That's really cool. Great idea and implementation.
However, at this point, I cannot give a score at Utopian side due to our contribution scoring guidelines.
Sorry about that. Looking forward to seeing Utopian compatible updates, soon.
Need help? Chat with us on Discord.
[utopian-moderator]
I don't know where you live, but in my universe 21-22 hours are considered much less than 14 days.
Oops, that's my bad! I was also checking your other repos, then I checked the wrong git history. Will be re-evaluated as a valid contrib, asap.
I did some new changes yesterday by the way.
Thank you for your review, @emrebeyler! Keep up the good work!
Sorry for the misunderstanding in the earlier comment. :)
Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.
To view those questions and the relevant answers related to your post, click here.
Need help? Chat with us on Discord.
[utopian-moderator]
Woah, 3D snake and custom 3D rendering code! Very cool!
I will try this out soon.
Hey, @quantumdeveloper!
Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!
Get higher incentives and support Utopian.io!
Simply set @utopian.pay as a 5% (or higher) payout beneficiary on your contribution post (via SteemPlus or Steeditor).
Want to chat? Join us on Discord https://discord.gg/h52nFrV.
Vote for Utopian Witness!