Bad Mood : Falcon030 'Doom'

All 680x0 related coding posts in this section please.

Moderators: simonsunnyboy, Mug UK, Zorro 2, Moderator Team

User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3474
Joined: Sat Jun 30, 2012 9:33 am

Re: Bad Mood : Falcon030 'Doom'

Postby dml » Tue Jun 04, 2013 11:17 am

Ah, hold on - the warp command is different between Doom and BadMood viewer, I've been offering the BadMood command form when it's not going to work.

Doom expects this instead for e1m1:

'-warp 1 1'

Sorry! :)

User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3474
Joined: Sat Jun 30, 2012 9:33 am

Re: Bad Mood : Falcon030 'Doom'

Postby dml » Tue Jun 04, 2013 11:36 am

shoggoth wrote:EDIT1: I accidentally cause a 3rd person perspective (by pressing some - god knows which - key), i.e. camera was fixed, and I could see my own gameplay character run around. That's supposed to happen? :)
EDIT2: This was truly an awesome experience.


Hehe. Turns out thats the TAB key. You don't notice it at first, until you walk out in front of your previous view, then you can see the player running around in is green shirt. :)

User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3474
Joined: Sat Jun 30, 2012 9:33 am

Re: Bad Mood : Falcon030 'Doom'

Postby dml » Tue Jun 04, 2013 11:51 am

Updated instructions, keys etc. Last attempt was a mess.

Requirements:

Falcon030, 16MHz+ CPU, 32MHz+ DSP
14MB ram
FPU (needed for FPS counter and other unimportant stuff - will be removed)
Doom v1.9 WAD, preferably Doom1, although Doom2 will technically work (very slow)
HD or CFlash space for large WAD file

Recommended:

RGB display - runs noticably faster, for now
...also runs in Hatari but runs a bit slower - in the less complex levels at least

To run (commandline):

Doom1:

-warp x y

..where x = episode, y = map (e.g. '-warp 1 1' for e1m1)

Doom2:

-warp xx

..where xx = map number 00 to.. 32?

Can be run without commandline, but menus are invisible so navigating into a game requires a key sequence 'ESC, RETURN, RETURN, RETURN..' etc.



Keyboard controls:

ARROWS: walk, turn
ALT+ARROWS: strafe - e.g walk sideways
SHIFT+ARROWS: run
CTRL: shoot
SPACE: open doors, activate etc.
TAB: shoggoth's out-of-body experience
(for the other keys e.g. weapon cycling etc. see a Doom wiki!)

Cheats (bit early for that, no? :) )

'idkfa'
'iddqd'
..and all the other classics here: http://doom.wikia.com/wiki/Doom_cheat_codes

Mouse:

LEFT: open doors, activate etc.
RIGHT: shoot

This build was configured for real hardware. I can upload a separate Hatari-friendly build with no MMU/cache extras if anyone has trouble with this one.

EvilFranky
Atari Super Hero
Atari Super Hero
Posts: 871
Joined: Thu Sep 11, 2003 10:49 pm
Location: UK
Contact:

Re: Bad Mood : Falcon030 'Doom'

Postby EvilFranky » Tue Jun 04, 2013 12:19 pm

Just played through e1m1 in Hatari.

It's looking very good so far Doug. Plays well enough at the moment but as you say will play better on a real machine for now.

Will be interesting to see how much smoother/quicker it can get by the time you finish all the optimizations!

Good stuff :cheers:

User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3474
Joined: Sat Jun 30, 2012 9:33 am

Re: Bad Mood : Falcon030 'Doom'

Postby dml » Tue Jun 04, 2013 12:26 pm

EvilFranky wrote:Just played through e1m1 in Hatari.


:)

EvilFranky wrote:It's looking very good so far Doug. Plays well enough at the moment but as you say will play better on a real machine for now.
Will be interesting to see how much smoother/quicker it can get by the time you finish all the optimizations!
Good stuff :cheers:


The 2D stuff needs to be done next, but there will be one last pass at optimizing both game code and rendering, after which I'll put all the code on sourceforge or similar in case anyone else want to try optimizing bits of it or making other mods.

User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3474
Joined: Sat Jun 30, 2012 9:33 am

Re: Bad Mood : Falcon030 'Doom'

Postby dml » Tue Jun 04, 2013 12:27 pm

I did a quick test in nightmare skill mode and it is much slower even on e1m1 - as are levels with lots of monsters by default. So the monster count is a big factor in performance. It should be possible to do something about that later on.

