Have a question about PlayBasic ? - Well you've come to right place then. Here you'll find all of the most commonly asked questions, categorized for your convenience.
FAQ: What Types of Video Games Can PlayBasic Create ? Revision: V0.13 - Last Updated: March 3rd, 2013
Section:CLASSIC 2D VIDEO GAME STYLES
Question: Can I Make Text Adventure/Graphical Adventures, Point & Click style Games?
Answer: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.
Question: Can I Create Card Games (Patience/Poker), Board & Puzzle Games ?
Answer:Yes. While the visual mechanics of such 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 for example are notoriously difficult to program. Not just in PlayBasic, in any language !
Examples: Tutorials:
Question: Can I Create Card Games, Board games (Chess, Checkers, Monopoly) & Puzzle Games ?
Answer: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:
Question: Can I Create Tetris / SokoBan / Mind Bender style Puzzle Games ?
Answer: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.
Question: Can I Create Space Invaders / Galaxians / Galaga Styled Shoot-em up Games ?
Answer: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.
Question: Can I Create Asteroids / Omega Race Shoot-em up Games ?
Answer: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.
Question: Can I Create Xenon / SWIV / R-Type / Uridium / SilkWorm style Shoot-em up Games ?
Answer: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.
Question: Can I Create Mario Brothers / Bubble Bobble / GODs styled platform Games ?
Answer: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.
Question: Can I Create Sonic The Hedgehog / Zool / Putty Squad styled platform Games ?
Answer: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.
Question: Can I Create Street Fighter / Mortal Kombat / Body Blows style Beat-em up Games ?
Answer: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)
Answer: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 (PBFX V1.7x or higher).
Answer:2.5D refers to a modern trend in Video Game Development where traditionally 2D (meaning a flat representation) game styles are built utilizing 3D display technology. A distinct characteristic of 2.5 games is that while the display might be visualized using a 3D representation (I.e. Perhaps 3D scenery, 3D characters for example) the Game Play remains 2D.
This a vast subject, and rather than suffer me rambling on about it, I recommended the 2.5D Wiki on the subject.
Question: Can I make 2.5D games in PlayBasic V1.64 ?
Answer:Generally Yes - How difficult this task is relies upon the edition of PlayBasic you're using. While PlayBasic V1.64 and bellow have 3D support, it's fairly limited and not all that intuitive to new programmers. While you can rotate / project and render basic 3D geometry from any view point within 3D space, the V1.64 engine can't render Sprites / Maps in 3D. While this might seem like a limitation, and it is, more experienced programmers can overcome most of the limitations. Be warned though, doing so does requires a lot more work on your part though.
Answer:3D Video Games refers to games where both the visualization and game play take place within a 3D environment.
This is a vast subject, so please visit the following wiki for further clarification. 3D computer graphics
Question: What's the difference between a 2.5D and full 3D games ?
Answer:Traditionally, many 2.5 games used specific drawing methods to display the environment, where game play was often limited by how the display was rendered. Some example of this are ID software's Wolf 3D, DOOM. However today, it's more a game designers choice, than a limitation of the how the game visuals are drawn. As such, the majority of 2.5D games today are often developed with 3D engines.
Question: Can I make 3D games in PlayBasic V1.64 ?
Answer:Yes - How difficult this task is relies upon the edition of PlayBasic you're using. While PlayBasic V1.63/V1.64 use the DirectDraw interface they do include some software 3D support, but it's fairly limited and not all that intuitive to new users. So if you're familiar with 3D principles, or wanting to experiment then it's possible, but we'd only recommend this approach as a learning exercise. Even so, you can produce some interesting results.
Question: Can I make 3D games in PlayBasic V1.7x prototypes ?
Answer:Yes - But only in the PBFX editions. From build V1.65 (and above) PlayBasic moved from the DirectDraw interface to Direct3D interface. This change enables hardware acceleration of rendering, as well the addition of perspective rendering. Perspective rendering is really a cut down 3d engine. Allowing the user to not only display flat 2D sprites from any view point in 3D space, but sprites can be now include 3D geometry also. Therefore, users with some familiarity with constructing 3D geometry, can indeed create some 3D scenes. However, since the 3D engine is simplified, there's a couple of things missing at the time of writing, such as Lighting, 3D collision etc.
Question: Can I use 3rd party 3D engines with PlayBasic ?
Answer:Yes. If you really want to write 3D games using PlayBasic, then you'll not doubt get the best results using a 3rd party graphics engines. You could either write your own wrapper, or use an existing one. At the time of writing, there's only a couple of 3d engines wrappers such as ColdSteel and Blitz SDK that we know about. If you've written one, then make sure you email or post about it over on the 3D development forum.
Can't find the answer to your question in the FAQ ? - Then make sure you sign up on our PlayBasic Forums and ask!