Jump to content
IGNORED

K.O. Cruiser - my first homebrew


Devin

Recommended Posts

I still think you should go 32k, since you keep mentioning a lack of space. Sticking with 16k seems to be mostly academic, as it doesn't cost any more to make carts, and there's not much effort involved with adding a few more ORG/RORGs.

 

If you want to add more oomph to a sequel, you can go with RAM or a 64k scheme like X07.

 

Admit it, the kangaroo is too cool to leave out :)

Link to comment
Share on other sites

I still think you should go 32k, since you keep mentioning a lack of space. Sticking with 16k seems to be mostly academic, as it doesn't cost any more to make carts, and there's not much effort involved with adding a few more ORG/RORGs.

 

If you want to add more oomph to a sequel, you can go with RAM or a 64k scheme like X07.

 

Admit it, the kangaroo is too cool to leave out :)

 

 

I know I asked before, but would going to 32k mean that you would have enough memory to do something like separate character name screens, or other bells and whistles like that? Just wondering.

 

And I do love the kangaroo. Could it be in a hidden level or something? (i.e. knock out such-and-such opponent in Round 2, and you get to fight the Roo?)

Link to comment
Share on other sites

The Roo a very recognizable VCS sprite! Totally fun.

 

We just don't have all that many of those. Shame to lose him.

 

I'll second Batari on the 32K. Just do it. Won't take but a bit to get things sorted, then you have to make fewer trade-offs.

 

And it's not like you have to then fill the whole 32K. Just do those things you want to do, but feel constrained on.

Link to comment
Share on other sites

Wow. Plenty of posts here since I last visited!

 

Been playing your latest build RC3.

 

Kept me off the forums for quite awhile. ;)

 

 

I like the fine tuning to all the characters - the biker thug with the shades is noticably harder to ko.

I usally now last all 3 rounds with him and win by decision.

That's not a bad thing, I like the break in "putting away" others and winning by decision at times is good and challenges me to try harder next time.

 

Concerning rematches, it would be good (imo) to keep as selectable with one of the a/b switches:

A - 1 rematch per game or

B - 1 rematch per character.

 

I don't think you need a spirit bar; the health bar alone is probably best.

The color cycling of the health as the spirit status that was suggested sound interesting though!

 

Only thing missing are the flipping faces.

I know it's harder to work flipping the ball gfx together with the sprite from the technical

--but there's a way to work around that issue from a design standpoint if you're willing to consent to some new hit face designs.

 

I'd suggest keeping the ball gfx position symmetrical under the hit face sprite so you don't need to 'flip' the ball.

 

Then you need flip only the face gfx sprite in the same direction the computer boxer's body is moving whenever hit.

post-7623-1235934631.gif

In my latest hack of RC3 I've redesigned the hit faces of the character's and positioned the ball to match perfectly with the flipping face (well, the faces that are to be flipped :D ) while the ball itself remain static to good effect.

Here's the bin:

Edit: just posted last-minute to update the bin for a rather small but humiliating detail to the kangaroo's antics specially when you lose a match.

I'm sure anybody can spot it!

KO_RC3_flipface_Roo_hack_.bin

The faces I redid have a more dramatic "cartoon style take" which I feel works really well with your other facial frames, but you can employ designs other than what I have to fit the situation to your liking.

 

Here are some pics of those great moments!

post-7623-1235936070_thumb.png post-7623-1235936079_thumb.png post-7623-1235936086_thumb.png

post-7623-1235936093_thumb.png post-7623-1235936104_thumb.png post-7623-1235936110_thumb.png

 

Lastly, I hope you do find a way to keep the kangaroo.

 

I cleaned up the Roo's sprites that were exhibiting some ball gfx/color misalignments in the first hack.

I'm pleased it now looks far more refined in this one than the last.

 

I notice that a number of posts have already advocated for the Roo (thanks! :-D).

I wasn't sure how others would feel about replacing Wally B because I know an extra set of leg and chest sprites are needed to keep him.

I think it would be a good compromise to replace Wally B with the Roo if there isn't room for both.

 

Excellent progress on RC3 nonetheless!

 

P.S. Please LMK if you need any model sheets of sprite/ball images of Roo or the hit faces if you will included in the final release. :)

Edited by espire8
Link to comment
Share on other sites

I still think you should go 32k, since you keep mentioning a lack of space.

I'd love to see AtariVox voices added to this. Or rather, hear it.

 

Edit: Sorry if that's coming off as nagging. I just keep musing over the huge potential of this game - more boxers, announcer's voice, ring girls... that sort of thing. :) But the game is already excellent as it is.