User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3474
Joined: Sat Jun 30, 2012 9:33 am

Re: Bad Mood : Falcon030 'Doom'

Postby dml » Tue Jun 04, 2013 1:14 pm

Eero, latest changes are in.

I gave up trying to rebase the game code TICRATE adjustments against an early revision of the code - too many other issues in the way of testing it.

Would be a far better exercise to just clean up the existing integration a bit so enabling 'ORIGINAL_VERSION' and 'ENABLE_IDTECH_RENDERER' excludes BM, game changes and optimizations consistently in all areas, and possibly introduce a new define 'ORIGINAL_GAMETICK' which restores all game code to the reference version. The first two defines mostly do their job but but probably not quite right in places and could be hiding some accidents.

The main goal is to be able to quickly and easily (relatively speaking) narrow down code changes which break gameplay and/or demo recording and playback (i.e. deliberate TICRATE scaling vs game code optimization accidents) without having to scan eyes over tons of unrelated changes.

User avatar
shoggoth
Nature
Nature
Posts: 989
Joined: Tue Aug 01, 2006 9:21 am
Location: Halmstad, Sweden
Contact:

Re: Bad Mood : Falcon030 'Doom'

Postby shoggoth » Tue Jun 04, 2013 1:43 pm

Wild idea. Is this (tick rate changes) something that could be debugged/evaluated by running two instances of Hatari, one with the new tickrate, one with the old one, and somehow comparing their gamestates automatically somehow?
Ain't no space like PeP-space.

User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3474
Joined: Sat Jun 30, 2012 9:33 am

Re: Bad Mood : Falcon030 'Doom'

Postby dml » Tue Jun 04, 2013 2:14 pm

shoggoth wrote:Wild idea. Is this (tick rate changes) something that could be debugged/evaluated by running two instances of Hatari, one with the new tickrate, one with the old one, and somehow comparing their gamestates automatically somehow?


You could do that yes - especially for player position info and maybe specific AI position info over time - in fact I'm trying to set up a very simple simulation to get the basic physics to match properly. It's not quite the same thing but going in that direction (mapping/comparing one to the other automatically).

However there are so many problems with the game code's idea of 'time' that any changes to constants or the TICRATE basis have an impact on how things behave. While it is possible to 're integrate' the physics terms (velocity, momentum, gravity, friction are all present) to work at a different tick rate the AIs themselves transition between states based on the number of ticks elapsed. e.g. the Imp might spend 5 ticks doing one thing, then 1 tick doing something else, then back to 5. It's not possible to spend half a tick doing anything, so scaling the down state tick counts in the AI definitions just changes their behaviour (the more rounding, the bigger the error - they begin to run a bit faster or fight faster, or some other side effect - and the error gets worse for AIs with many states and short time spent in each state). So any attempt to compare states for these monsters will just signal big differences after a few frames.

I think the best approximation which can be achieved using existing game code is to use a nice integral of the original game tick rate (35Hz) and in this case I rounded that up to 36, then divided by 3 = 12Hz. All the AI state counters get divided by 3 and round-to-nearest, losing some 'behaviour resolution'. The lost 'bits' can be reintroduced by using a sort of turbulence term on the tic counters - over several seconds the 'right' number of ticks are spent in the appropriate states (but for any one given gametick it will be wrong). The momentum etc. is still all wrong but it can be corrected to a degree by re-integrating the constants based on the old TICRATE. That at least should be possible to get close.

