What Type of Video Games Can PlayBasic Create ? This is very frequently asked question. Therefore the following is designed to give readers a quick overview of what types of games (in general) that can be created with
www.PlayBasic.com.
It's important to understand that some games types are more complicated to create than others, and as programmers it's our responsibility to handle the behavior of characters in our games.
Traditional 2D Video Game Styles
Q. Can I Create Text Adventure / Graphical Adventure / Point and Click style Games?
A.
Yes. Since this is one of the oldest video game forms, therefore there have been a number of variations/evolutions over the years. Here we'll define a
Text Adventure as a game that only uses 'text descriptions' to convey the setting to the player. The player interacts with the game by typing in the actions they wish to perform eg. "Walk North", "Get Lamp", "Use Lamp", etc. So the player enters a simple action and the game responds. They're a bit of like a conversation with the computer, or perhaps an interactive story.
This genre of games virtually evolved as a by product of computer capabilities of the time. Generally computers of the period would only supported a TEXT display (terminals for example). Which meant they weren't suited to the type of graphical animation we see in Video Games today. However, the display hardware in modern computers was designed primarily with graphical animation in mind. This means that the approach to creating a text Adventure in a graphical language is little different, but the result is much the same.
Creating a
Text Adventure in PlayBasic revolves around two initial problems. Those being displaying the location/setting information & retrieving user input. Both can easily be achieved using the Print/Text + Input library functions. The challenge lies beneath these though with the data management and the parser.
In terms of data, these game need to handle thing likes scene descriptions, characters, items, inventory lists and map navigation to name a few. So there's a lot more going on that what first appear. Parsing refers to one of the potential more complex problems, as it means that programmers have to build some code that can despiser the actions of the player. Which means a lot of string work basically, luckily PlayBasic has plenty of string commands for the job. Of particular interest are functions like
SplitToArray which is for breaking strings into separate words.
Graphical text adventures effectively add pictures to the text adventure frame work. Where the pictures provide a visual representation of locations. Some examples of which are games like "The Pawn",
"Guild Of Thieves" - Writing them PlayBasic is trivial, effectively we're splitting the screen into two halves (See ScreenViewPort). The drawing the pictorial view and the text view.
Point and click games move away from the text only navigation towards a mouse orientated. Ignoring the media requirements (these games need lots of it), the user generally point and clicks on static backdrop. These would generally be images. These might also be be broken up into layers. So the user can click on the foreground, background objects . You can use things like Vector Shapes to help detecting clicks on abstract regions in any particular scene.
Learn About Interactive Fiction Examples:
Text Adventure FrameWork Tutorials:
Q. Can I Create Card Games (Patience/Poker), Boards games (Chess, Checkers, BattleShip, Monopoly) & Puzzle Games ?
A. Yes. While the visual mechanics of these games are often fairly straight forward to create ( ie. a combination of sprite & images in a PlayBasic program). The main area of difficulty that can occurs in simulating the behavior (AI) of the opposing players. Games likes
Chess are notoriously difficult to program. Not just in PlayBasic, in any language !
Examples:
Tutorials:
Q. Can I Create Tetris / SokoBan / Mind Bender style Puzzle Games ?
A. Yes. These games often some of the easiest to create in terms of media requirements and are often built from sprite/image scenes in PlayBasic.
Examples:
SokoBan PB -
Twin Trix -
Word Zap Tutorials:
Q. Can I Create Space Invaders / Galaxians / Galaga Styled Shoot-em up Games ?
A. Yes. These games can be built in a number of ways. The most common approach would be using sprites or images for the attacking aliens/players. Where each alien in the wave is separate sprite and is controlled by some user defined set of behaviors.
Examples:
Axis -
Space Game -
PB Invaders (src) -
Invaders From Space Tutorials:
How To Make Space Invaders In PlayBasic
Q. Can I Create Asteroids / Omega Race Shoot-em up Games ?
A. Yes. PlayBasic includes a set of special vector graphics commands (called Shapes in PlayBasic) that you can rotate / scale / draw & detect collisions between. So while PlayBasic takes care of the more difficult side of the game, this primarily leaves the programmer to creating the game logic.
Examples:
Red Nose Day' Asteroids -
Shapesteroids W.I.P -
AstroBreak (src) -
ARSETEROIDS WIP -
YAAC (Yet Another Asteroids Clone) Tutorials: None
Q. Can I Create Xenon / SWIV / Raptor / R-Type / Uridium / SilkWorm style Shoot-em up Games ?
A. Yes. Games with large scrolling environments, be they virtual or horizontal will generally created with a combination Maps & Sprites in PlayBasic. The Maps are used for the scenery and Sprites are a dynamics moving objects, which covers things like the players, aliens, bullets , explosions etc.
Examples:
Forest Blaster (horizontal shooter) -
Xenon 2000 (vertical shooter) -
Scramble (src) Tutorials: None
Q. Can I Create Mario Brothers / Bubble Bobble / GODs styled platform Games ?
A. Yes. Traditional 2D platform games generally fall into the core features list of PlayBasic nicely, and will therefore generally be created using Maps & Sprites. Maps for the environments, Sprites for the characters.
Examples:
Jack Steel -
2.5d Perspective Platformer Demo (3D effects) Tutorials: None
Q. Can I Create Sonic The Hedgehog / Zool / Putty Squad styled platform Games ?
A. Yes. However this generation of platform games are generally a little more challenging to create. This is primarily due to the more complex collision environments and interaction these games feature. (Slopes for example). While there are few ways to tackle this, one of the more flexible approaches is to use vector collision (ray intersection). PlayBasic of course includes a spatial partitioning system called "worlds" which can used for ray intersection.
The graphical environments & characters will mostly be made of Maps and Sprites respectively.
Examples:
Draco's Tale -
Steve's Platformer Tutorials:
Advanced Platform Collision (Sloped Floors)
Q. Can I Create Street Fighter / Mortal Kombat / Body Blows style Beat-em up Games ?
A. Yes. These games often are built from sprite/image scenes. While the environment might scroll (horizontally / vertically even) and be layered, the backdrop is generally only twice the width or height of the screen resolution. So if the screen is 320*200, then Backdrop would be 640*200). You could use maps for each layer of environment and save yourself a little memory, but images / sprite would equally suffice.
One of the most challenges things in these types of games (apart from amount artwork required) is building a collision system that can detect impacts between different parts of the fighters bodies. You could use the pixel perfect collision for this, but detecting if the images overlap isn't that helpful. By that i mean, we still don't know if player 1's fist hit player 2's head. All that we know is some part of them overlaps. You could separate the player frames into limbs (hotspots) and make pixel perfect detections between those. Which might work well enough. But to make the collision more believable, we'd need to detect collisions between an attacking players striking point (fist, knee, leg, head) and a set of impact zones on the opponent. The quickest and flexible method for doing this is using shapes to detect collision. (ie vector based collision)
Examples:
Pb Street Fighter (With Src) Tutorials:
Q. Can I Create Isometric styled Games ?
A. Yes, you can. Although, PlayBasic doesn't natively support isometric rendering (at least the current version at the time of writing doesn't - future versions may - who knows) . This means it's the users responsibility to manage the scene depth. PlayBasic provides three mechanisms managing display depth (the order of rendering) built in, those being cameras, and drawing ordered sprites and drawing perspective Z buffered sprites (PlayBasic V1.70 or higher).
Examples:
Retrpo Racers -
Isometric Puzzle -
Example (Src) Tutorials: