Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does anyone have any ideas for an assignment in game programming?

Tags:

java

applet

task

Much like the author of Give me an assignment in C, I'm looking to learn game programming and I learn best by doing, but I don't have any good ideas for games to program which will teach me the skills and for whom the graphics are freely available.

I have written a basic pacman game but apart from that I haven't done any other games.

Ideally I would like 2-3 or more assignments, each more advanced than the previous one, so perhaps the first game would be something very basic, the next would be more advanced, and the 3rd even more advanced, and so on.

I want to use Java applets as the platform for the games, but that shouldn't matter too much, most games which can be written in C/flash etc should also be translatable to java.

Thanks

like image 817
Ali Avatar asked Nov 18 '09 04:11

Ali


People also ask

Are games made through coding?

Unseen to the user, but making all of the game elements work together, is the code. Code is the set of computer language instructions that controls every aspect of the game. Most games are written with custom code based on the C programming language.


3 Answers

Make a basic "run away from the monster for as long as possible" game. Then:

  • Add path planning, so the monster can follow you through through a more complex map.
  • Add multiple monsters. For bonus points: add swarming behavior, bosses, monster generators, and rival monster clans.
  • Add multiple players (and some client bot programs to test things).
  • Add power-ups.
  • Add guns, so you can fight back.
  • Add a plot - you need to collect a number of items to defeat the monster.
  • Make the environment modifiable.
  • Modify the physics engine (acceleration, etc) - does the monster need better AI?
  • Port the graphics to OpenGL, but leave the game mechanics 2D. I hate 3D game mechanics (except simulators and shooters).
  • Move the game mechanics to 3D, and destroy the simple game-play. Sigh.
  • Add vehicles.
  • Add allies.
  • Add levels, skills, and other RPG stuff (so the losers who play for 12 hours a day will win).
  • Add proceedural content generation.
like image 190
wisty Avatar answered Sep 28 '22 07:09

wisty


Just fire up your closest console or handheld game system and open one of your favorite games... inside you'll probably have mini-games, just go ahead and try to duplicate one of those.

In Bioshock there was the "hacking" mini-game, in Phantom Hourglass there was the salvage mini-game, examples are all over.

Most of these mini-games have fairly simple mechanics, you should be able to implement the basic functionality very quickly. Most of them also have a high level of polish, so you can spend time trying to get your copy to behave correctly. For example, a first-pass of the salvage mini-game would have 1:1 control... later you could add physics to make the control be a little sloppier and the game more challenging.

Just look at the games that you enjoy and try to copy, then eventually improve them.

like image 21
jessecurry Avatar answered Sep 28 '22 06:09

jessecurry


Being a Computer Science Student, we actually were given game creating assignments! :D

You should try implementing features of a game before implementing a game. I spent a lot of time building my own framework before i actually started on a game.

Try things like:

  • Making an object fall with increasing speed (Simple physics, enough for a 2d platformer)
  • Make a character that can shoot a bullet

Then combine both:

  • Make a grenade launcher that shoots grenades affected by your simple physics.

Then get even more advanced:

  • Make the grenades detonate. Perhaps after a few bounces? Perhaps using a remote detonation button? Colliding with an enemy?

This is the sort of methodology I use when creating games. Start small, make each feature work with each other, then combine features for the actual game mechanics you want! :D

like image 32
SevenT2 Avatar answered Sep 28 '22 06:09

SevenT2