Home Page Downloads Order Community Support
 

 

 
 

 

 

 

 
 

Example Source Codes


     This is a small collection of mostly game example source codes. These source codes are made available to help PlayBasic programmers kick start their game programming journey. Looking for more source code / tutorials & media, then remember to visit the PlayBasic Resource board on our forums.

Found #116 items

Title Sliding Collision Around A Track
Author By: Kevin Picone Added: June 5th, 2012
Category All,Sprites ,Collision
Description     This example lets the player move a sprite character around an oval shaped track. The player has full sliding collision with the track and fences. The demo uses the built in sprites sliding world collision mode to handle the positioning of the sprite. All we do is move it, the collision engine will work out the new position for us. Obviously if the collision is world based, we need to create world, which is done randomly here in code. In a real game you'd knock up a little tool for such things.

    To create the track shape, we draw two ovals to a world buffer, an outer and inner edge. These two edges form the track. Sliding collision is single sided so the line segments in the outter oval and inner oval need to be connected in opposite directions. Together these form the area that will keep the moving sprite within.

    The track also includes some randomly sized rectangles splodged around it. These also drawn as line segment outlines. Where each segment is pointing outwards. So when a sprite pushes against the segment, the collision engine pushes/slides the character into new safe position.

    Anyway, most of this example is really in setting the collision world. The actual movement code in the main loop is trivial, nothing more than MoveSprite. In a real game we'd obviously use our own game editor to built the collision world to suit the game visual environment.

Download




Title Vertical Sprite Depth Ordering
Author By: Kevin Picone Added: June 3rd, 2012
Category All, Sprites ,Videos
Description      This example breaks away from the concept that depth is straight into the screen. In fact, Sprite Depth/ Scene Depth are just a sort order keys for the object. We can set the depth key to anything we like (0 to $ffff). Here i'm creating a scene where the sprites drawn vertically sorted upon their Y values.

     To do this, we're using the sprites screen position on the Y axis, and inverting it for our depth value. We need to invert the value as the sorting engine draws things in highest to lowest. So smaller z values are drawn after higher ones.

     What this means is that characters further down the screen (represented as some coloured ellipses) are drawn after characters above them. So foreground characters can appear to walk in front of other characters.



Download




Title Selective Tile Map Refreshing II
Author By: Kevin Picone Added: May 20th, 2012
Category All,Maps
Description     This is a more updated version of the previous example. The only real difference is that, this one uses built maps where is the original one demonstrates the hands on method. Apart from that they're pretty much the same, with just some tweaks for newer editions of PlayBasic V1.64M and above.

    This is another short PlayBasic source code example, this one's demonstrating a selective redrawing method using PlayBasic Maps. The program attempts to reduce the cost per refresh by not redrawing the entire backdrop picture every frame. It does this by tagging the overdrawn zones that need to be restored using a Map. So basically the backdrop picture is first cut up into an Map representation. In this example the block size is 32x by 32y pixels, giving us a level size of (800/32 by 600/32). The demo uses two versions of the level tile map data. One is the original and the second is a version we're going to draw from. We need two since the redraw version gets cleared and altered each frame.

     When drawing character objects (in this demo those are the circular blobs), we move the object then convert it's 2d space coordinates back into map coordinates. Then copy from this tile/block area from Original Level to the Refresh Level. We repeat this process for all on screen objects. So after processing our characters, the refresh map contains the parts of the backdrop that need to refreshed (reset) back to it's original state before drawing the next frame. So rather than redraw the entire backdrop picture every time, we can selectively refresh the backdrop. This type of method works really well in 2D games, as it allows the program to lower the cost per-pixel, ironing out the performance for older systems. By older, I mean systems beyond 5 years, closer to 10 years old really
Download




Title Glow / Lightning Balls
Author By: Kevin Picone Added: May 1st, 2012
Category All, Videos, Effects
Description      This source code is variation of the one of the older example. The main change is that this version takes on more of a 3d feel.


Download




Title Textured Tunnel
Author By: Kevin Picone Added: April 2nd, 2012
Category All, Videos, Effect
Description      This is a PlayBasic version of the classic demo effect found in many Amiga / Atari demos from the 90's.

Download




Title Atlus Snake
Author By: Atlus Added: December 31st, 2011
Category All,Game
Description     Atlus's version of the Snake game

Download




Title 8Way Layered Star Field / Asteroids Style
Author By: Kevin Picone Added: December 30th, 2011
Category All, Games, Effects, Videos
Description      This example creates a layered infinitely scrollable star field using shapes. The star field can move/wrap in all 8 directions, much like you'd see in Asteroids arcade style games.. Here we're using Shapes to batch render dots, rather than trying to brute force them individually


Download




Title Rotated Column
Author By: Kevin Picone Added: December 29th, 2011
Category All, Videos, Effects
Description      This is a little effect that renders a perspective /rotating column with camera push in/out.

Download




Viewing Page [1] of [15]

Back - Next

Want More Source Codes?:



Release Type: The source code & tutorials found on this site are released as license ware for PlayBasic Users. No Person or Company may redistribute any file (tutorial/source code or media file) from this site, without explicit written permission.

 

 
     
 
       

 

(c) Copyright 2002 / 2013 Kevin Picone, UnderwareDesign.com  - Privacy Policy   Site: V0.58 [Alpha]