CS Student trying to get into game development

Started by
11 comments, last by j a 17 years, 7 months ago
I am a 3rd year CS student, trying to get into game development. I have quite a bit of experience with Java and know C++ basics. However i have never attempted to do any game-related work on either language. By reading online, i have decided to work with C++ (since Java doesnt seem to be appreciated for game development). What daunts me the most is the graphics department (since i have absolutely zero experience in it), and this is the part i need some guidance for. Any insight (in the form of tutorials/articles etc) is greatly appreciated :)
Advertisement
My opinion: fuck what is 'appreciated' and go for what is 'appropriate'.

If you want to use C++, many will point you in the direction of SDL, or maybe even OpenGL and DirectX (if you want to dive into the deep end).

I say that if you are just learning, why not stick with Java's built in 2D system? It is extremely easy to use and will teach you the basics of rendering without having to really go figure out another library. I used Java in the 3 Hour Game Developmenet Competition that goes on around here every once in a while. I didn't have to worry about my game not working cross platform and I had plenty of materials to use online (Java API).

Once you feel comfortable with designing a primative game and how rendering works, you can move on to a C++ library like SDL without feeling too overwhelmed.

Just my opinion though.

-v
Quote:Original post by visage
My opinion: fuck what is 'appreciated' and go for what is 'appropriate'.

If you want to use C++, many will point you in the direction of SDL, or maybe even OpenGL and DirectX (if you want to dive into the deep end).

I say that if you are just learning, why not stick with Java's built in 2D system? It is extremely easy to use and will teach you the basics of rendering without having to really go figure out another library. I used Java in the 3 Hour Game Developmenet Competition that goes on around here every once in a while. I didn't have to worry about my game not working cross platform and I had plenty of materials to use online (Java API).

Once you feel comfortable with designing a primative game and how rendering works, you can move on to a C++ library like SDL without feeling too overwhelmed.

Just my opinion though.

-v


Agreed. Why bust your ass to learn a new language AND api that you will only know a small part of, just to fit some pre-conceived notion of what is better? If you know Java, use Java, unless you have a fondness of learning new languages and api's, start making games using what you know and worry about the rest later.
But how do you go about making a game?

What do you work on first and how to you implement it?


PS: Learning something new (if its going to be more usable than what i already know) isnt a problem. For instance i believe that C++ and SDL are used in many homebrew attempts at software (on the PSP and on the GP2X for example) so learning to code games in that combination is going to provide me with a greater range of possible applications.
google java game programming tutorial or beginning game programming tutorial. You'll find about 500 tutorials for making a game, pick one that is in a style you like. If you want to learn sdl/c++ you can google sdl game programming tutorial. That should point you in the right direction.
I'm going to agree with the other posters about using what you are good at. If you want to do game development for yourself then definitely use Java.

On the other hand, if you are looking to get a job in the industry after you graduate then I would highly recommend you becoming very proficient at C++. I can't speak for the entire industry, but at my company if you are not highly proficient in C++ then you will not make it pass the preliminary phone interview.

Let me reiterate my original statement, if you are doing game development for yourself the Java is more then sufficient.
As someone who has been in your situation (Graduated 2 years ago, knew Java, only a bit C++), start with Java. Game programming techniques, and learning new libraries is already difficult. Adding on a new language will be even more frustrating, especially since C++ is a mess of a languauge in many ways, and java doesn't entirely prepare you for some lower level issues. Memory access errors FTW!

Once you get some of the game programming concepts down, move on. Maybe try C#, or start with C++.

If you want to jump in, I would recommned the GameInstitute (Keep browsing this page, you'll eventually find their add, and make the site look better, or just, ya know, google it ;)). I'm taking their C++ Module II right now, and I think they do a pretty good job of covering C++.

One last piece of advice, don't set overly lofty goals (complex 2D sports game) with an extremely limited amount of time (18 weeks), using technology completely unfamilar to you (DirectX and C++), a problematic compiler (Visual C++ 6.0). And Especially don't make that the most important project of your college career. It will only end in sleepless nights, crazy stress, nearly breaking up with your girlfriend, and a poor grade to show for it all.

Okay, that last bit may not apply directly, but be careful of how much you take on at once. It's easy to get overwhelmed and frustrated.

Char

[Edited by - Charthepirate on September 6, 2006 1:22:52 PM]
Quote:unless you have a fondness of learning new languages and api's
If you don't you shouldn't start a programming career anyway.
_______________The essence of balance is detachment. To embrace a cause, to grow fond or spiteful, is to lose one''s balance after which, no action can be trusted. Our burden is not for the dependent of spirit. - Mayar, Third Keeper
the only fundamental difference between most games and most non-game programs is that a game usually continually changes without any user input ... ie it keeps running the main game loop / simulation, instead of just waiting for events to respond to (it does respond to events, it just doesn't wait for them). In fact writing a game is almost exactly like writing a media player program.

One of the harder parts of a game is getting the interface to work properly if the user needs to select items in the game world, etc. The easiest way to start is to avoid this need entirely for your first few projects. This is one reason people recommend tetris, breakout, etc. They just use simple inputs (often a keyboard alone is enough) ...

As for where to start, start anywhere you want. Some people focus on visual features first, some gameplay logic, some framework support. Personally I like doing the game logic prototype first for simple clone games (IE write the simulation of your simple tetris world - game board, blocks, movement, rotation, line detection, end of game detection, etc). Then you can output the world state however you want (ascii console tetris anyone :)
Quote:Original post by visage
My opinion: fuck what is 'appreciated' and go for what is 'appropriate'.
-v


That is extremely great advice right there.

This topic is closed to new replies.

Advertisement