Jump to content

Photo

Charge! (first BIN)


34 replies to this topic

#1 jrok OFFLINE  

jrok

    Stargunner

  • 1,155 posts

Posted Thu Jun 25, 2009 11:20 AM

I decided to post some progress on a new game I'm working on. But instead of posting a bin, I thought I'd just describe the game's progress, and throw out some screencaps I cobbled together from the current build. I really only want to post a near-final release candidate for this project, since in the past I've started working on things only to have my interest fizzle out during development.

EDT: WIP binary attached :)

The game is called "Charge!" It's working out to be a weird hybrid of Defender, Phoenix and Joust (which, not incedentally, are three of my favorite arcade games.) The action takes place on a medieval battlefield. You control a knight defending your castles from invading armies. The game progresses as a series of Waves, varying the number, type and difficulty of enemies spawned with each new Wave.

The Knight is equipped with a Lance and a Bow. The Lance is automatically deployed when the knight's horse reaches a certain speed, giving him the ability to kill enemy knights and soldiers on the ground. The Bow fires magical Arrows skyward at dragons and other aerial enemies.

A Defender-style radar readout (directly above the score) gives the player information about what is happening off-screen. Each of the surviving castles appears as a light green dot (flickered Ball). The player's position is marked by a single white pixel(missile0), while the invading enemies are represented by other pixels (flickered missile1). An additional play option allows players to track how far away certain offscreen enemies are by displaying a number in the extreme right and left of the screen (PF0).

Play begins with four castles to defend and three knights (lives). Some enemies will focus on destroying your castles, while others will target your knight directly. Play ends when either all your knights are killed or all your castles are destroyed. Additional knights and castles can be earned during play.

I've been developing the game with batari's multisprite kernel, which is simply awesome. Thanks again to Mr. Quimby (and to Mr. Wierer, for his fantastic VisbB IDE).

Here's a couple of pics, showing the system of relative world movement. I'll try to keep posting updates whenever I have new things to show or explain. Cheers!

Attached File  Charge_rev1.bin   16KB   243 downloads

progress_1.jpg progress_2.jpg [attachment=
132875:progress_3.jpg]

Attached Thumbnails

  • progress_3.jpg

Edited by jrok, Wed Jul 15, 2009 3:15 PM.


#2 yuppicide OFFLINE  

yuppicide

    I am the Black Knight. Give me your money!

  • 6,933 posts
  • Location:New Jersey

Posted Thu Jun 25, 2009 11:26 AM

Those screen shots look absolutely amazing!

#3 Byte Knight OFFLINE  

Byte Knight

    Stargunner

  • 1,022 posts
  • Robinett Rules!
  • Location:Waconia, MN

Posted Thu Jun 25, 2009 11:51 AM

Wow! You did all of that with batari Basic? Quite impressive...

#4 Richi_S OFFLINE  

Richi_S

    Star Raider

  • 55 posts
  • Location:Germany - Munich

Posted Thu Jun 25, 2009 1:57 PM

I'm amazed, and really looking foreward to see the final game!

#5 jrok OFFLINE  

jrok

    Stargunner

  • Topic Starter
  • 1,155 posts

Posted Thu Jun 25, 2009 3:34 PM

Wow! You did all of that with batari Basic? Quite impressive...


Thanks! Yeah, the multisprite kernel is pretty incredible, so all credit to batari. I'm learning about how it is constructed as I go so I can hopefully make some minor modifications for the final build. I'm also toying with the idea of going up to superchip, since I am throttling every last bit. It's tempting, but I really want to try to squeeze this into a standard 8K cart.

#6 gambler172 OFFLINE  

gambler172

    River Patroller

  • 3,082 posts
  • none
  • Location:germany

Posted Fri Jun 26, 2009 1:34 PM

Hi Jrok
Look great.....where is a bin???? ;)
greetings Walter

#7 jrok OFFLINE  

jrok

    Stargunner

  • Topic Starter
  • 1,155 posts

Posted Mon Jun 29, 2009 12:59 PM