Edited by Nathan Strum
Link to comment
Share on other sites

This game reads very well on a small screen handheld.

 

The sprites are all nice and tall and the color is great.

All those victory and idle standing animations really do add to the enjoyment.

 

I noted the TKO font was kinda hard to make out on a small screen, so I have a mock compare to suggest a minor doctored version.

The new "K" is 5 pixels wide so moving all the numerals 1 pixel to the right will make room for it.

I also fix the exclamation mark since it looks like a semi-colon.

 

Can you make the current on the top look like the example below it?

 

post-7623-1235956242_thumb.png

Link to comment
Share on other sites

Hey Devin,

 

1) Forget the Spirit Bar

 

2) Release what you have.

 

Being a programmer, I would say that you're at a releasable state.

 

I want to make a note-- people are asking a LOT when they say "just do 32K".

Here's my 2 thoughts:

- Writing games can lead to a certain amount of burnout. Someone says "do 32K", and they may not seem to realize that they're asking a developer who has worked for months to suddenly double his content. That's a lot more to ask for than people realize. As you've mentioned a sequel, go 16K now, and 32 on the sequel. You've got a good game. It works, and is releasable.

- Also, there's some art to getting things to cram into a certain space. 16K was what you wanted, and congrats. For Pressure Gauge, I crammed it into 4K. I didn't do 8K since there's a challenge for 4K. If someone asked me to double, I'd say "what's the fun in that? I had a game with 12 bytes left. Where's the challenge?"

 

So, stay at 16K if you wish. I think you've done wonderfully.

If you want to make a special "Kangaroo edition", you can do that too.

 

Then, work the sequel that's 32K with 6-digits score routine stuff.

 

Top notch work.

 

My apologies to the community if I have a differing opinion here, but I just want to get people thinking-- this guy has a great product, and it's ready.

Let's give him a small break, and then have him work on the exciting new sequel!

 

-John

Link to comment
Share on other sites

I'm not suggesting that Devin double his content, just not cut anything out.

 

The extra space doesn't need to be filled. When I wrote games with a particular target size, I spent more time trying to scrunch code and data than adding content, and the scrunching bordered on unpleasant while adding content is fun.

Link to comment
Share on other sites

Wow. Plenty of posts here since I last visited!

 

Been playing your latest build RC3.

 

Kept me off the forums for quite awhile. ;)

:)

 

Only thing missing are the flipping faces.

I know it's harder to work flipping the ball gfx together with the sprite from the technical

--but there's a way to work around that issue from a design standpoint if you're willing to consent to some new hit face designs.

 

I'd suggest keeping the ball gfx position symmetrical under the hit face sprite so you don't need to 'flip' the ball.

 

Then you need flip only the face gfx sprite in the same direction the computer boxer's body is moving whenever hit.

There are two challenges with the faces that I would have to overcome. During the part of the kernal where I draw the faces, I switch between updating the face and background/human every other scanline. As a result, everything gets nice square pixels. When I update the face, I change the player0 color, player0 graphics, ball color, ball enable, and ball size. When I update the line, I'm actually way over horizontal blank time - but since the computer's head is, at least, 8 pixels (4 HMOVE hidden + 4 shoulder), it all works timing-wise.

 

The trick is getting all the data ready to be updated. The timing is so close, that I use a single indexing variable that directly accesses 4 tables - all at the same time. HeadPixel,X HeadColor,X BallColor,X etc... Flipping faces would require a different ball set of instructions. I can't just flip player 0.

 

... which brings up the second issue.

 

I store all the heads, bodies, etc... into data-aligned table. Each head takes 12 bytes in each. This allows at total of 21 heads. Each player takes at least three which gives 7 heads. There isn't enough room in the buffer for 4 a piece. I could keep the ball centered, but that would require a non-aligned table and another index. I'm not sure I can spare the cycles...

 

In my latest hack of RC3 I've redesigned the hit faces of the character's and positioned the ball to match perfectly with the flipping face (well, the faces that are to be flipped :D ) while the ball itself remain static to good effect.

 

The faces I redid have a more dramatic "cartoon style take" which I feel works really well with your other facial frames, but you can employ designs other than what I have to fit the situation to your liking.

I love the designs. I'll try to draw one for Russ and Wally. If I can get this to look good, they are in!

 

You are a master hacker... and an 8-bit Picasso.

 

Lastly, I hope you do find a way to keep the kangaroo.

 

I cleaned up the Roo's sprites that were exhibiting some ball gfx/color misalignments in the first hack.

I'm pleased it now looks far more refined in this one than the last.

 

I notice that a number of posts have already advocated for the Roo (thanks! :-D).

