Flight of a Dragon

Use this forum to share and discuss Uzebox games and demos.
immortalx
Posts: 32
Joined: Sun Dec 10, 2017 7:01 pm

Re: Flight of a Dragon

Post by immortalx »

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!
User avatar
Jubatian
Posts: 1561
Joined: Thu Oct 01, 2015 9:44 pm
Location: Hungary
Contact:

Re: Flight of a Dragon

Post by Jubatian »

Huh, thanks!
Matej wrote: Mon Dec 25, 2017 1:43 pm Beautiful game!Can imagine arcade machine based on it!
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).
immortalx 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!
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 soon :)

"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).
User avatar
Matej
Posts: 44
Joined: Mon Oct 31, 2011 4:36 pm

Re: Flight of a Dragon

Post by Matej »

Maybe as Uzebox Jamma!
viewtopic.php?f=4&t=627
User avatar
Jubatian
Posts: 1561
Joined: Thu Oct 01, 2015 9:44 pm
Location: Hungary
Contact:

Re: Flight of a Dragon

Post by Jubatian »

Matej wrote: Mon Jan 01, 2018 11:22 am Maybe as Uzebox Jamma!
viewtopic.php?f=4&t=627
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).
User avatar
Jubatian
Posts: 1561
Joined: Thu Oct 01, 2015 9:44 pm
Location: Hungary
Contact:

Re: Flight of a Dragon

Post by Jubatian »

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).
User avatar
nicksen782
Posts: 714
Joined: Wed Feb 01, 2012 8:23 pm
Location: Detroit, United States
Contact:

Re: Flight of a Dragon

Post by nicksen782 »

Online Player (and git repo) now have the new version.
User avatar
Jubatian
Posts: 1561
Joined: Thu Oct 01, 2015 9:44 pm
Location: Hungary
Contact:

Re: Flight of a Dragon

Post by Jubatian »

nicksen782 wrote: Sun Jan 14, 2018 6:53 pm Online Player (and git repo) now have the new version.
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.
User avatar
nicksen782
Posts: 714
Joined: Wed Feb 01, 2012 8:23 pm
Location: Detroit, United States
Contact:

Re: Flight of a Dragon

Post by nicksen782 »

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!
User avatar
ry755
Posts: 226
Joined: Mon May 22, 2017 6:01 am

Re: Flight of a Dragon

Post by ry755 »

Yeah, the direct link is working for me too.
User avatar
Jubatian
Posts: 1561
Joined: Thu Oct 01, 2015 9:44 pm
Location: Hungary
Contact:

Re: Flight of a Dragon

Post by Jubatian »

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

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)
Post Reply