I've made some decent progress over the past week. Thanks to batari's help, I am now coloring the background rows. This helps in the sense that with a slightly larger viewable battlefield, the player will have a bit more time to react before he is steamrolled by a dragon or a knight careening in from one side of the screen. Also, I no longer have to flicker PF0 between 0 and 255 to acheive a (modestly) different colored border. Given these new circumstances, I've been rethinking the whole idea of using the number counters to show how far away an enemy is, since that was partly a cludge for the narrow screen and partly for debug purposes.

The dragons themselves are finally getting to behave the way I want: bobbing, swooping and breathing flaming death all over everything. When the player kills one, a new dragon spawns in a random position after a short period, wreaking havoc on any castles nearby. There are still a few details that need to be hammered out (having them "wrap" the world edges has caused a lot of headaches, for one thing) but in general I feel like I'm ready to focus on difficulty leveling. I've learned a lot about how to squeeze as much use out of the temp variables as possible. They are real handy for sequentially setting a series of properties before a drawscreen. In one case, I'm using temp6 as a data pointer that sets the horizontal speed, color, and number/size of the dragons in any given level. I used to waste a ton of variables to keep track of that sort of thing. Neat stuff!

Here's a new screenshot:
progress_4.jpg

Edited by jrok, Mon Jun 29, 2009 3:34 PM.


#8 jrok OFFLINE  

jrok

    Stargunner

  • Topic Starter
  • 1,155 posts

Posted Mon Jul 6, 2009 9:36 AM

I'm very close to a good beta version here. The game is definitely playable in its current form, but I think it still needs some fine-tuning.

What's new:
  • I've stolen four addresses from the multisprite map (the Y values of the missiles and the ball and "statusbarlength") to create health counters for each of the four player castles. Even though the core game is finished, I still need to find 3-4 more variables to steal so I can create more data pointers for the dragons and knights. Even one or two would give me a lot more flexibility in making the enemies get more difficult over time.
  • The castles change color as they recieve dragonfire damage, and turn to rubble once they've lost all their "health." When all four are destroyed, the game ends immediately. Considering changing this to a "sudden death" scenario, where the game ends if all four castles are gone and the current knight is killed.
  • Decided to omit the 6lives_statusbar minikernel to conserve cycles. Substituted it with the pfscore constant, with the three left pixels represented the number of lives left and the right pixel bar representing the health of the current knight in play. Doesn't look as pretty, but it does the job.
  • The dragons' routines are now split across two frames. Frame 1 sets the dragon horizontal path and chooses whether to attack, and Frame 2 sets the vertical attack depth and runs the firebreathing routine.
  • In the firebreathing routine, each new stream of flame is progressively rendered and erased using the player0pointers. This means I need to flicker the player's knight sprite, but only when the dragon is on screen and breathing fire. But the flicker isn't too bad, and I think I can reduce it even further if I can figure out how to set the player pointers for the virtual sprites, and use an unused player to add color back to the knight sprite.
  • The "jousting" logic is about 50% done. Currently, four enemy knights roam the battlefield, separated by zones that they personally guard. Collisions test for how close the player's Y is to the enemy's Y, with closer margins killing the enemy knight and wider ones wounding/killing the player. The knights still need to be a little smarter though, and I need to add a speed differential test to encourage the player to be moving fast as often as possible.
  • Added a Title screen and a Game Over screen.

New Z26 Screenshots:

Player Hunts Distant Enemies
progress_5.jpg

Enemy Knight Running Away
progress_6.jpg

Enemy Knight Kills Player
progress_7.jpg

Dragon Burns Down Castle (after Killing Player)
progress_8.jpg

Edited by jrok, Mon Jul 6, 2009 11:50 AM.


#9 yuppicide OFFLINE  

yuppicide

    I am the Black Knight. Give me your money!

  • 6,933 posts
  • Location:New Jersey

Posted Mon Jul 6, 2009 1:33 PM

That looks freakin sweet! I think it looks like a sequel to "Battlezone" set in Medieval times!

#10 jrok OFFLINE  

jrok

    Stargunner

  • Topic Starter
  • 1,155 posts

Posted Tue Jul 7, 2009 8:08 PM

Okay, I've attached a build. She's still plenty buggy, but she's playable. I've crippled a few gameplay elements until I've had a chance to fine tune them.