I wasn't sure how others would feel about replacing Wally B because I know an extra set of leg and chest sprites are needed to keep him. I think it would be a good compromise to replace Wally B with the Roo if there isn't room for both.

 

I love the Roo too! However, all the characters in this version were characters in my never-completed Commodore 64 version. So, I kinda of fond of the crazy Australian!

 

But not is all lost, I plan to have a ton of sequels. In particular, K.O. Homebrew! (maybe called K.O. Atari Age). Anything goes in that release!

Link to comment
Share on other sites

This game reads very well on a small screen handheld.

You played it on a handheld? I'm frightened.. very frightened! :)

 

The sprites are all nice and tall and the color is great.

All those victory and idle standing animations really do add to the enjoyment.

 

I noted the TKO font was kinda hard to make out on a small screen, so I have a mock compare to suggest a minor doctored version.

The new "K" is 5 pixels wide so moving all the numerals 1 pixel to the right will make room for it.

I also fix the exclamation mark since it looks like a semi-colon.

 

Can you make the current on the top look like the example below it?

Looks good. Here's a version I created based on your suggestion. Good?

post-17256-1235978098.png

Link to comment
Share on other sites

Let's give him a small break, and then have him work on the exciting new sequel!

I will go 32k in the next version.

 

The trick is the graphics, The kernal code plus the boxer sprites almost fills the 4k bank. I might have to create different banks that contain different sets of boxers... ugh. That looks painful!

Edited by Devin
Link to comment
Share on other sites

The kernal code plus the boxer sprites almost fills the 4k bank.

The Kernel in Medieval Mayhem lives in multiple banks - the Top Castles are in 1 bank, the Dragon Kernel is in 3 banks due to the graphics, while the Bottom Castles (and scores) are in yet another bank.

Link to comment
Share on other sites

Only thing missing are the flipping faces.

I know it's harder to work flipping the ball gfx together with the sprite from the technical

--but there's a way to work around that issue from a design standpoint if you're willing to consent to some new hit face designs.

 

I'd suggest keeping the ball gfx position symmetrical under the hit face sprite so you don't need to 'flip' the ball.

 

Then you need flip only the face gfx sprite in the same direction the computer boxer's body is moving whenever hit.

Actually, let me give some more thought to this....

Link to comment
Share on other sites

Let's give him a small break, and then have him work on the exciting new sequel!

I will go 32k in the next version.

 

The trick is the graphics, The kernal code plus the boxer sprites almost fills the 4k bank. I might have to create different banks that contain different sets of boxers... ugh. That looks painful!

Just create a verbatim copy of the kernel code in another bank, and use different sprite data in that bank.

 

You could even create a redundant copy of the entire game in the other 16k, and just change a few things around.

Link to comment
Share on other sites

Would customers have higher expectations for a 32k cart? Especially those who are not following this thread?

I don't think so.

 

I will admit that 32k can seem vast. There is plenty of wasted space in the Minigame Multicart, for instance. The 8 games only use 11k of space. We could have made it 16k easily by using 5k for the menu. Instead we went 32k so we could put in some fluff. We used 12k for just the menu, and 9k of space is unused. I don't feel guilty about that.

Link to comment
Share on other sites

I can determine the ball's reverse motion based on this formula:

 

XReverse = Widthprevious - Widthcurrent - Xnormal

 

Unfortunately, I don't have the clock-cycles available to compute this.

Edited by Devin
Link to comment
Share on other sites

Hey Devin, sorry I couldn't reply sooner.

 

Glad you explained the situation concerning the face flipping.

I've not know about the constraints before but I can now understand it's not as simple a trick to pull off.

 

Keeping my fingers crossed while you're still giving it some thought.

 

I'm thrilled you like the new faces.

I haven't done Russ and Wally because of the Roo that was in place, but since the original cast will stay I'll whip up the last two faces shortly -compatable for flipping of course. ;)

 

I can understand your attachment to your original characters and you should do what makes you happy of course.

I like all your characters too!

It's probably better, if you should decide, to go 32k to include more characters as with Roo, but I don't mind the game as it is now at 16k. It's really up to you.

 

I also love the idea of OK Homebrew!

 

 

I will see how the new TKO font looks on my sega nomad.

I use the A/V input to preview what any 2600 game can look like on a handheld display.

 

 

Btw-- I discovered a special finishing move in the first match when I counter-punched the nerd's special while he was one hit away from a knock down and my left hook sent him flying to the ropes like a sling-shot before he hit the mat!

 

That was exhilarating!

 

But this same finisher never happens to any of the other boxers.

 

Is there a different manner to perform a finisher to the others or was it only for the first character?

 

