Jump to content

  • Log In with Google      Sign In   
  • Create Account

Banner advertising on our site currently available from just $5!


1. Learn about the promo. 2. Sign up for GDNet+. 3. Set up your advert!


New Old Things



A C64 game - Step 12

Posted by Endurion, 03 July 2011 · 852 views

One of the more complex steps. And also one I someday need to heavily optimize. The player can now shoot an enemy.

The central function for this is FireShot. We don't use a bullet but insta-shot. However walls should block the shot as well. This means, we need to take the current player direction and position, and work our way to the left/right until...


A C64 game - Step 11

Posted by Endurion, in Uncategorized, C64 24 June 2011 · 905 views

From colliding to dying is a small step. Once the player collides with an enemy we kill him by removing the player object. A "Press Fire to Restart" message is displayed and a press on the button will revive the player object.

We add the function RemoveObject which simply removes the object from the SPRITE_ACTIVE table and disables its sprite....


A C64 game - Step 10

Posted by Endurion, in Uncategorized, C64 17 June 2011 · 960 views

So you found out the enemies couldn't hurt you? Well, we're working towards that goal in this step. We add collision checks. Since I'm not completely sure about later changes we are NOT relying on the VICs collision checks but roll our own. Remember the object size contraints from step #6? We apply those to the object collision checks as...


A C64 game - Step 9

Posted by Endurion, 11 June 2011 · 980 views

What are enemies if they just sit put and don't move at all? Therefore we now add the sub routine ObjectControl. ObjectControl loops through all objects (even the player) and jumps to the behaviour function depending on the object type. This incurs that the behaviour is tied to the object type. We provide a table with function pointers to every...


A C64 game - Step 8

Posted by Endurion, 03 June 2011 · 997 views

Of course a game isn't a game without some challenge. Therefore we need enemies. Since we have some neat little level build code why not use it for enemies as well?

We add a new level primitive type LD_OBJECT which adds objects (= sprites). We use it for both player and enemies. A new table SPRITE_ACTIVE is added to see if a sprite is used (and which...


A C64 game - Step 7

Posted by Endurion, in Uncategorized, C64 29 May 2011 · 1,191 views

Now it's starting to resemble a game. Loosely.

In this step we add gravity and jumping. The player will fall if there is no blocking char below. On joystick up the player jumps in a curve.
Both fall speed and jump speed are non linear and based on tables.

This step shows:
-gravity (accelerating)
-jumping (following a delta y curve)

Most prominent...


A C64 Game - Step 6

Posted by Endurion, 20 May 2011 · 1,538 views

And onwards we go: Obviously we don't want the player to move through walls. In this step we check the chars in the players way to see if they are blocking.

To make this easier we store the character pos and the character delta pos (0 to 7) for x and y for every sprite (SPRITE_CHAR_POS_X, SPRITE_CHAR_POS_X_DELTA). If the sprite is not at a character...


A C64 game - Step 5

Posted by Endurion, 14 May 2011 · 1,417 views

Our next big step:

Obviously we want some play screen, and more obviously, we are not going to store full screens (we've got only 64Kb Ram after all). Therefore there's a level build routine that allows to build a screen with various building elements. For now we'll start out with vertical and horizontal lines. Since we always have a level...


A C64 game - Step 4

Posted by Endurion, 07 May 2011 · 1,749 views

Now we take a bigger step: Moving the sprite with the joystick. Since we want to make a real game we also allow to move the sprite over to the right side (in other words we'll take care of the extended x bit).

For clarification: The C64 has 8 hardware sprites. That's 8 objects of the size 24 x 21 pixels. They can be placed anywhere. The...


A C64 game - Step 3

Posted by Endurion, 30 April 2011 · 1,774 views

Quite similar to step 2 this time we set up sprites. Note that I used another selfmade tool (similar to SpritePad). The file J.SPR contains the sprites and is included into the source as binary. The sprites are located "under" the I/O ROM at $D000 onwards.

And another note: Since I'm lazy I built the sprite copy loop to always copy...






April 2015 »

S M T W T F S
   1234
567891011
12131415161718
19 202122232425
2627282930  
PARTNERS