Archived versions
Attached File  Charge_1.bin   16KB   228 downloads
Attached File  Charge_2.bin   16KB   168 downloads

Latest version
Attached File  Charge.bin   16KB   157 downloads

Edited by jrok, Wed Jul 8, 2009 2:56 PM.


#11 atari2600land OFFLINE  

atari2600land

    Waffles:

  • 10,764 posts
  • Man's best invention. Ever.
  • Location:Salem, Oregon

Posted Tue Jul 7, 2009 9:04 PM

This is one of the best things I've seen on bB yet. How on earth did you do the Defender-style object map near the score? This kind of looks like your Knight Rider thing you did a while back (i.e. the horse and rider in particular.) Did you use some code from it?

#12 yuppicide OFFLINE  

yuppicide

    I am the Black Knight. Give me your money!

  • 6,933 posts
  • Location:New Jersey

Posted Tue Jul 7, 2009 9:09 PM

Hands down I think it's the best bB game I've seen so far!

I'll admit I suck at it and don't totally know what to do, but the elements are freakin sweet.

I love how you hold left and let go.. he'll keep running for a bit and then stop. The mini map thing is awesome. No clue how you did that. Custom ASM?

Not sure what that bird is on top that keeps shooting at me.

#13 jrok OFFLINE  

jrok

    Stargunner

  • Topic Starter
  • 1,155 posts

Posted Tue Jul 7, 2009 9:13 PM

This is one of the best things I've seen on bB yet. How on earth did you do the Defender-style object map near the score? This kind of looks like your Knight Rider thing you did a while back (i.e. the horse and rider in particular.) Did you use some code from it?


Thanks! I just reused the spriteset for the knight. Everything else is from scratch.

The object map is still a work in progress. It's composed of alternating balls (the castles), missile0 (the player's knight) and missile1 (the dragon). If I went up to superchip I could probably do a lot more with it, but if I did that I could probably do a lot more with everything I guess.

Edited by jrok, Tue Jul 7, 2009 9:14 PM.


#14 jrok OFFLINE  

jrok

    Stargunner

  • Topic Starter
  • 1,155 posts

Posted Tue Jul 7, 2009 9:20 PM

Hands down I think it's the best bB game I've seen so far!

I'll admit I suck at it and don't totally know what to do, but the elements are freakin sweet.


Thanks man. I suck at it too, heh. I purposely made this version a little mean-spirited while I'm still fiddling with the AI and difficulty progression.

The mini map thing is awesome. No clue how you did that. Custom ASM?


No, that's all bB. There's no inline asm in this at the moment. I'm using the ball and the missiles to make it.

Not sure what that bird is on top that keeps shooting at me.


That's a dragon man! Come on and use your imagination :)

But seriously, the design of that sprite may change before the game is done. I'm experimenting with a 16px sprite that looks a bit more like a dragon... it'll flicker but it might look better.

Edited by jrok, Tue Jul 7, 2009 9:20 PM.


#15 bongomeno OFFLINE  

bongomeno

    Chopper Commander

  • 151 posts
  • BASIC, Pascal, C, C++, PHP, Javascript, Assembly
  • Location:Some planet in another universe. The one next to yours...

Posted Tue Jul 7, 2009 9:23 PM

wow..... this was done in bB! lol sweet.

#16 jrok OFFLINE  

jrok

    Stargunner

  • Topic Starter
  • 1,155 posts

Posted Tue Jul 7, 2009 9:33 PM

wow..... this was done in bB! lol sweet.


Thanks! Quick question for you (or anybody else): Are you playing this in Stella? If so, do you hear the sounds? For some reason, I'm only hearing sound in Z26.

#17 sandmountainslim OFFLINE  

sandmountainslim

    Vicar of Fonz

  • 5,669 posts
  • Climber 5 Champion since Jan 2005
  • Location:Between Macon and Muscle Shoals

Posted Tue Jul 7, 2009 9:56 PM

wow..... this was done in bB! lol sweet.


Thanks! Quick question for you (or anybody else): Are you playing this in Stella? If so, do you hear the sounds? For some reason, I'm only hearing sound in Z26.



I am playing it with Stella and hearing the sounds fine. I can't figure out what to do in the game though other than ride at full pace and lob grenades at birds :) Am I doing it right? GREAT looking game!
Wp

