🎉 Celebrating 25 Years of GameDev.net! 🎉
Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!
![A C64 Game - Step 71](https://uploads.gamedev.net/uploads/blogs/monthly_10_2012/blogentry-27795-0-46391800-1349504284.png)
Now a little polish for Sams dark powers, they were a tad too dark to see
Realistic colors are one thing, but if it hampers the gameplay they have to go. So dark powers are now white.
And animated.
Core routine is this, it redraws every char of the beam with one of four random characters:
;redraw fo…
![A C64 Game - Step 70](https://uploads.gamedev.net/uploads/blogs/monthly_09_2012/blogentry-27795-0-29519500-1348897702.png)
And a new boss. Quite similar to the first actually, but supposed to be a bit more aggressive.
This boss needed a bit of refactoring since a few code parts were reusable from the first boss. First up, the find one player to hunt:
;looks for player ;x = own object index ;returns player index in y !zo…
![A C64 Game - Step 67](https://uploads.gamedev.net/uploads/blogs/monthly_09_2012/blogentry-27795-0-27938400-1347083495.png)
And per popular request now we also have a Game Over sequence. We add the missing letters and add a short loop displaying and animating the sprites.
At the beginning of CheckForHighscore (which is called on game over) we add a short loop. This snippet calls a sub routine to set up the sprites and t…
![A C64 Game - Step 64](https://uploads.gamedev.net/uploads/blogs/monthly_08_2012/blogentry-27795-0-73171500-1345268967.png)
Bug fixing!
Note how the sprites would flicker about before/after Get Ready?
Fixed. Also, Sam got borked again, esp. during a boss fight. Now that's also fixed.
First part is pretty easy, we disable the screen during build up of the level. Fortunately the VIC allows exactly this. So we add
to disab…
![A C64 Game - Step 63](https://uploads.gamedev.net/uploads/blogs/monthly_08_2012/blogentry-27795-0-75481500-1344662255.png)
Ever noticed how the music gets stuck when the next stage is built? Especially notable if you use '1' to skip through stages.
That's amended in this step. It boils down to having a raster interrupt which calls the music player.
In the current version the music player routine was called in the game …
![A C64 Game - Step 62](https://uploads.gamedev.net/uploads/blogs/monthly_08_2012/blogentry-27795-0-27615400-1344106480.png)
Time to get rid of the old ugly Get Ready display. And put up a new ugly one.
The changes are pretty easy, we modify our DisplayGetReady routine to display the sprites now (and store the old sprite settings):
;------------------------------------------------------------ ;displays get ready ;--------…
![A C64 Game - Step 61](https://uploads.gamedev.net/uploads/blogs/monthly_07_2012/blogentry-27795-0-56684200-1343456054.png)
And a little gimmick: Did you notice the black sewage in some of the later stages? Now it affects everything that's inside, as it's slowing down enemies and the players.
The change is surprisingly simple. We have a function named ObjectControl, which is called every frame to update all objects. We …
![A C64 Game - Step 60](https://uploads.gamedev.net/uploads/blogs/monthly_07_2012/blogentry-27795-0-06918600-1342871999.png)
And here's boss #3. Good luck!
A note to the latter code additions: If you wonder about the +(+) and -(-) labels, they are relative labels. They basically work like this: If a jmp or other reference is encountered, the compiler looks forward (+) or backward(-) for the first matching location. The +…
![C64 Interlude - Emulator Handling](https://uploads.gamedev.net/profile/photo-thumb-27795.gif)
A little history le…
![A C64 Game - Step 57](https://uploads.gamedev.net/uploads/blogs/monthly_06_2012/blogentry-27795-0-91829100-1340440392.png)
This is a technically more sophisticated step. We'll add the possibility of a borderless level, and also a second charset.
Especially the latter requires a thorough planning of where to put things in memory. Remember, the VIC (the C64s graphic chip) can only see a 16K range at once. This means, all…
![A C64 Game - Step 56](https://uploads.gamedev.net/uploads/blogs/monthly_06_2012/blogentry-27795-0-03342600-1339826524.png)
And here's the next boss. A striking similarity to the first boss, and yet a little bit different.
The main behaviour of this boss is the same as the previous, only the beam is diagonal this time.
Making a diagonal beam is somewhat more difficult, as you need to check for both playfield borders. Th…
![A C64 Game - Step 55](https://uploads.gamedev.net/uploads/blogs/monthly_06_2012/blogentry-27795-0-55897900-1339221761.png)
Yet another step without much details. The next 10 stages await you.
If you want to check them out, don't forget, that you can press '1' to advance to the next stage.
Since this step is somewhat short, find the level editor I'm using attached as well. Open the file "Supernatural.elementeditorprojec…
![A C64 Game - Step 54](https://uploads.gamedev.net/uploads/blogs/monthly_06_2012/blogentry-27795-0-45550700-1338615480.png)
A direly needed step, bug fixing. Usually if I encounter a bug and for whatever reason can't fix it right away I'll note it down (it's just too easy to forget). This step fixes:
Spawn count bug fixed (a stage would not be detected as done)
Major slowdown when playing with Sam (bad bad bug)
Car spr…
![A C64 Game - Step 53](https://uploads.gamedev.net/uploads/blogs/monthly_05_2012/blogentry-27795-0-75918000-1338012661.png)
Here comes our first boss. Nothing too difficult, but different. Let's see what this works out to
The boss moves quite similar to the ghost however he's got a special attack. If nothing else happens the boss is homing in on you. If you shoot him two times he goes into attack mode (and you better s…
![A C64 Game - Step 52](https://uploads.gamedev.net/uploads/blogs/monthly_05_2012/blogentry-27795-0-82977900-1337404298.png)
To make spawning enemies a bit more player friendly spawns are now shown before the enemy actually appears.
The way to implement this is quite simple. We've got a neat object system running already, so we make the spawn animation just another type.
Once the spawn life time is up the object is repla…
![A C64 Game - Step 50](https://uploads.gamedev.net/uploads/blogs/monthly_04_2012/blogentry-27795-0-31981200-1334386519.png)
In this step the powerups for range increase and decrease reload delay are made permanent. They won't fade with time.
You can also collect up to five extras to reach the maximum. And the powerup stays even when you get killed. (Don't you hate it when you die in Bubble Bobble and you're slow again).…
![A C64 Game - Step 49](https://uploads.gamedev.net/uploads/blogs/monthly_04_2012/blogentry-27795-0-29779400-1333777721.png)
Bug fixing time. Don't ever let the bug count get out of hand.
Most enemies wouldn't have a proper hit back effect. Also, some sprites are moving inside the floor visually. We'll fix that in this step.
Hit back works the same for all enemies, so let's make it a new sub routine. The routine is to be…
![A C64 Game - Step 48](https://uploads.gamedev.net/uploads/blogs/monthly_03_2012/blogentry-27795-0-68922000-1333174141.png)
This update doesn't really add anything mentionable code wise, however there's a full chapter of 10 stages.
Have fun!
step48.zip
Previous Step Next Step
![A C64 Game - Step 47](https://uploads.gamedev.net/uploads/blogs/monthly_03_2012/blogentry-27795-0-75948500-1332570774.png)
Poor Sam got nerfed. Now his force range starts out really low (about 5 characters), but can be improved by picking the proper extra. And finally cheat keys appear. Press 1 to advance to the next stage.
We modify the existing SamUseForce routine to check for a max range (stored in PLAYER_FORCE_RANG…
![A C64 Game - Step 46](https://uploads.gamedev.net/uploads/blogs/monthly_03_2012/blogentry-27795-0-53725200-1331968074.png)
This time we'll add a chapter intro. The game is supposed to be separated in themed chapters with an intro for each. There's nothing much to it, we'll display a short text while the boys drive to their new target.
For now we simply show the first page after starting the game:
lda #0 …
![A C64 Game - Step 45](https://uploads.gamedev.net/uploads/blogs/monthly_03_2012/blogentry-27795-0-85755300-1331361568.png)
In this version nothing much is added to the code. However an external level editor was added (Windows executable) which helps a lot in churning out pretty levels faster.
Most prominent addition are level elements. Before the level was built mostly of simple primitives (line of an character, etc.).…