You ought to make possible that same finisher to be performed on all the characters, it's dynamite!

Link to comment
Share on other sites

Okay, here's a hack with the new hit faces in place for Russ and Wally B and rest of the crew.

Also, redid TKO font, and I experimented a little more the player boxer sprites.

No kangaroo in this hack though.

KO_RC3_RussWallyB_hitFaces.bin

I like your designs and wanted to see how I can build from them, hope that's okay with you.

I provided pics of all the changes so you can view every detail in deciding what you can and can't use.

post-7623-1236128247_thumb.pngpost-7623-1236128267_thumb.png

 

Some last-minute feedback after much playing:

-I found I was having problems differentiating the player's blocking frame from the normal stand when blocking toe to toe. This is especially true on a small screen.

It reads a lot better when I have the player's feet planted farther apart and can then clearly tell when the block is broken by the opponent.

This is an important visual cue you need to keep.

I also made a few minor changes to the normal standing frame by slightly lowering one arm to avoid symmetry and thus improve the walk animation.

post-7623-1236120020_thumb.pngpost-7623-1236127398_thumb.png

Same deal with the player's hit frame. The visual cue is hard to see being within the frame of the other boxer.

It reads better after I made a slightly larger head and sweat flying farther out so I can really tell now when I'm hit!

I corrected the fore-shortening of the knock-down frame because it was a little too tall.

post-7623-1236120051_thumb.pngpost-7623-1236120034_thumb.png

In the punch frame I retracted his right arm back a notch and right foot a little more up so he looks to step into his swing.

In the victory frame I dropped his head a notch into his shoulders so his gloves are better defined in the air.

post-7623-1236120061_thumb.pngpost-7623-1236122279_thumb.png

I added socks to all the frames too. :D

 

Now my thoughts on the several comments made concerning the suggested 32k build.

I want to make a note-- people are asking a LOT when they say "just do 32K".

Here's my 2 thoughts:

- Writing games can lead to a certain amount of burnout.

Well that depends on the "sprit" of the individual. ;)

- Also, there's some art to getting things to cram into a certain space.

If someone asked me to double, I'd say "what's the fun in that? Where's the challenge?"

It's not a matter to double but to keep from compromising some desirable content because of lack of space which is more to the point here.

So, stay at 16K if you wish. I think you've done wonderfully.

If you want to make a special "Kangaroo edition", you can do that too.

Hmm.. :ponder: that begs the question: Which edition would sell more?

Just create a verbatim copy of the kernel code in another bank, and use different sprite data in that bank.

 

You could even create a redundant copy of the entire game in the other 16k, and just change a few things around.

Good idea! That to me sound like the best route to go.

Would customers have higher expectations for a 32k cart? Especially those who are not following this thread?

I don't think so.

 

I will admit that 32k can seem vast. There is plenty of wasted space in the Minigame Multicart, for instance. The 8 games only use 11k of space. We could have made it 16k easily by using 5k for the menu. Instead we went 32k so we could put in some fluff. We used 12k for just the menu, and 9k of space is unused. I don't feel guilty about that.

I agree.

 

There's nothing wrong with moving this game up to 32k for the very reasons batari points out:

- To make room for some desirable content that otherwise can't fit.

- Not much effort involved to expand to 32k.

- No real difference in production and memory costs.

- Extra space don't need to be completely filled.

 

I guess some programmers concider the challenge of scrunching code and data as a fun thing just for themselves and/or as a way of building esteem among their associates based on how much one can do with the least amount of space. Nothing wrong with that.

 

Grant it, It's great for programmers to be able to do that sort of thing to sharpen their programming skills while adding content when given only so much space to work with -but space is now so cheaply affordable and abundant -I see no real reason to cut any desirable fluff out for lack of space.

 

As far as customer expectations for a 32k cart, --if the memory costs were passed on to the customers, yeah, there would be expectation to a degree.

But that's not an issue now-a-days because, as was mentioned, space is cheap!

 

I think it depends mostly on how enjoyable and entertaining the content is rather than how well it fills up the alloted space.

 

Believe me, the average gamer won't look under the hood and criticize any wasted space if it already looks and plays unlike anything that's already been done on a 2600.

 

If it's cheap enough to use, easy enough to implement (and there are good people around here who can help you with that if nessasary I'm sure) and results in affording to keep the extra content instead of cutting it out, --what's there to feel guilty about?

A satisfactory end product is what matters most imo. Why settle for less?

 

I for one am willing to wait for a final product with the added content using 32k at practicaly the same cost.

But whatever you do decide at this point is jake with me! :)

Edited by espire8
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...