Jump to content
IGNORED

Halo for the 2600 Released at CGE! Download the game here!


Albert

Recommended Posts

Not really...there was just a few jumps that I changed to unconditional branches (and reused identical STA's for a couple). Then swapped the 20-byte repositioning subroutine with a 13-byte one...and stuck it in the space saved. Took about an hour. A real wizard would have done it in a couple of minutes ;)

 

There are lots of space-saving tricks the 2600 can do...especially since the registers don't all use full byte values. PF0 data can be shared with audio data without even needing AND's between them, for example. Any MSB's listed in the program can have the upper 3 bits used for something else just by setting the origin to $1000 instead of $F000 (this is especially useful to save ram in address pointers). The low bit in color data or low nybble in fine positioning is the same...irrelevant to the console. An often-used subroutine can be changed to an interrupt with the trailing byte following the BRK used for data. Conditionally setting bits in ram can be done by resetting the stack pointer.

Link to comment
Share on other sites

Not really...there was just a few jumps that I changed to unconditional branches (and reused identical STA's for a couple). Then swapped the 20-byte repositioning subroutine with a 13-byte one...and stuck it in the space saved. Took about an hour. A real wizard would have done it in a couple of minutes ;)

 

There are lots of space-saving tricks the 2600 can do...especially since the registers don't all use full byte values. PF0 data can be shared with audio data without even needing AND's between them, for example. Any MSB's listed in the program can have the upper 3 bits used for something else just by setting the origin to $1000 instead of $F000 (this is especially useful to save ram in address pointers). The low bit in color data or low nybble in fine positioning is the same...irrelevant to the console. An often-used subroutine can be changed to an interrupt with the trailing byte following the BRK used for data. Conditionally setting bits in ram can be done by resetting the stack pointer.

Nukey, you have more than proven that you are able to do your own game from scratch. So what are you waiting for?

Link to comment
Share on other sites

Hi there,

Nukey, you have more than proven that you are able to do your own game from scratch. So what are you waiting for?

I agree with Thomas. Come on Kurt!

Thirded!

 

Fourthed. The stuff he did for the 8K Adventure alone was more original than many "original" games.

 

--Will

Link to comment
Share on other sites

[directs focus back to the topic]

 

I think the game was called the final version :ponder:

IMO it's perfect just the way that it is.

 

That said, there are 2 console switches currently not used for anything (3 of you count B&W)...and more space that can be reclaimed. Redundancy in the kernel could use a more elegant solution (as well as the reboot to the cold start addy which causes a sync glitch)...and some illegal opcodes compatable with all hardware that could be utilized to cut the program down some.

Edited by Nukey Shay
Link to comment
Share on other sites

That said, there are 2 console switches currently not used for anything (3 of you count B&W)...and more space that can be reclaimed. Redundancy in the kernel could use a more elegant solution (as well as the reboot to the cold start addy which causes a sync glitch)...and some illegal opcodes compatable with all hardware that could be utilized to cut the program down some.

Yes, without looking at the code at all, I am pretty sure you can optimize for space almost every game. 5% or more should be quite easily possible.

 

BUT! If you start doing so, were do you draw the line? You can spend a lot of time to optimize a game close to the max. I did this for my 1K mini games and it was fun. But for larger games the complexity grows fast and you can spend heaps of time and never come to an end.

 

IMO its better to know before what is really missing in a game (if any) and THEN try to find the space for it.

Link to comment
Share on other sites

Where to draw the line is when it ceases to be fun ;) Spending days to find a spare byte is no fun at all when the rom is maxed.

 

But then there are those "holy cow!" moments when you discover a trick to save a substancial amount...and then the whole thing begins again. As you said, it never ends.

  • Like 1
Link to comment
Share on other sites

Where to draw the line is when it ceases to be fun ;) Spending days to find a spare byte is no fun at all when the rom is maxed.

 

But then there are those "holy cow!" moments when you discover a trick to save a substancial amount...and then the whole thing begins again. As you said, it never ends.

 

I could definitely go back and free up more space. I'd probably use it to fix some of the half-dozen or so bugs that I know about if I did. But is that really the best way for me to spend my time? No game is perfect. I don't really want to keep making minor revisions and releases. I picked a time to be done and said the game is good enough. Unless I was going to do an 8K version with lots of new features or something, I don't think it makes sense to open it back up. Hopefully people are enjoying it as it is and I am starting to think about what, if anything, to do next.

  • Like 4
Link to comment
Share on other sites

I could definitely go back and free up more space. I'd probably use it to fix some of the half-dozen or so bugs that I know about if I did. But is that really the best way for me to spend my time? No game is perfect. I don't really want to keep making minor revisions and releases. I picked a time to be done and said the game is good enough. Unless I was going to do an 8K version with lots of new features or something, I don't think it makes sense to open it back up. Hopefully people are enjoying it as it is and I am starting to think about what, if anything, to do next.

Unless there are really major bugs, this is the only way to ever finish a game. You eventually have to call it finished or it never will.

 

Regarding the fixes, it depends. If you can live with the bugs, then ignore them. If not, try to fix them. I did the later, without making any notice.

So besides the official versions of Thrust, there are maybe half a dozen revisions out there (sorry collectors ;)).

Link to comment
Share on other sites

:thumbs up:

 

The cold start glitch is the only issue that stands out...and that is not a big problem. Many games used cold starts.

 

Not to mention, that with revisions comes the possibility that the game loses it's simplicity and appeal. I discovered that occasionally when expanding games. IMO Adventure mentioned above just became more boring as I added more to it. Fortunately, some of the ideas implemented in that abandoned project didn't completely go to waste...but became part of another game - and felt fresh as intended instead of just more junk that the player had to deal with :lol:

Link to comment
Share on other sites

Regarding the fixes, it depends. If you can live with the bugs, then ignore them. If not, try to fix them. I did the later, without making any notice.

 

I had to fix both the bug that was reported in Gunfight and the one reported in Seawolf - just as you said I couldn't live with them ;)

 

I know only 2 minor bugs in 5 games sounds incredibly low, but that's because the games were play-tested by almost everyone hanging around here before release :)

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...