Jump to content
IGNORED

Juno First - Final Version (Atari 2600)


cd-w

Recommended Posts

You've done a marvellous job so far. This final phase is always the hardest part, but it can make all the difference. Keep up the amazing work and thanks for finally finishing this masterpiece! :thumbsup:

Yes, I always get worried when homebrews are almost done because I know that:

a) The developer is burnt out and wants it done, so he's always on the edge of proclaiming a code freeze for release version, whether or not people are still asking for tweaks.

and

b) The changes that determine whether it will go down in the annals as a good game or a great game are all made during this time.

 

OK you have convinced me - I will spend a bit more time tweaking the game to perfection :lol:

I am moving house next month, so I was trying to wrap the game up before then, but I will keep making tweaks at the cost of a possibly delayed release.

 

Chris

Link to comment
Share on other sites

I guess the AVox/SaveKey emulation in Stella will turn out useful after all :D

 

Yes it's going to be very useful for testing this kind of thing. It would be great to have a linux version that I could use :)

I'm finishing up the new RIOT/IO tab for the debugger now, and will be ready for a new release after that. So very soon, I think.

Link to comment
Share on other sites

Someone once quoted that he gets 90% of the game done in the first 20% of the time, and the last 10% (the tweaking, changing, bug fixing etc) takes up the remainder!

 

Now I know I haven't commented a lot since the start but that's partly cos other people have pre-emptively posted spotting things that I have. As every revision comes along I am more and more impressed with it. I really need to play more on real hardware though, so I'll see if I can try that again tonight, it's been mostly emulation so far.

 

I too have v1 AtariVox without the case connected via joystick lead, should I try mine or should I wait for any potential bug fixing with it for v6 of the ROM?

Link to comment
Share on other sites

Someone once quoted that he gets 90% of the game done in the first 20% of the time, and the last 10% (the tweaking, changing, bug fixing etc) takes up the remainder!

 

Yes - I feel like I wrote the core game in a week and have been tuning for last 2 years!

 

I too have v1 AtariVox without the case connected via joystick lead, should I try mine or should I wait for any potential bug fixing with it for v6 of the ROM?

 

It will work with your AVox, but you will get a corrupt score table the first time that you play. This can be wiped by holding right and fire on the joystick during the scrolling AA logo. This corruption problem should be fixed in the next release, but you can try it out now if you want to hear the speech.

 

Chrs

Link to comment
Share on other sites

:!: I believe, based on some testing, that the AVox is initialized to all $FF. You definitely have to do at least a little checking to make sure the scores are valid. I went overboard with Go Fish! and used the high score table values to generate a checksum which was also saved to the AVox; if they didn't match then I knew the values weren't correct. That's probably a little much, though - with Elevators Amiss I just checked that the saved AVox scores were valid BCD numbers, which seems to work fine.

Edited by vdub_bobby
Link to comment
Share on other sites

:!: I believe, based on some testing, that the AVox is initialized to all $FF. You definitely have to do at least a little checking to make sure the scores are valid. I went overboard with Go Fish! and used the high score table values to generate a checksum which was also saved to the AVox; if they didn't match then I knew the values weren't correct. That's probably a little much, though - with Elevators Amiss I just checked that the saved AVox scores were valid BCD numbers, which seems to work fine.

 

Thanks for the suggestion. I do actually have a checksum in my code, but it is just an EOR of all the values and is easy to defeat. BCD checking is a good idea, and I will probably do this instead in the next version.

 

Chris

Link to comment
Share on other sites

- ship animation: my vote's also for the more authentic original version.

The only thing I noticed watching the

video, is that the cockpit of the ship seems to flash. Maybe that could be emulated to provide for some extra animation? Just an observation.
You're right.

I didn't notice that until I looked at the link. It's been so long since I last remembered the arcade.

 

Maybe that's what it needed. I knew there was something missing - the color flash do give it some animation.

 

One more vain attempt - same ship (Nathan's design) w/ color flashing cocpit.

post-7623-1210868305.gif

 

Only problem is this does require 3 frame color table and there's only 2 right now.

I don't know if there's possibly any room left for this or if it's worth it at all to other players.

 

It's a minor detail and may be alot of trouble to include now, but it would be sweet to have.

 

I am moving house next month, so I was trying to wrap the game up before then, but I will keep making tweaks at the cost of a possibly delayed release.

 

Chris

I'm willing to wait as long as it's definately being released (this year ;) ) with all the polish it deserves!
Link to comment
Share on other sites

First comments:

 

1. Can you skip the then meaningless Top 10 entries from the Hiscore page when you detect no Vox/Key? Maybe just move the bottom lines more up into the middle of the screen.

 

2. I'd remove the "--" from the bottom entries. Just leave the leftmost column blank for those.

 

3. The fuel warning should come somewhat earlier to be really helpfull. Maybe make it twice as long.

Link to comment
Share on other sites

OK you have convinced me - I will spend a bit more time tweaking the game to perfection :lol:

