Read this article and find out some of the basics of video game design for the PC platform. You’ll find out some of the important stuff that any computer game designer should know.
The main things you’ll find out are how web-based games compare against standalone games and the important difference between concave and convex for 3D collision detection.
Some of the basics described can also be applied to other platforms as well.
Web-based versus Standalone Games
First, let’s start with some definitions.
Web-based games are games that are developed to be run within a browser, such as Firefox or Internet Explorer.
Standalone games are designed to run on their own with no significant assistance from other software.
Now let’s get the real info: how to best use each type of game.
Web-based games are of course best used for websites. The most common format for web-based games is flash; however, Java is also sometimes used but I do not recommend this language.
The best way to sell a web based game is to offer a license that allows people to change the game and promote their own site or product. Selling the source code is also possible.
Web-based games can also be used to add content to your site and provide additional incentive for people to keep visiting the site.
Standalone games, on the other hand, are usually developed through an IDE (Integrated Development Environment).
An IDE is basically an all-encompassing development environment, where the software code can be developed from start to finish.
The main way of generating profits from standalone games is, of course, selling to prospective gamers.
Standalone games can also incorporate advertising from other companies to generate additional profit, though this must be balanced with the gamers need for actual entertainment from the game.
To develop media such as graphics, sounds etc for your games you would need to use third-party tools as well as the main software development tool.
Interestingly, some tools which produce flash games can also produce stand-alone games as well from the same original code. Adobe Flash is one such tool.
Here’s a final tip: Always try to look for free or possibly open source tools for programming games before considering more expensive commercial tools.
You’ll be surprised at what tools you can find for free or for a very low price these days.
Difference Between concave and convex for 3D collisions
The objects you see in 3D games almost always use simpler 3D meshes to simulate collisions. This is to save on
Most game physics engines use convex meshes to simulate collisions between objects as well as calculate raytracing
(for instant-hit bullets, light rays etc).
Why? Because using convex meshes allows for much more optimized collision detection, rather than using concave meshes and other arbitrary meshes.
Modern engines are increasingly adding support for other types of meshes to be used in collision detection, but using convex meshes always remains the fastest method.
As a result it’s important to know the difference between concave and convex. Here is the important difference, in plain language.
Concave meshes have at least one “dent”, or one inward curve
Convex meshes have no inward curves.
How do you tell what is concave and what is convex?
The simplest method that I recommend is the line test.
A convex mesh will never let a straight line pass through more than two polygons, no matter where the line is drawn.
A concave mesh, however, allows a line to pass through two or more polygons.
What to do with more complex objects you ask?
Using simple convex geometry for collisions is fine for simple 3D objects, but sometimes you have more complicated 3D objects that need finer simulation.
The answer is simple: Use multiple convex meshes to handle collisions for complex 3D objects!
I hope you have learnt some of the essential basics of computer game design from this article. I look forward to seeing your creations.
Damien Davidovic is the author of a recently released video course on How to Make Money from Video Games.