I think the only way to get identical AI behaviour is to run the game at 35Hz as planned - but the only way to get decent performance is to drop that significantly, optimize stuff and take other shortcuts. Somewhere in between all that there will be a recognizable version of Doom that works (but isn't 100% the same, esp. in difficulty and to some extent physics too).

User avatar
Omikronman
Atari Super Hero
Atari Super Hero
Posts: 531
Joined: Wed Dec 01, 2004 12:13 am
Location: Germany
Contact:

Re: Bad Mood : Falcon030 'Doom'

Postby Omikronman » Tue Jun 04, 2013 2:26 pm

"dml: Atari Super Hero" -> Haha, he really is one :-D

EvilFranky
Atari Super Hero
Atari Super Hero
Posts: 871
Joined: Thu Sep 11, 2003 10:49 pm
Location: UK
Contact:

Re: Bad Mood : Falcon030 'Doom'

Postby EvilFranky » Tue Jun 04, 2013 2:40 pm

Omikronman wrote:"dml: Atari Super Hero" -> Haha, he really is one :-D


It's massively impressive the progress that has been made in such a short space of time. Plus some of the clever Falcon specific stuff he has managed to incorporate is fantastic.

User avatar
viking272
Captain Atari
Captain Atari
Posts: 411
Joined: Mon Oct 13, 2008 12:50 pm
Location: west of London, UK

Re: Bad Mood : Falcon030 'Doom'

Postby viking272 » Tue Jun 04, 2013 2:44 pm

EvilFranky wrote:It's massively impressive the progress that has been made in such a short space of time. Plus some of the clever Falcon specific stuff he has managed to incorporate is fantastic.

http://www.falconcam-cmnh.org/e107_images/emotes/default/worship.gif

EvilFranky
Atari Super Hero
Atari Super Hero
Posts: 871
Joined: Thu Sep 11, 2003 10:49 pm
Location: UK
Contact:

Re: Bad Mood : Falcon030 'Doom'

Postby EvilFranky » Tue Jun 04, 2013 2:47 pm

Doug,

Completely off topic question but curious about your early background when working for the software houses writing ST(E) games.

Were you around doing that in 1992...ish when the Falcon was released?

Do you know for a fact that some of fairly well known houses were in possession of Falcon hardware with a view to developing games for the system?
How was it received? Excited? Underwhelmed?
Did you see anything part developed that the scene knows nothing about? Anything fairly well known, an example is that there were strong rumors that Chaos Engine was already close to completion...that sort of thing.

Sorry to drag this away from Bad Mood slightly, but always very interested in stuff like this.

P.S I suspect Chaos Engine would have just been an Amiga AGA port, directly ripped GFX, sound etc. Kinda makes the rumor believable.
Last edited by EvilFranky on Tue Jun 04, 2013 2:51 pm, edited 1 time in total.

EvilFranky
Atari Super Hero
Atari Super Hero
Posts: 871
Joined: Thu Sep 11, 2003 10:49 pm
Location: UK
Contact:

Re: Bad Mood : Falcon030 'Doom'

Postby EvilFranky » Tue Jun 04, 2013 2:47 pm

Image

User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3474
Joined: Sat Jun 30, 2012 9:33 am

Re: Bad Mood : Falcon030 'Doom'

Postby dml » Tue Jun 04, 2013 4:32 pm

Thanks all for the support and suggestions!

@EvilFranky - I'm not aware of much activity around Falcon within games companies at the time of its release - although I didn't get to see inside some of the bigger developers or what kit they had access to at the time (back then, they usually had whatever they wanted!). There was some activity with Jaguar - many games companies had kits. Falcon... not sure at all. (It wasn't marketed much for games so this is not very surprising to me).

I do have a videotape somewhere of the Falcon being introduced/demonstrated on a games/computing based TV show from the mid '90s but I don't think that episode was broadcast, at least I couldn't find it when I looked in the episode list. I do have the tape as evidence though ;) I'll YT it at some point.

User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3474
Joined: Sat Jun 30, 2012 9:33 am

Re: Bad Mood : Falcon030 'Doom'

Postby dml » Tue Jun 04, 2013 4:40 pm

I'm planning one more release later tonight when I get done with work. Have a few more things to fix and test for this version. One of them will manage/speed up the AI thinkers, reducing the hit caused by high monster counts.

User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3474
Joined: Sat Jun 30, 2012 9:33 am

Re: Bad Mood : Falcon030 'Doom'

Postby dml » Tue Jun 04, 2013 4:43 pm

EvilFranky wrote:
Omikronman wrote:Plus some of the clever Falcon specific stuff he has managed to incorporate is fantastic.


In fact, I had a lot of Falcon 'extras' planned but can't get near them because of all the game code drudge I'm wading through at the moment. But it looks like the end is in sight for that, so the fun bits may happen after all.

User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3474
Joined: Sat Jun 30, 2012 9:33 am

Re: Bad Mood : Falcon030 'Doom'

Postby dml » Tue Jun 04, 2013 5:42 pm

Here's a minor update - optimized for higher enemy count, so a bit more playable generally. Still need to use the 'run' key (SHIFT) more than expected because of iffy player momentum but this will get fixed later.

The current minimum memory needed is around 5.5MB so no chance on a 4MB machine just now - but it looks like it might be possible with some effort.

There's probably not much point in making more releases now until some essential 2D stuff works, then probably sfx/audio. There may be some progress on that within a week. Will see.
You do not have the required permissions to view the files attached to this post.

EvilFranky
Atari Super Hero
Atari Super Hero
Posts: 871
Joined: Thu Sep 11, 2003 10:49 pm
Location: UK
Contact:

Re: Bad Mood : Falcon030 'Doom'

Postby EvilFranky » Tue Jun 04, 2013 6:42 pm

That one works great too, again played e1m1 all the way through fine on Hatari.

Walls with transparency really hit the performance hard don't they! The room before the exit room, where the exploding barrel is. Literally you turn from a flat wall at about 10-11 fps to a wall with those transparent diagonal see through bits...and the frame rate halves to 5 fps.

Top stuff Doug, can't wait to see the HUD/weapons!

EvilFranky
Atari Super Hero
Atari Super Hero
Posts: 871
Joined: Thu Sep 11, 2003 10:49 pm
Location: UK
Contact:

Re: Bad Mood : Falcon030 'Doom'

Postby EvilFranky » Tue Jun 04, 2013 6:43 pm

dml wrote:
EvilFranky wrote:
Omikronman wrote:Plus some of the clever Falcon specific stuff he has managed to incorporate is fantastic.


In fact, I had a lot of Falcon 'extras' planned but can't get near them because of all the game code drudge I'm wading through at the moment. But it looks like the end is in sight for that, so the fun bits may happen after all.


Can you tell us more? :angel:

EvilFranky
Atari Super Hero
Atari Super Hero
Posts: 871
Joined: Thu Sep 11, 2003 10:49 pm
Location: UK
Contact:

Re: Bad Mood : Falcon030 'Doom'

Postby EvilFranky » Tue Jun 04, 2013 6:44 pm

dml wrote:Thanks all for the support and suggestions!

@EvilFranky - I'm not aware of much activity around Falcon within games companies at the time of its release - although I didn't get to see inside some of the bigger developers or what kit they had access to at the time (back then, they usually had whatever they wanted!). There was some activity with Jaguar - many games companies had kits. Falcon... not sure at all. (It wasn't marketed much for games so this is not very surprising to me).

I do have a videotape somewhere of the Falcon being introduced/demonstrated on a games/computing based TV show from the mid '90s but I don't think that episode was broadcast, at least I couldn't find it when I looked in the episode list. I do have the tape as evidence though ;) I'll YT it at some point.


Thanks for that Doug, shame you don't have any stories for us! :wink:

User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3474
Joined: Sat Jun 30, 2012 9:33 am

Re: Bad Mood : Falcon030 'Doom'

Postby dml » Tue Jun 04, 2013 7:30 pm

EvilFranky wrote:Walls with transparency really hit the performance hard don't they! The room before the exit room, where the exploding barrel is. Literally you turn from a flat wall at about 10-11 fps to a wall with those transparent diagonal see through bits...and the frame rate halves to 5 fps.


Yep the transparency shader trudges along at a poor fillrate.

A replacement is planned which uses scaled posts directly from the patch data - for large or low-detail surfaces. For distant, or detailed surfaces they will be rendered into a cache with skip info encoded into a separate buffer which can be addressed like the texture, so the renderer can walk across sub-pixel details without any cost. This should speed things up noticably.

This affects sprites too - but a number of other optimizations will be done specifically for sprite surfaces.

User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3474
Joined: Sat Jun 30, 2012 9:33 am

Re: Bad Mood : Falcon030 'Doom'

Postby dml » Tue Jun 04, 2013 7:32 pm

EvilFranky wrote:Can you tell us more? :angel:


I think those bits are better as surprises :)

User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3474
Joined: Sat Jun 30, 2012 9:33 am

Re: Bad Mood : Falcon030 'Doom'

Postby dml » Tue Jun 04, 2013 7:49 pm

Something else I forgot - when you throw the switch in the exit, the game just waits for SPACE to be pressed to advance to the next level. It hasn't crashed, just waiting for a key :)

deeez
Atari User
Atari User
Posts: 41
Joined: Fri May 03, 2013 4:51 pm

Bad Mood : Falcon030 'Doom'

Postby deeez » Tue Jun 04, 2013 8:03 pm

This is awesome progress! I remember 'playing' 3.07 (I think) back in the day. I really need to get my falcon up an running again. Reading this is such a source of inspiration! :)

Fredrik.


Social Media

     

Return to “680x0”

Who is online

Users browsing this forum: No registered users and 3 guests