Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Major game components

Tags:

components

I am in the process of developping a game, and after two months of work (not full time mind you), I have come to realise that our specs for the game are lacking a lot of details. I am not a professional game developper, this is only a hobby.

What I would like to receive help or advices for is this: What are the major components that you find in games, that have to be developped or already exists as librairies? The objective of this question is for me to be able to specify more game aspects.

Currently, we had specified pretty much only how we would work on the visual, completely forgetting everything about game logic (AI, Entities interactions, Quest logic (how do we decide whether or not a quest is completed)).

So far, I have found those points:

  • Physics (collision detection, actual forces, etc.)
  • AI (pathfinding, objectives, etc.)
  • Model management
  • Animation management
  • Scene management
  • Combat management
  • Inventory management
  • Camera (make sure not to render everything that is in the scene)
  • Heightmaps
  • Entities communication (Player with NPC, enemy, other players, etc)
  • Game state
  • Game state save system

In order to reduce the scope of this queston, I'd like it if you could specifically discuss aspects related to developping an RPG type of game. I will also point out that I am using XNA to develop this game, but I have almost no grasp of all the classes available yet (pretty much only using the Game component with some classes that are related to it such as GameTime, SpriteBatch, GraphicDeviceManager) but not much more.

like image 553
tomzx Avatar asked Jul 12 '09 14:07

tomzx


2 Answers

You have a decent list, but you are missing storage (save load), text (text is important in RPGs : Unicode, font rendering), probably a macro system for text (something that replaces tokens like {player} with the player characters name), and most important of all content generation tools (map editor, chara editor, dialog editor) because RPGs need content (or auto generation tools if you need ). By the way have links to your work?

I do this exact stuff for a living so if you need more pointers perhaps I can help.

like image 114
Robert Gould Avatar answered Oct 16 '22 02:10

Robert Gould


I don't know if this is any help, but I have been reading articles from http://www.gamasutra.com/ for many years.

I don't have a perfect set of tools from the beginning, but your list covers most of the usual trouble for RUNNING the game. But have you found out what each one of the items stands for? How much have you made already? "Inventory Management" sounds very heavy, but some games just need a simple "array" of objects. Takes an hour to program + some graphical integration (if you have your GUI Management done already).

How to start planning

When I develop games in my spare time, I usually get an idea because another game lacks this function/option. Then I start up what ever development tool I am currently using and try to see if I can make a prototype showing this idea. It's not always about fancy graphics, but most often it's more about finding out how to solve a certain problem. Green and red boxes will help you most of the way, but otherwise, use Google Images and do a quick search for prototype graphics. But remember that these images are probably copyrighted, so only use them for internal test purposes and to explain to your graphic artists what type of game/graphic you want to make.

Secondly, you'll find that you need to find/build tools to create the "maps/missions/quests" too. Today many develop their own "object script" where they can easily add new content/path to a game.

Many of the ideas we (my friends and I) have been testing started with a certain prototype of the interface, to see if its possible to generate that sort of screen output first. Then we build a quick'n'dirty map/level-editor that can supply us with test maps.

No game logic at this point, still figuring out if the game-engine in general is running.

My first game-algorithm problem

Back when I was in my teens I had a Commodore 64 and I was wondering, how do they sort 10 numbers in order for a Highscore? It took me quite a while to find a "scalable" way of doing this, but I learned a lot about programming too.

The second problem I found

How do I make a tank/cannon fire a bullet in the correct direction when I fly my helicopter around the screen?

I sat down and drew quick sketches of the actual problem, looked at the bullet lines, tried some theories of my own and found something that seemed to be working (by dividing and multiplying positions etc.) later on in school I discovered this to be more or less Pythagoras. LOL!

Years and many game attempts later

I played "Dune" and the later C&C + the new game Warcraft (v1/v2) - I remember it started to annoyed me how the lame AI worked. The path finding algorithms were frustrating for the player, I thought. They moved in direction of target position and then found a wall, but if the way was to complex, the object just stopped. Argh!

So I first sat with large amounts of paper, then I tried to draw certain scenarios where an "object" (tank/ork/soldier) would go from A to B and then suddenly there was a "structure" (building/other object) in the pathway - what then?

I learned about A-star pathfinding (after solving it first on my own in a similar way, then later reading about the reason for this working). A very "cpu heavy" way of finding a path, but I learned a lot from the process of "cracking this nut". These thoughts have helped me a lot developing other game algortimes over time.

So what I am saying is: I think you'll have to think more of:

  • How is the game to be played?
  • What does the user experience look like?
  • Why would the user want to come back to the game?
  • What requirements are needed? Broadband? 19" monitor with 1280x1024?
  • An RPG, yes - but will it be multi-user or single?
  • Do we need a fast network/server setup or do we need to develop a strong AI for the NPCs?

And much more...

I am not sure this is what you asked for, but I hope you can use it somehow?

like image 5
BerggreenDK Avatar answered Oct 16 '22 04:10

BerggreenDK