Article Preview
Buy Now
COLUMN
Build a First-Person Shooter in REALbasic
Issue: 1.3 (December/January 2002)
Author: Joe Strout
Author Bio: Joe Strout is part of the engineering team at REAL Software, and gets tired of hearing people say "You couldn't write Quake in REALbasic..."
Article Description: No description available.
Article Length (in bytes): 36,122
Starting Page Number: 18
Article Number: 1311
Resource File(s):
1311.zip Updated: 2013-03-11 19:07:56
Related Link(s): None
Excerpt of article text...
If you don't know what a "First-Person Shooter" is, then you have probably been living in a cave for the last five years. A genre of games exemplified by Doom and Quake have grown enormously popular, especially among male gamers. The term "first person" indicates a 3D game in which the camera appears to be inside the player's eyes (as opposed to looking at the player from the outside). And "shooter," of course, describes the main point of most of these games, which is to shoot things, though the same basic game engine can be used for other types of games, such as exploration or adventure games.
This article will cover the basics of making a first-person shooter (FPS) game in REALbasic. Not even RB can make such a game trivial, so we're going to have to cut some corners and accept some limitations in order to fit this into a single article. I'll point out where these limitations are and how they might be addressed. By the end, you should have a working FPS demo which could serve as a solid foundation for a real game.
As a first goal, let's get the 3D display working. Make a new window with a width of 640 and height of 480. Now drag in an RB3DSpace, name it "MainView," and set its width to 640 and height to 384, leaving a bit of room above and below. That will leave us space to add status and debugging displays. Set its Hither and Yon values to 0 and 250, respectively, and the FieldOfView to 50 degrees. I also set both the AmbientLight and FloodLight to 40, though of course you can tweak these to get the desired lighting. Finally, set the SkyColor to a neutral gray; this may be visible through tiny gaps in the scenery, and you don't want it to be too obvious.
Next, we need to add the scenery itself. To keep things neat, create a folder next to your project file called "Models." Place the scenery model in that folder. The scenery we'll be using for this demo is called "Level 1 Scenery.3DMF" (see Figure 1) and may be downloaded from the subscriber section of the RB Developer web site. Now, load that scenery into the game, and do additional lighting and camera set-up, with this code in the Open event of the window:
...End of Excerpt. Please purchase the magazine to read the full article.