How to create a 3D snake game using OpenGL & C++

Started by
1 comment, last by ChubbyLizard 5 years ago

This post is probably gonna be a little long so please bear with me. And I do apologise if somethings are repeated I just wrote everything that I imagine the project should look like.

First I wanna start by saying that I know almost all the basics of C++ and it's OOP features and I have zero prior knowledge of openGL or any other graphics API.

What I want to create is a 3D snake game with a 3D snake moving on a 2D board using C++ & OpenGl with no usage of any game engine whatsoever as a class project (yeah I know 2D is easier especially for a beginner but my professor kinda forced us to ro 3D) and I do have a ton of development and setup question before I start working on it and I hope the kind people here could answer most of them.

To start of I currently have glfw and glew setup on my IDE and am wondering if there are any other essential libraries that I need to add before I start working for example SDL? And are there any other useful extinctions? I'm following a couple of online openGL tutorials but most of them just deal with How to do something in openGL instead of how to build an entire game.

I do wanna make a very nice looking and enjoyable game without making it way too hard for me so...

How much harder would it be to the snake round instead of making it made up of squares? and would it be significantly harder to make the snake move smoothly on the board instead of dividing the board into squares and making the snake momentarily move between them? How much harder would it be to load the snake's body and the game board from a picture instead of making it drawn in a single color? Do I add a camera and make it moveable by mouse? 

Here are somethings that I plan to include please tell me if it's too difficult:

lighting, music and sound FX, a main menu, a loading screen maybe? high scores screen...is there anything I should add?

 

If there's anything I forgot or I should know please do tell me.

Advertisement

I did that sometime ago using DirectXTK library. It was much harder than I thought to get the movement correct, so I used hacks like limited FPS to 15 and then moved the first node by some offset to new position, then second node to the first node's (old) position, then third node to second node's (old) position, ... so on. I imagine 3D would be much harder.

This topic is closed to new replies.

Advertisement