Hey all,
I'm new here at gamedev.net. I'm having some trouble finding some resources on where to start it all. Game development is a huge undertaking, so huge that I find myself looking at all the tasks ahead of me and asking myself "Where should I begin?"
Background
A little background goes a long way, so here's mine. I've always loved video games and wanted to develop them myself, either as a career or as a hobby. I worked on some side projects here and there to try and improve my knowledge. I did some work on a remake of Minecraft that was being worked on a few years ago called Spout, though that project came to a halt. I have 2 bachelors degrees: Computer Science and Pure Mathematics. Part of my CS coursework included a graphics course focused around OpenGL in C++, and for my senior project I did a small Android game that was a remake of the classic SNES game Advance Wars. Like so many with dreams of developing games, I ended up stuck in a commercial software developer position feeling like I'm not living out my life's dream. So that's why I'm here.
Technically speaking, I have a good foundation under me, but I know I have a long way to go. I've already taken a look at a lot of the articles here on gamedev.net, and I really look forward to reading more. I'm not really looking for information on how to break into the gaming industry, because I'm not even sure that's something I want to do yet. I have an idea for a game that I've wanted to make for a long time, but, again, I'm having trouble finding out where to start.
Description
This is a big project. One I've wanted to do for a very long time. I'd like to do this project in C++. My professional training has very minimal C++ involved, but I'm at a point in my career where languages are simply abstractions, and picking up new ones is relatively easy. I don't want to get into the actual game specifics right now, but I know that I want to develop it "from scratch". I want to create my own game engine and build this game on top of it. I know that this game will need to have networking capability, but I'm unsure yet if I want it to be peer-to-peer or dedicated servers. I know that I will need to develop both a client application and a server application. I also know that I will need to do most of the artwork/modeling/animations myself.
Here's where I know I stand in terms of technical tasks to be done:
- Documentation
- Client engine
- Server engine
- Modeling/Animations
I'm sure I've probably left out some tasks from that list right now, but I think I've covered the big ones. Now that you've read a novel, I think you're ready for my question: what tasks should be completed first? Should I document everything first in the form of what I want the game to be like and then develop around that? Or, if my idea is not 100% fleshed out (and it isn't), should I start to focus on the technical tasks first? If so, which? Barring none of those things, if I needed to visualize my idea more should I start with the artwork and modeling?
I realize these questions are kind of arbitrary, but I'm new to this. Most of the other "where to begin" threads I've seen on these forums are from people with little to no technical experience at all. I have the technical experience to begin working, but I don't know where to start. Generally, where should one ultimately start when developing a game (taking into account the information provided) and where should one progress from there? Any advice given would be immensely helpful, and hopefully I can be a positive figure on these forums in the future.
Thanks!