I am moving house next month, so I was trying to wrap the game up before then, but I will keep making tweaks at the cost of a possibly delayed release.

 

Trust me, when the game is done, it will be pretty obvious. The requests will either taper off, be patently impossible to implement, or just not that important to the end result. What tends to happen is that developers assume that there isn't any more free space and so they classify certain doable requests as not possible when they really are. That's the point where another developer can take a crack at the sourcecode and chop it down. Since you have a 32K ROM, there has to be enough pockets here and there for memory savings to be able to accomodate a few remaining things. And some unimportant parts of the game could be axed to make room for substantive improvements. Like the initial horizontal ATARIAGE scroll doesn't seem that critical, and the theme music data could be shortened in exchange for more AtariVox speech. You just have to have faith that the time spent now will indeed pay off in a superior end product.

Edited by mos6507
Link to comment
Share on other sites

...And some unimportant parts of the game could be axed to make room for substantive improvements. Like the initial horizontal ATARIAGE scroll doesn't seem that critical, and the theme music data could be shortened in exchange for more AtariVox speech. You just have to have faith that the time spent now will indeed pay off in a superior end product.
I agree mos6507.

The inital AA scroll last for only a second. It has nothing to do with the game anyway.

 

Maybe that space can be better utilized to improve something in the game itself, so it look's and plays more admiredly closer to the arcade.

 

I don't remember any voice in the original but I'm all for the addition of atarivox speech if it can be done for this one.

Link to comment
Share on other sites

...And some unimportant parts of the game could be axed to make room for substantive improvements. Like the initial horizontal ATARIAGE scroll doesn't seem that critical, and the theme music data could be shortened in exchange for more AtariVox speech. You just have to have faith that the time spent now will indeed pay off in a superior end product.
I agree mos6507.

The inital AA scroll last for only a second. It has nothing to do with the game anyway.

 

Maybe that space can be better utilized to improve something in the game itself, so it look's and plays more admiredly closer to the arcade.

 

I don't remember any voice in the original but I'm all for the addition of atarivox speech if it can be done for this one.

 

 

Please don´t short the music!

Link to comment
Share on other sites

I'd keep the music if it had to be one or the other.

Definitely, the music is a must. Don't mess with it! ;)

 

Don't worry - the music is definitely not going to be cut short!

 

The problem isn't ROM space - there is still plenty of spare space out of the 32K for things like the AA logo and music. The problem is RAM and cycles in the main game. The RAM is completely full, and I'm using all of the cycles in the vblank and overscan regions (I have basically cycle counted the entire game!). However, I think I have managed to find a way to squeeze out one more byte of RAM to hold a speech pointer. If this pans out, and I expand the number of scanlines beyond the usual 262 (as suggested by vdub_bobby) then I should be able to include some in-game speech.

 

Chris

Link to comment
Share on other sites

The problem is RAM and cycles in the main game. The RAM is completely full, and I'm using all of the cycles in the vblank and overscan regions (I have basically cycle counted the entire game!). However, I think I have managed to find a way to squeeze out one more byte of RAM to hold a speech pointer.

 

 

If it helps, a few extra places to store bytes: T1024T (if you read it out quickly), upper 3 bits of the PC, ENABL, CTRLPF bits 0, 4, and 5

( ref. http://www.atariage.com/forums/index.php?showtopic=81371 )

 

Also, SWCHB bits 2, 4, and 5 ( http://www.atariage.com/forums/index.php?s...t&p=1073041 )

Link to comment
Share on other sites

Great to hear that you reconsider investing more time to fine-polish this masterful creation :)

Can only second Mos6507's comments about the difference such attention to detail often makes...

Although one can all too well understand the tedious aspects of this, it's always rejoicing to see a vailliant homebrewer going that extra mile to deliver a masterpiece :thumbsup:

 

My (revised) suggestions:

 

backgrounds: I still think red as a signal color should generally only be used for critical phases (I wouldn't describe missing out a bonus opportunity as such). But on the basis of arcade authenticity, I guess I am sold on keeping things as they are. After discussing this, the red hyperspace background has become a characteristic of Juno First anyway.. ;)

 

ship animation: I really like espire8's animated cockpit ship, I think it could further (subtly) enliven the game. Hopefully you could give it a try...

 

deletions: glad to hear the title music will be kept in full.

 

speech: I'm not really convinced of the need of speech. Unless it serves any functional purposes, I feel it would (ironically) be just one of those dispensable features Mos6507 was alluding to. In games like Juno First, at best a gadget, eventually a nuisance. How much fun is it to listen to a repetitive wave announcement over and over, especially when it breaks the flow of a fast-flowing action game?

It may be entertaining the first few instances, but a curse in the long run...

 

intro music: ok, that would be my main new request for an extra feature:a replication of the taunting atmospheric intro jingle that plays in the

(seconds 8 -10) It really sets the mood. Even better would be to also duplicate the arcade intro, e.g. displaying a "Player One" or similar message ("Ready" or "Start") before moving to the actual game screen.

 

fuel gauge: I wonder whether it wouldn't clean up the display to move the fuel gauge below the score/ships display? As it is now, it tends to blend with the planet surface lines, which a) affects the gauge's readability and b) disrupts the fluid effect of the planet surface by somehow framing it.

Edited by r_type2600
Link to comment
Share on other sites

I guess the AVox/SaveKey emulation in Stella will turn out useful after all :D

 

Yes it's going to be very useful for testing this kind of thing. It would be great to have a linux version that I could use :)

 

Thanks,

Chris

Just a heads-up that Stella 2.6 has been released and a thread created in the emulation forum. This release includes AtariVox and SaveKey support, so test away :) Note that there are a few small issue I will address in 2.6.1 sometime next week, so please test this and report any issues you find.

