Welcome, Guest. Please login or register.

Author Topic: Creating games with Backbone - Step by Step for beginners!  (Read 37186 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline CammyTopic starter

Creating games with Backbone - Step by Step for beginners!
« on: November 13, 2012, 11:47:09 AM »
This is an on-going tutorial Rebel and I are making which will explain how to use Backbone to create your own video games. Backbone is a game creation kit for AmigaOS 3.x which is fully GUI-based, there's no programming or scripting required to make your very own games, similar to but much more powerful than SEUCK.

Eventually I would like to publish this tutorial along with others in our own free Amiga guidebook, but for now we're posting it online so people can follow along step by step, hopefully creating their own games along the way.

With Backbone you can create platformers and run & guns like Ruff & Tumble or Superfrog, as well as overhead shooters like Alien Breed or The Chaos Engine.

You can download Backbone for free from Aminet here:

http://aminet.net/package/dev/misc/Backbone_Full
http://aminet.net/package/dev/misc/Backbone_Upd
http://aminet.net/package/dev/misc/Backbone_Key

Also you should install Personal Paint if you haven't already got it, it's a very good program for working on game graphics.

http://aminet.net/package/biz/cloan/PPaint

Extract the Full archive and install it first, then extract the Update and install it over the top of the files from the Full archive, then extract the Key and copy it to the Backbone drawer. Now you have a fully working and registered copy of Backbone installed, and you can start making your own games.

In this tutorial we will be using this image for both the blocks and the objects. You can download it and use Personal Paint to convert it to an IFF/ILBM file for use in Backbone.

« Last Edit: November 13, 2012, 11:51:10 AM by Cammy »
A1200 030@28Mhz/2MB+32MB/RTC/KS3.1/IDE-CF+4GB/4-Way Clockport Expander/IndivisionAGA/PCMCIA NIC
A1200 020@14Mhz/2MB+8MB/FPU/RTC/KS3.0/IDE-CF+2GB/S-Video
CD32 020@14Mhz/2MB+8MB/RTC/KS3.1/IDE-CF+4GB
A600 030@30Mhz/2MB+64MB/RTC/IDE-CF+4GB/Subway USB/S-Video/PCMCIA NIC/USB Numeric Keypad+Hub+Mouse+Control Pad
A500 000@7Mhz/512kB+512kB/ROM Switcher/KS3.1+1.3/S-Video

Get AmigaOS
 

Offline CammyTopic starter

Re: Creating games with Backbone - Step by Step for beginners!
« Reply #1 on: November 13, 2012, 11:47:57 AM »
Backbone Tutorial



Getting Started

Load Backbone and start a new project. Select "New" from the Project menu, type the name of your game in the ASL requester that opens, and press OK.

Click on "Screen Setup". Click on "Recommended", then close the window. Now open it again and click "Recommended" again (a bug sometimes prevents Backbone from remembering the first selection). Change the settings as follows:

Resolution: Lowres
Colours: 16
Block Size 16x16
Screen Height: 176
Screen Width: 256
Normal Scroll Lag
Slide Horizontal Scrolling
Chunky Vertical Scrolling
Side View
Gun: Weapons Enabled

Close the Screen Setup window and select "Save" from the Project menu. Always remember to save your work frequently!



Creating Your Player Character

Click on "Image Editor". Change the Colours to "16" and turn "Auto Mode On". Click "Pick Image" and select a bitmap image with sprites on it from the ASL requester. The image should open and you should be able to click and draw a box around the first frame of the object you want to create. Generally the sequence will start with the standing still frames, followed by walking, jumping, falling, dying, climbing, crawling and shooting frames. Clicking "Pick Image" again will let you select the next frame, and automatically move to the next one so you can pick it up. If you ever make a mistake, you can just click or scroll back through the frames and re-select the one you want. When you have picked up all the frames of your object, or at least as many as you have for now, click "Save Objects" and type the name of your object, then click "OK" to save.



Assuming you have just created the object for your player character, close the Image Editor window and click "Edit Player". Click "Pick" to select the Player Object File and select the player character object you have created. You may customise the options to suit your needs, but for this example tutorial change the settings as follows:

Move Speed: 4
Fall Speed: 5
Jump Speed: 7
Acceleration: 1
Climb Speed: 2
Jump Height: 48
Crawl Speed: 3
Energy: 100
Lives: 3
Height: 20
Crawl Height: 14
Width: 8
Invincability Timer: 30
After Death: Restart Level
Powerhead Off



Now click on "Set Frames" and adjust the settings to include the First Frame and Number of Frames for each of the player's positions. Don't select any weapons yet, this setting lets you choose particular frames for each of the weapons you pick up throughout the game. We will come back to it later, for now just make sure your player has Still, Moving, Jumping, Falling and Dieing frames, and close the window.

Close the "Edit Player" window and select "Save" from the Project menu.



Creating Your Blocks

Click on "Block Maker" and then "Load Picture". Select the bitmap image with your blocks on it from the requester and click "OK". Click the mouse button once you have viewed and confirmed you selected the right picture. Click on "Grab Blocks" and type the name you'd like to call this block set, then click "OK". You will now be asked to click on the last block to cut out from the image. Click "OK" then select the last block in the set. Backbone will cut out the blocks and save them, so press "OK" and close the Block Maker window.

Save your project.

Click on "Edit Blocks" and "Pick File" then select the Block file you just made and click "OK". Click "Solidity" click once on each of the blocks that are used for the ground. This will put a box with a large X over each of these blocks, representing that they are fully solid and can't be fallen or jumped through. Now click twice on any above-ground blocks that are used as floating platforms or tops of objects that can be jumped onto. This will put a half-box with a squashed X in it, representing a block that the player can move in front of, but still jump on top of. Click three times on any tiles that are ladders or ropes, and four times on the tiles representing the tops of those ladders and ropes. You will see the ladder pattern and a ladder with a platform top to represent these kind of blocks. Click on "Done" once you have finished editing the solidity of the blocks.



Other Block Details

You can create animated blocks for your levels, which can be made up of up to four frames of animation each. Animated tiles can have their frames playing in an ordered or random loop. The sequence of frames follows horizontally to the right of the first frame.

Blocks can have parts visible in front of the player, giving the appearance you are walking behind something in the foreground. Every foreground block needs to be overlaid on top of another tile, which the player will pass between. The foreground object should be surrounded by colour 0 in the palette, these areas will be clear, showing the player as you pass between the tiles. When creating a foreground tile, click on the background block first, then the object that will be drawn over the top. Remember when placing the tiles to use the background tile in your level map, not the foreground one, it will be overlaid automatically by Backbone.

Some blocks can be destroyed in the game if the player picks up the PowerHead collectible item and hits the block with their head. Click on the "Destroyable" button. To make a block destroyable by PowerHead, it must be clicked on twice so the tile has a small, crossed rectangle in the lower half. This represents that it must be hit from below to be destroyed. The other methods of destroying blocks weren't implemented in Backbone so don't use them. When a block is hit and destroyed it will change to the block beside it, to the right. If you want it to change to a blank or non-solid block it must follow the destroyable block.

You can also have blocks that hurt or kill the player upon contact with them or by falling on top of them. There are four Danger levels for blocks, they can hurt the player and drain their energy the whole time they are in contact with the block, or they can kill instantly as soon as the player touches them. They can also have these properties, but only when fallen on top of, and won't harm the player if they walk past them, represented by a small or large X and a small rectangle below. Applications for these types of blocks could be water, lava or spikes for example.


Editing Your Levels

Finally we get to the fun part! After saving your game, click on "Edit Levels", then "Edit Level", which will open the editor for Level 1 using the first Block Bank you created. You can cycle through available Block Banks for later levels when you have made them. The first thing you should do is click "Pick Block" and choose a solid block and begin drawing your platforms. When choosing a tile, click carefully. Backbone lets you pick up multiple blocks at the same time, so you can sometimes accidentally pick up more than one when you don't mean to. Clicking the Right Mouse Button in the editor will delete a block. Build your level. Before you can leave, you must set a sensible Starting Position, as well as making one condition to finish the level. To save time for now, choose a single Condition and choose an area to End At. This means your player must get to this area to finis the level. Additional finishing conditions can be added, such as forcing the player to get to a certain area first, such as a checkpoint, before they arrive at the end point. You can also require the player to kill a certain amount of enemies or collect certain objects before they can finish the level.

Once you have finished building an area large enough for your player character to play in, close the level editor window and click "Yes" when asked to save the level. Click OK, close the "Edit Levels" window and save your project from the Project menu.



Creating and Testing Your Game

From the Creation menu, select "Create and Run", and click "OK" in the ASL requester, and Backbone will compile your game to your Ram Disk. Once it has finished compiling, click the "OK" button and your game will start. If you did everything correctly, you should be able to run around and jump inside your game world. Try to see if all the jumps are possible, if there are any areas where you get stuck, and if all areas are accessible so you will know which parts to fix when you edit the level again. To quit from your game, press Ctrl C.


To be continued...
A1200 030@28Mhz/2MB+32MB/RTC/KS3.1/IDE-CF+4GB/4-Way Clockport Expander/IndivisionAGA/PCMCIA NIC
A1200 020@14Mhz/2MB+8MB/FPU/RTC/KS3.0/IDE-CF+2GB/S-Video
CD32 020@14Mhz/2MB+8MB/RTC/KS3.1/IDE-CF+4GB
A600 030@30Mhz/2MB+64MB/RTC/IDE-CF+4GB/Subway USB/S-Video/PCMCIA NIC/USB Numeric Keypad+Hub+Mouse+Control Pad
A500 000@7Mhz/512kB+512kB/ROM Switcher/KS3.1+1.3/S-Video

Get AmigaOS
 

Offline CammyTopic starter

Re: Creating games with Backbone - Step by Step for beginners!
« Reply #2 on: November 13, 2012, 09:50:29 PM »
Unfortunately you can only make single player games in Backbone, the source code isn't available, it's not AGA-enhanced, and it's not really suitable for RPGs, sorry!

Backbone games can be a bit slow when the screen size is large and there's a lot going on, but any Amiga with a 030 and Kickstart 3.x should be able to run the games well. The software itself even works on a 2MB 68000 A600, and so do the games, slowly.
A1200 030@28Mhz/2MB+32MB/RTC/KS3.1/IDE-CF+4GB/4-Way Clockport Expander/IndivisionAGA/PCMCIA NIC
A1200 020@14Mhz/2MB+8MB/FPU/RTC/KS3.0/IDE-CF+2GB/S-Video
CD32 020@14Mhz/2MB+8MB/RTC/KS3.1/IDE-CF+4GB
A600 030@30Mhz/2MB+64MB/RTC/IDE-CF+4GB/Subway USB/S-Video/PCMCIA NIC/USB Numeric Keypad+Hub+Mouse+Control Pad
A500 000@7Mhz/512kB+512kB/ROM Switcher/KS3.1+1.3/S-Video

Get AmigaOS
 

Offline CammyTopic starter

Re: Creating games with Backbone - Step by Step for beginners!
« Reply #3 on: November 13, 2012, 10:13:41 PM »
I would never say an emulated environment is best, real Amigas forever!
A1200 030@28Mhz/2MB+32MB/RTC/KS3.1/IDE-CF+4GB/4-Way Clockport Expander/IndivisionAGA/PCMCIA NIC
A1200 020@14Mhz/2MB+8MB/FPU/RTC/KS3.0/IDE-CF+2GB/S-Video
CD32 020@14Mhz/2MB+8MB/RTC/KS3.1/IDE-CF+4GB
A600 030@30Mhz/2MB+64MB/RTC/IDE-CF+4GB/Subway USB/S-Video/PCMCIA NIC/USB Numeric Keypad+Hub+Mouse+Control Pad
A500 000@7Mhz/512kB+512kB/ROM Switcher/KS3.1+1.3/S-Video

Get AmigaOS
 

Offline CammyTopic starter

Re: Creating games with Backbone - Step by Step for beginners!
« Reply #4 on: November 18, 2012, 03:27:26 AM »
Quote from: amiman99;715009
Cammy, Great post.

I have an issue when a player dies over a "dangerous" tile and then re-spawn at the same place, then it dies again.
Do you know how to prevent that? I set the payer to be invincible for 10s, but is not working.
Thanks


You need to change the Player details so he restarts the level after he dies, rather than continuing from the point where he died. Either that, or you make his health and invincibility higher and make sure to provide a way out of all spikes and lava pits.
A1200 030@28Mhz/2MB+32MB/RTC/KS3.1/IDE-CF+4GB/4-Way Clockport Expander/IndivisionAGA/PCMCIA NIC
A1200 020@14Mhz/2MB+8MB/FPU/RTC/KS3.0/IDE-CF+2GB/S-Video
CD32 020@14Mhz/2MB+8MB/RTC/KS3.1/IDE-CF+4GB
A600 030@30Mhz/2MB+64MB/RTC/IDE-CF+4GB/Subway USB/S-Video/PCMCIA NIC/USB Numeric Keypad+Hub+Mouse+Control Pad
A500 000@7Mhz/512kB+512kB/ROM Switcher/KS3.1+1.3/S-Video

Get AmigaOS
 

Offline CammyTopic starter

Re: Creating games with Backbone - Step by Step for beginners!
« Reply #5 on: November 18, 2012, 03:33:19 AM »
Quote from: Methuselas;714969

@Cammy,

Correct me if I am wrong, Girl, but aren't you limited to only one block map per level? I seem to remember having to have all my blocks, sprites, gun sprites and enemies all on the same block. It made reusing sprites a pain in the @$$, I seem to remember. Also, was there a pixel size limit to the block maps? I ask, 'cos it would be really easy to create png files that you could then overlay upon one another to reuse sprites over and over again, thanks to alpha channels.

Anyways, if you want some new background blocks, let me know.


Yeah, you are limited to one set of blocks per level, so you have to make sure the block set contains all the ones you want to use, but this is only for background blocks. Objects like enemies and the player are all separate files, you cut them out frame by frame with the Image Editor and save them as an Object. Background blocks are limited to either 16x16 or 32x32, but objects can be any size. The more objects that need to be on screen and moved around however, the more the Blitter will struggle and the game will go slower with too much action on screen.

If you'd like to add to the block set please feel free. The idea of this one is to make several sets of graphics that anyone can use or modify for their own games. We'd like to upload them to OpenGameArt as well. More enemies, collectibles and anything else that people could put in the games are welcome too. I'd love to provide Amiga users with a huge amount of material they can use in their creations.
A1200 030@28Mhz/2MB+32MB/RTC/KS3.1/IDE-CF+4GB/4-Way Clockport Expander/IndivisionAGA/PCMCIA NIC
A1200 020@14Mhz/2MB+8MB/FPU/RTC/KS3.0/IDE-CF+2GB/S-Video
CD32 020@14Mhz/2MB+8MB/RTC/KS3.1/IDE-CF+4GB
A600 030@30Mhz/2MB+64MB/RTC/IDE-CF+4GB/Subway USB/S-Video/PCMCIA NIC/USB Numeric Keypad+Hub+Mouse+Control Pad
A500 000@7Mhz/512kB+512kB/ROM Switcher/KS3.1+1.3/S-Video

Get AmigaOS