|
> 3D modeling and shaders or 2D graphics and sprites, physics, game logic, sound, networking, serialization / persistence, character animations, story, particles / fx, lighting and post-processing, music... There are other considerations too, such as input. Also, not all games need all considerations, and sometimes you can use a library or VM code which does some of these things automatically. For example: - Many games will not need a story; some games are more story-oriented, but some aren't and will work OK without. - Fancy graphics are not needed for many games. At least in my opinion, I don't like it to waste the disk space and power of the computer. (I also dislike cutscenes.) - Many games are a single player and don't need networking. - If a VM such as Glulx is used, then save games, pagination, cross-platform, etc can be handled for you already. - If an emulation of an older system such as NES/Famicom is used (such an emuluation is also a VM), then such things as networked multiplayer, save states, user-adjustable input/sound/zoom, cross-platform, etc, is already done for you. (See what I mention in the other comment about colours though) - Libraries such as SDL can be used in cross-platform computer game development, and will handle input (keyboard, mouse, joystick), timing, sound, and display (including double buffering if enabled). - Some game engines are designed to make specific kind of games, and have advantages and disadvantages. You do not necessarily need to use any existing game engine, but you can do so if it is applicable to the game that you are designing. |