I just watched the video and I must say this so impressive and very finely made!
It reminds me (and I say that as a compliment) of Thanatos for the ZX Spectrum. The huge sprite, directional fire breath and the tiny people shooting arrows at you. Only that yours is even better made and can't wait to play it on my Euzebox!
Flight of a Dragon
Re: Flight of a Dragon
Huh, thanks!
"Even better made": The ATMega is actually significantly more powerful than the main processors of the old 8 bit microcomputers (the C64's 6510 and the Speccy's Z80), even after removing the video mode overhead. Thanatos is a single program file on both, thus fitting into the RAM of those machines. What was easier on the C64 or the Z80 is that all the room the game had was RAM, allowing for better management of the data, particularly necessary for the graphics of the game. However on the Uzebox there is power: FoaD does a lot of realtime depacking and some repacking while running (even things like sprite coordinates on the map are actually compressed!), utilizing the extra juice to get a visually rich, and probably more complex game. On the C64 or the Spectrum, it was definitely a battle to get all that working out right which goes on in that game including some crude 3D for the castle walls, and they even had inferior tools available to get all that done (although I neither used too many tools either, the dragon sprite assemblies are practically hand-made, typed up in hex). On both the C64 and the Spectrum, getting decent enough graphics was definitely a challenge in this game (on both for their own reasons: The Speccy for its attribute mode, the C64 for utilizing the VIC to the max, while that big dragon is definitely costly in every regard: notably space and processing power).
The original intention (when conceptualizing the game for UCC2016) was that, and I tried to build it with some arcade concepts in mind (particularly time limited gameplay, and the silent intro display, imagining it being in an arcade room waiting for someone to insert a coin).
Sure, Thanatos is an impressive game on all platforms it was released on! On the C64 it uses a very creative trick for the dragon: The dragon is actually background, and most of the environment is realized by sprites. I gave it some though how it could possibly be realized on Uzebox, with the current video modes (even Mode 72 included) sure it would be difficult. The concept has some similarities indeed! Hope you can fix that E-Uzebox's bootloader soonimmortalx wrote: ↑Wed Dec 27, 2017 12:55 pm I just watched the video and I must say this so impressive and very finely made!
It reminds me (and I say that as a compliment) of Thanatos for the ZX Spectrum. The huge sprite, directional fire breath and the tiny people shooting arrows at you. Only that yours is even better made and can't wait to play it on my Euzebox!
"Even better made": The ATMega is actually significantly more powerful than the main processors of the old 8 bit microcomputers (the C64's 6510 and the Speccy's Z80), even after removing the video mode overhead. Thanatos is a single program file on both, thus fitting into the RAM of those machines. What was easier on the C64 or the Z80 is that all the room the game had was RAM, allowing for better management of the data, particularly necessary for the graphics of the game. However on the Uzebox there is power: FoaD does a lot of realtime depacking and some repacking while running (even things like sprite coordinates on the map are actually compressed!), utilizing the extra juice to get a visually rich, and probably more complex game. On the C64 or the Spectrum, it was definitely a battle to get all that working out right which goes on in that game including some crude 3D for the castle walls, and they even had inferior tools available to get all that done (although I neither used too many tools either, the dragon sprite assemblies are practically hand-made, typed up in hex). On both the C64 and the Spectrum, getting decent enough graphics was definitely a challenge in this game (on both for their own reasons: The Speccy for its attribute mode, the C64 for utilizing the VIC to the max, while that big dragon is definitely costly in every regard: notably space and processing power).
Re: Flight of a Dragon
Maybe as Uzebox Jamma!
viewtopic.php?f=4&t=627
viewtopic.php?f=4&t=627
Re: Flight of a Dragon
Ouch. I made an attempt trying to tailor it for the JAMMA, however right now I slammed into a ridiculous bottleneck. Here is the pin allocation for the controllers on a JAMMA. The coin slot uses Player 2 shoulders. This is a problem. FoaD processes only Player 1, and it has seriously exactly 0 RAM bytes free, making it not really trivial to add the necessary state machine for processing the shift register for Player 2 (it isn't impossible, but may need some hacking around, possibly reading it at user-side where I can easier add some temp. workspace for it).
I am also reading the manual ( https://basementhobbies.files.wordpress ... -rev-c.pdf ), and I have some problems understanding the soft DIP switches, at least what I should be doing with them in regards of starting the game. The pin allocation shows two coin inputs (Coin1 and Coin2), there is a Coin/Credit option in the soft DIP switches, and on the pin allocation, there are 1 player / 2 players start buttons. I am not sure on how these should be used proper.
FoaD is a one player game with only one life to use (it would be difficult to add an option for continuing, and I thought is not being necessary when designing the game as you can't suffer an instant death regardless of HP or get stuck in dead-ends). How an arcade start-up could work for this? (I imagined inserting a coin at the intro could start a game session, I could possibly add coin-counting at the intro).
Re: Flight of a Dragon
I created a version which should work on the JAMMA, I added it to the wiki. Thanks for the info in the other topic, hopefully I could get everything at least sort of right!
Also I found a byte which I could free, so now the game has credits. In the normal game, you have 5 lives (you may retry the level you failed from the death screen), on the JAMMA, you may "buy yourself through" the game.
What I could not test is whether the JAMMA version reads and interprets the soft DIP switches correctly (it should), as I could not find the soft DIP switch setup program (does anyone know where it is?). By default if the JAMMA EEPROM block is missing, it assumes the soft DIP switches being zero, so one coin buys you one credit.
It was a ridiculous coding run by the way...
First of all I was lucky to find one free RAM byte, or better say, one RAM byte which I had reserved for something what I didn't need in the end, so I could utilize it (it is still not a completely free byte as it is an unused color on a palette, so Mode 74 is actually reading it, just having no effect on the display). That was necessary to implement credits.
Then to my luck the story sequence was programmed in such a manner that it's state was still there on the death screen, so I could add code to revert to the previously played level (however the score can not be restored to the start of the level, so I rather had to add a penalty which makes it certain that you can not get infinite score with enough coins on the arcade).
Then at least five or so times I totally drained the remaining ROM space making it necessary to invent things to reduce the existing game's code. Rewriting stuff in assembly, getting around crappy C code generation, discovering new attributes which make code smaller...
Anyway, it should work. Or at least if it has any bug, it shouldn't be hard to fix now.
The normal game is also updated of course (Nicksen!) adding the credits support. It is now easier to complete it with 5 lives to work with (or if you use the JAMMA version, you can essentially have infinite lives).
Also I found a byte which I could free, so now the game has credits. In the normal game, you have 5 lives (you may retry the level you failed from the death screen), on the JAMMA, you may "buy yourself through" the game.
What I could not test is whether the JAMMA version reads and interprets the soft DIP switches correctly (it should), as I could not find the soft DIP switch setup program (does anyone know where it is?). By default if the JAMMA EEPROM block is missing, it assumes the soft DIP switches being zero, so one coin buys you one credit.
It was a ridiculous coding run by the way...
First of all I was lucky to find one free RAM byte, or better say, one RAM byte which I had reserved for something what I didn't need in the end, so I could utilize it (it is still not a completely free byte as it is an unused color on a palette, so Mode 74 is actually reading it, just having no effect on the display). That was necessary to implement credits.
Then to my luck the story sequence was programmed in such a manner that it's state was still there on the death screen, so I could add code to revert to the previously played level (however the score can not be restored to the start of the level, so I rather had to add a penalty which makes it certain that you can not get infinite score with enough coins on the arcade).
Then at least five or so times I totally drained the remaining ROM space making it necessary to invent things to reduce the existing game's code. Rewriting stuff in assembly, getting around crappy C code generation, discovering new attributes which make code smaller...
Anyway, it should work. Or at least if it has any bug, it shouldn't be hard to fix now.
The normal game is also updated of course (Nicksen!) adding the credits support. It is now easier to complete it with 5 lives to work with (or if you use the JAMMA version, you can essentially have infinite lives).
- nicksen782
- Posts: 714
- Joined: Wed Feb 01, 2012 8:23 pm
- Location: Detroit, United States
- Contact:
Re: Flight of a Dragon
Online Player (and git repo) now have the new version.
Re: Flight of a Dragon
Great, thanks! By the way I still only see Flight of a Dragon's demo in the UCC category. Weren't there any other games which were finished or improved later? Tempest comes in my mind which I always wondered how it scored so low on UCC-2014, until checking it out from there. It was rather a tech-demo back then, maybe at least that could be also included in the category.
EDIT: I just found a bug in the online player: The "Direct link" doesn't work, it seemingly always shows a 404 page no matter which game I try.
- nicksen782
- Posts: 714
- Joined: Wed Feb 01, 2012 8:23 pm
- Location: Detroit, United States
- Contact:
Re: Flight of a Dragon
Bug? I went to https://nicksen782.net/a_demos/Emscript ... r/CURRENT/ and then picked a couple different games and clicked their direct links. Each worked. I could not reproduce this bug.
Can you help me to reproduce it? I'll fix it right away. It's a rather important feature.
I don't actually have the games from most of the UCC Challenges. They would be great to add!
Can you help me to reproduce it? I'll fix it right away. It's a rather important feature.
I don't actually have the games from most of the UCC Challenges. They would be great to add!
Re: Flight of a Dragon
Yeah, the direct link is working for me too.
Re: Flight of a Dragon
It is Firefox, Debian Linux. The link I have for Flight of a Dragon looks like this: https://nicksen782.net/a_demos/Emscript ... gameid=222 which for me shows a HostGator 444.nicksen782 wrote: ↑Sun Jan 14, 2018 9:21 pm Bug? I went to https://nicksen782.net/a_demos/Emscript ... r/CURRENT/ and then picked a couple different games and clicked their direct links. Each worked. I could not reproduce this bug.
Can you help me to reproduce it? I'll fix it right away. It's a rather important feature.
I don't actually have the games from most of the UCC Challenges. They would be great to add!
The UCC games are there in the top posts of each UCC! (for example Tornado 2000 is here: viewtopic.php?f=13&t=2149 , scroll down for the links)