#18 jrok OFFLINE  

jrok

    Stargunner

  • Topic Starter
  • 1,155 posts

Posted Tue Jul 7, 2009 10:05 PM

wow..... this was done in bB! lol sweet.


Thanks! Quick question for you (or anybody else): Are you playing this in Stella? If so, do you hear the sounds? For some reason, I'm only hearing sound in Z26.



I am playing it with Stella and hearing the sounds fine. I can't figure out what to do in the game though other than ride at full pace and lob grenades at birds :) Am I doing it right? GREAT looking game!
Wp


Thanks, slim! Hahah yeah, that sounds about right. If you can ride under a dragon's fire column and time a shot just right, you can even avoid getting damaged. You also have to stop those dragons/birds from burning down all your castles with their firebreath/flaming-bird-poop.

#19 jrok OFFLINE  

jrok

    Stargunner

  • Topic Starter
  • 1,155 posts

Posted Wed Jul 8, 2009 7:46 AM

I worked on a couple of bugs and lightened up the difficulty a little in this version. I'm curious if anyone makes it to the first "boss."

A few notes:
  • To kill knights, try aiming a little above their Y position (the actual jousting logic has been disabled for now)
  • Try to kill dragons before they can reach a castle.
  • In later waves, some dragons must be hit more than once to kill.

Any suggestions are welcome.

Archived Version:
Attached File  Charge.bin   16KB   192 downloads

Latest Version:
Attached File  Charge_rev1.zip   5.93KB   197 downloads

Attached Thumbnails

  • progress_6.jpg
  • progress_5.jpg
  • progress_9.jpg

Edited by jrok, Sat Jul 11, 2009 10:38 AM.


#20 yuppicide OFFLINE  

yuppicide

    I am the Black Knight. Give me your money!

  • 6,933 posts
  • Location:New Jersey

Posted Wed Jul 8, 2009 11:53 AM

I !!was!! using my imagination. Originally I thought it was some sort of space ship about to beam me up!

Not sure what that bird is on top that keeps shooting at me.


That's a dragon man! Come on and use your imagination :)

But seriously, the design of that sprite may change before the game is done. I'm experimenting with a 16px sprite that looks a bit more like a dragon... it'll flicker but it might look better.



#21 yuppicide OFFLINE  

yuppicide

    I am the Black Knight. Give me your money!

  • 6,933 posts
  • Location:New Jersey

Posted Wed Jul 8, 2009 11:57 AM

I play in Stella and I hear sounds just fine.

If you complete this game I think this is the ONE game everyone will look at and THINK it's done in pure ASM.

#22 jrok OFFLINE  

jrok

    Stargunner

  • Topic Starter
  • 1,155 posts

Posted Wed Jul 8, 2009 12:22 PM

I play in Stella and I hear sounds just fine.


I guess its something on my end, then :?

#23 yuppicide OFFLINE  

yuppicide

    I am the Black Knight. Give me your money!

  • 6,933 posts
  • Location:New Jersey

Posted Wed Jul 8, 2009 2:07 PM

My advice is that when you're done you have a high res title screen done up in ASM. Then nobody for sure will know this is done in bB. Or maybe you're craftier than me and can do something tricky in bB.

#24 jrok OFFLINE  

jrok

    Stargunner

  • Topic Starter
  • 1,155 posts

Posted Wed Jul 8, 2009 2:27 PM

My advice is that when you're done you have a high res title screen done up in ASM. Then nobody for sure will know this is done in bB. Or maybe you're craftier than me and can do something tricky in bB.


Thanks, but I wouldn't want to hide the fact that this was made with batariBasic. I mean, at the very least batari deserves credit for making 2600 programming so accessible and fun for guys like us, you know? If I ever completed and sold this, I'd put "bB" on the box.

#25 atari2600land OFFLINE  

atari2600land

    Waffles:

  • 10,764 posts
  • Man's best invention. Ever.
  • Location:Salem, Oregon

Posted Wed Jul 8, 2009 2:34 PM

Your 8 is a little messed-up, you might want to fix it.

Attached Thumbnails

  • 8.png





0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users