Link to comment
Share on other sites

Just a heads-up that Stella 2.6 has been released and a thread created in the emulation forum. This release includes AtariVox and SaveKey support, so test away :) Note that there are a few small issue I will address in 2.6.1 sometime next week, so please test this and report any issues you find.

 

Many thanks for releasing this - just in time to check my SaveKey fixes (which appear to work)! It's also great to be able to play speech without needing to bring out the Krok cart every time. One small request: would it be possible to initialise the EEPROM file with $FF bytes in the next release as this would make it easier to check that the scores are being written to the correct place (at the moment the file seems to be filled with garbage)?

 

Many thanks,

Chris

Link to comment
Share on other sites

Just a heads-up that Stella 2.6 has been released and a thread created in the emulation forum. This release includes AtariVox and SaveKey support, so test away :) Note that there are a few small issue I will address in 2.6.1 sometime next week, so please test this and report any issues you find.

 

Many thanks for releasing this - just in time to check my SaveKey fixes (which appear to work)! It's also great to be able to play speech without needing to bring out the Krok cart every time. One small request: would it be possible to initialise the EEPROM file with $FF bytes in the next release as this would make it easier to check that the scores are being written to the correct place (at the moment the file seems to be filled with garbage)?

 

Many thanks,

Chris

Coincidentally, I was just having a conversation with Thomas J. about that (he wrote optimized versions of the I2C code). As I mentioned to him, I have no problem with defaulting to $FF for an empty EEPROM, and will do so for the next release. But is it really a good idea to rely on that data to mean 'empty'. What about the case where the EEPROM contains invalid data that isn't $FF??

Link to comment
Share on other sites

Another day, another Juno First Beta! The main changes this time:

  1. There is now a bit of in-game speech. I didn't want it to be annoying, so there are just a few phrases (New Wave, Hyperspace, Fuel Low, and Bonus Ship).
  2. The SaveKey should work properly now, though any previous scores will be wiped. SaveKey support can now be tested with the latest version (2.6) of Stella (Press Tab -> Game Properties -> Controller -> P1Controller: SaveKey in Right Port).
  3. The original arcade scoring has been restored, with an extra ship for each 100,000 points.
  4. You can now choose the starting wave by pressing SELECT on the title screen (shown at the bottom of the screen).
  5. The game now displays 266 lines - let me know if this causes problems with any real TVs.
  6. Lots of code reorganising - let me know if anything seems broken (particularly the missiles).

Note: I haven't finished making changes yet - I'm still considering some of the suggestions made here.

 

Chris

Juno_First_BETA6_NTSC.bin

Juno_First_BETA6_PAL60.bin

Edited by cd-w
Link to comment
Share on other sites

I really like the speech. Although I have yet to decipher all of the insults. ;)

 

A word of advice on composing speech for AtariVox. DO NOT compose phonemes based on spelling. Base it on the actual pronunciation you are after. Trust your ears.

 

For instance, the word human. It's not supposed to sound like "hyoo-man". It's more like "hyoo-mun" or "hyoo-min".

 

It's all about the schwa.

 

http://en.wikipedia.org/wiki/Schwa

Link to comment
Share on other sites

Coincidentally, I was just having a conversation with Thomas J. about that (he wrote optimized versions of the I2C code). As I mentioned to him, I have no problem with defaulting to $FF for an empty EEPROM, and will do so for the next release. But is it really a good idea to rely on that data to mean 'empty'. What about the case where the EEPROM contains invalid data that isn't $FF??

 

That is a good point, but I think it will be more useful to know precisely where the EEPROM is being written. Perhaps initialise it all to a single randomly selected value?

 

Chris

Edited by cd-w
Link to comment
Share on other sites

A word of advice on composing speech for AtariVox. DO NOT compose phonemes based on spelling. Base it on the actual pronunciation you are after. Trust your ears.

For instance, the word human. It's not supposed to sound like "hyoo-man". It's more like "hyoo-mun" or "hyoo-min".

 

Thanks - I have spent a long time trying to get the speech to sound right, but there are some things that the SpeakJet just can't do (e.g. female voices). Incidentally, I have included the phoneme sequences in the source code comments (search for JunoSpeech to find them). If anyone can improve these sequences then I will gladly use them.

 

Chris

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