What Type of Video Games Can I Create With PlayBASIC

Started by kevin, June 01, 2007, 08:53:25 AM

Previous topic - Next topic

kevin




What Type of Video Games Can I Create Using PlayBASIC ?

   This is very frequently asked question. Therefore the following is designed to give readers a simple overview of what types of games (in general) that can be created with www.PlayBasic.com.

   Before we start, It's important to understand that some types of games are more complicated to create than others, and as programmers it's our  responsibility to handle the behavior of characters in our games and in some cases the special display requirements.

This FAQ might be out of date, always check the home page versions for the most up to date editions



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 decipher 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), Board 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:  Block 15 Puzzle
    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: Atlus Tetris - 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: YAAC (Yet Another Asteroids Clone) -  Red Nose Day' Asteroids - Shapesteroids W.I.P - AstroBreak (src) - ARSETEROIDS WIP

    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:   For Foxes Sake - Jack Steel - 2.5d Perspective Platformer Demo (3D effects) - Mario Demo / 2D Platform Game

    Tutorials:   Tips On Making A Platform Game In PlayBasic





  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) - Sonic the Hedgehog Loop Mock Up





 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)  - Attaching Shapes To Characters for Multiple Collision

Zones


    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: Retro Racers    -   Isometric Puzzle  -   Example (Src)

   Tutorials:




kevin

#1



What Type of Video Games Can PlayBASIC Create ? PART #2

   This is part #2 of this frequently asked question. See above for 2D game genres.

 Visit www.PlayBasic.com






 2.5D Video Game Styles





Q. What is 2.5D ?


    A.  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.




Q. Can I make  2.5D games in PlayBASIC V1.64 ?


    A. 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 for new programmers.   While you can rotated / 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,  it can be overcome.  But doing so does requires a little more work on your part though.  

   
2.5 Examples Made with PlayBasic V1.63 or bellow
Forest Blaster  -  PB Racer  -  Rugby  -  2.5D Platform Game(2d game in 3D)  - Wolf 3D  -  Street Fighter



 

 

   





   
2.5 Examples Made with PlayBasic V1.70 or higher
Perspective Platformer Demo





3D Video Game Styles





Q. What's a 3D video game ?


    A.   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





Q. What's the difference between a 2.5D and full 3D games ?


       A.   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.





Q. Can I make 3D games in PlayBasic V1.64 ?


    A. Yes -  How difficult this task is relies upon the edition of PlayBasic you're using.    While PlayBasic 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 than it's possible, but we'd only recommend this approach as a learning exercise.  Even so, you can produce some interesting results.


   



Q. Can I make 3D games in PlayBasicFX V1.7x and above ?


   A. Yes - From V1.70 (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.







Q. Can I use 3rd party 3D engines with PlayBasic ?


    A.   Yes.  There's various wrappers 3rd party 3d engines such as ColdSteel and Blitz SDK avail.  See the 3D development forum.