Sign in to follow this  

Need project of appropriate scope

This topic is 4493 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

After many failed attempts on creating games with other programmers, it seems the best way to get anything done is to do it yourself. (when you don't have a budget) So anyway, here is the request. I need a short project idea which is of appropriate scope for one person to do all of the needed programming in a 2-4 month time period as a solo developer. I will be putting about 15-20 hours per week into this project. I will most likely be using free models/artwork. I have 5 years of c/c++ experience and quite a bit of experience with opengl, although I don't have a huge amount of experience game developing. I have made a few 2D games, and would like to move into the realm of 3D, if it is feasible. If anyone has some idea of what would possibly be a good, "completable"(coding wise) project in my time frame, it would be appreciated.

Share this post


Link to post
Share on other sites
Quote:
Original post by WolfZen
After many failed attempts on creating games with other programmers, it seems the best way to get anything done is to do it yourself. (when you don't have a budget)

So anyway, here is the request. I need a short project idea which is of appropriate scope for one person to do all of the needed programming in a 2-4 month time period as a solo developer. I will be putting about 15-20 hours per week into this project. I will most likely be using free models/artwork.

I have 5 years of c/c++ experience and quite a bit of experience with opengl, although I don't have a huge amount of experience game developing. I have made a few 2D games, and would like to move into the realm of 3D, if it is feasible.

If anyone has some idea of what would possibly be a good, "completable"(coding wise) project in my time frame, it would be appreciated.


===== WARNING: long post (sorry) =====


Ok, I'm going to give you my personal opinion on how to approach this. You say you're trying to move into the realm of 3D -- well, this isn't such a menial task. There is a lot of trivial (and even more non-trivial) learning that will need to be done. As I've come to learn through experience, working on a game while learning all of the concepts needed for the game lengthens the timeline tremendously. It usually ends up in a cancellation of the project due to many new insights gained while learning, coming to a realization that I had been approaching the entire project incorrectly, or realizing that I had a better idea of what I could / couldn't do, and generally just wasting much more time than necessary.

In other words, if you plan on a 2-4 month 3D project and have no 3D experience, it's going to end up taking a lot longer than 2-4 months. Instead, why not try this: Learn 3D programming using an incremental approach and then put it all together into a game project at the end -- it will go *much* faster / easier this way. Allow me to explain with an example:

Come up with a -very- rough (and easy) game concept of something that you would eventually like to make. The tech specs should be kept to a minimum since you are just starting to learn 3D. Something ambitious might sound like this: a flight-combat sim where the user can control a spaceship/aircraft and fly over some terrain while shooting a few different weapons (maybe against AI opponents, maybe not).

Ok so now figure out what techniques and skills you are going to need to complete this project. First, you're going to need to learn the basics of 3D such as basic vector / matrix math, coordinate space transformations (model to world to view to projection to screen space, etc). A camera will be needed to look around the world, so learning how a simple camera works is in order. You'll also need to load the spaceship / missile models (using static models will help since animation is a more advanced topic). So, loading and texturing models is on the list. You'll need to be able to generate some terrain, possibly from a heightmap. You'll need to be able to texture that terrain, maybe with texture splatting, maybe not. Some sort of sky will be needed, so you'll need to look into skyboxes or the slightly more advanced sky domes / sky planes. You'll also need some very simple physics and collision detection for the spaceship and missiles. You might also want a simple particle system to spew some fire / smoke particles from the missiles. Maybe you want some spacial partitioning in the form of a quad tree, maybe you don't -- you can always decide to learn it later on if you feel comfortable with the material. And finally, if you are up for it, you will need to learn some basic AI to get a few enemy ships flying around.

So now you have a pretty good understanding of what you're going to need to know to complete the project. The next step is to go out and learn it! Create small projects in which you fully explore each aspect of one of those requirements. Create a project in which you do nothing but load a mesh and texture it. Modify that same project so that you can move around the mesh using a camera. Then, start a completely new project in which you learn how to load a heightmap from a file and generate some terrain from it. Paste in or re-write your camera code so you can fly around the terrain. Start a new project in which you create a functioning particle engine.

You get the idea -- the point is to create small projects that fully explore each topic. After you have learned all of the techniques that you'll need to create the game, you'll find that you've also learned -much- more about how to approach coding the actual game itself. Data structures and code organization will become much clearer as you will have a much better grasp of what you will be working with. After you complete the projects, coding the game will be a breeze. You can transfer code directly out of your previous projects and into the appropriate sections of your game (cleaning up the code, of course ;)

Starting 3D from scratch (and possibly with a good book), I think that you could get through all of the above topics in 2-3 months. Putting it all together into a game might take you 1 month. Of course, it's just an example, and a less ambitious first 3D project will go by much faster. Imagine a 3D tetris game -- you will need the 3D math primer (vectors, coordinate spaces, etc), loading / texturing models (bricks), display some text (the score), maybe a camera to give different angles of the game, and maybe that's it. It's really up to you.

Anyway, sorry for the long post -- it is basically my methodology for approaching new topics and thus far I have found it extremely useful. The best part is, you decide when to stop learning new material and when to start putting it together into a game. If you feel that after loading some models and creating a camera that you want to make a game with it, you can. If you want to go on to learn one more shadowing technique, that's fine too. But once you dive head-first and under-prepared into a game project, it's much harder to make these decisions and a lot more time and effort will be wasted in the process!

Share this post


Link to post
Share on other sites
Thank you very much for your post kosmon! I have experience using the majority of the 3D aspects you described, although probably not as thoroughly as you recommend, so I think I will make a couple smaller projects first before I hop into 3D game development.

Share this post


Link to post
Share on other sites

This topic is 4493 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this