I'm getting really frustrated in my uni program. We've got teams of 5-6 people, and we have to make a game prototype in a semester then finish the game in the next. We have to do this from scratch. On top of a standard university course load.
As happened last year, I'm getting shafted by our limited scope. I'm expected to do my job as a level designer with, not only no neat toys, but no gameplay tools whatsoever. I have a school-provided copy of Maya (Which I am not fond of, though god help me I'm starting to be able to manage with it) and notepad with which to organize the map props and the gameplay entities. Nobody else is writing tools to use with the engine, because we have no time to do so with and it's not a priority for anybody else. I'm not writing a toolset because I'm not an engineer and I don't have the skill or knowledge needed to even get started with it. Also we don't have any finalized formats so I can't even write a parser to read or write map files. I have to hardcode everything character by character, and I don't even have a full format.
If you want a level designer to do neat things, you need to give them toys to work with. Spending all my time buried in a text editor with barebones gameplay code will not lead to a stellar product by any standards.
So you know what? I am going to, right now, with all my authority of a nobody, declare Laurie Cheers the programming patron saint of level designers. Because he took a look at us, and he said "You know what? These guys could use some new features to play with." AND THEN HE MADE IT HAPPEN. Spirit of Half-Life is still used by nearly every Half-Life mod in development now, because it was that damn good, and it gave us that much flexibility and ease with which to do our jobs.
Would that we had more people like him. My headache would disappear.
Bless you, Mr. Cheers. You knew what we needed, and you provided.
What kind of a game are you making?
By the time it's done it's supposed to have 5 enemy types appearing/reappearing in each level, a miniboss per level (neither of which was our decision - course requirements) and a climbing mechanic using player-placed thumbtacks. So far we have a graphics pipeline using modern OpenGL and the ability to move an object in 3D space with no collision or physics.
It's hard to be optimistic right now.
Spheres, Cubes and Rectangles are simple. Code it once, give it attributes for length, radius, width etc.
If you're coding something more than once, try to make a function out of it.
I wish you the best of luck man.
What language is everything in?
Also, I've never used SoHL
The game's being coded in C++ with modern OpenGL. Our main programmer is really skilled, but he wanted to get all the rendering framework down first, so we don't have any gameplay code at all at the moment. One other guy has been doing the sound engine exclusively, which is currently using FMOD and completely hardcoded, which gives me 0 flexibility when choosing sounds. Our 3D artist, who is the only other person who can really code, has been focusing on his job and helping us out with the other course assignments which include code.
I wouldn't stress until it's really necessary but try to do as much as you can with your current resources.
I agree with the rendering framework. Once you don't need to worry about that you can move onto the gameplay code.
When is the deadline?
I've been doing modular assets, because I thought it would save time, but frankly that just makes things more time consuming the way things are happening. I have to assemble a scene in Maya from the modular pieces to get their locations, then I have to manually type that into a text file.
If I didn't have the restriction of one texture per model, I'd just take the assembled modular assets and turn them into a massive scene then load up just the one model and the game entities to save typing, but as is that's not an option.
Just keep your head up and keep chugging along.
Also all this talk of coding makes me want to learn to code, but I have no idea what language to start with.. I think someone here recommended C#?
If you need, just ask.
- C# - Unity has decent 2D stuff, from what I hear
- C# - Use OpenTK's GameWindow to create a multi-platform (.NET/mono) OpenGL game (OpenGL can render in 2D)
- JavaScript/HTML5 - There are lots of free JS game frameworks for 2D games
- Python - I hear pygame is good, and has a lot of extra libraries
- C/C++ - Use SDL to create a multi-platform (native) 2D or OpenGL game
As much as people like to hate on it, I really think JavaScript is an excellent language to start learning programming. It has pretty much everything that you need to know about almost every programming language. It's not exactly the best option for game programming (because you are reasonably limited in what you can do, and you can't deploy JS games on Steam or mobile platforms), but it's an excellent starter language and good if you just want to make simple games as a learning exercise. It's easy to deploy as well - if you put your JS/HTML on Github, they will host it for free.