Jump to content
R0ger

Rescue - 3D engine demo

Recommended Posts

I'm working on 3D engine for Atari 800 family and I released short demo based on it for last weekend Atariada.

 

Xex is attached.

 

Here is video:
https://www.youtube.com/watch?v=I0L4hNFAWq4

 

Thread in programming section for programming details:

http://atariage.com/forums/topic/237246-lets-talk-3d-graphics/

rescue.xex

Edited by Dr.Sid
  • Like 27

Share this post


Link to post
Share on other sites

This has a good FPS, and it is also has some nice colour. I'm impressed that you've also managed to get music into it.

 

I guess that the key to this is some good data structures.

 

This could be one of the best homebrews in quite a while.

  • Like 3

Share this post


Link to post
Share on other sites

Great job guys!

Maybe Veronica could help a lot in games like this...

  • Like 1

Share this post


Link to post
Share on other sites

Wow, didn't expect so much content, great work!

 

Reminds me of long days spent with Mercenery... Excellent type of game to choose and make a new one.

Share this post


Link to post
Share on other sites

Very nice demo. I like Mercenary style wireframe vectors.

Could you make animation flow independent of CPU speed and animation fluency dependent of CPU speed (Rapidus Accellerator or XL14 users probably would be happiest people on the world :])?

Share this post


Link to post
Share on other sites

Thanks for the support guys, I appreciate it.

 

Very nice demo. I like Mercenary style wireframe vectors.

Could you make animation flow independent of CPU speed and animation fluency dependent of CPU speed (Rapidus Accellerator or XL14 users probably would be happiest people on the world :])?

 

To some extent I could. At the moment however all the animation is just tuned to common atari speed. For the game it's basically a must, but even so, there will be some range of fps I will support. Will think about it.

Share this post


Link to post
Share on other sites

Nice demo - Mix of Mercenary and the spaceship starting sequence in the Phenomena Amiga Demo. I like it :) Any plans to implement hidden line capabilities, too?

Edited by R4ngerM4n

Share this post


Link to post
Share on other sites

I can't seem to get this .XEX file to run. Might you have an .ATR that will give better results? I d/l the file and Mirror it in APE, but nothing runs the file properly. I tried to copy the file to a DOS disk but it gets an error 165.

 

What is the proper procedure for running this? What h/w requirements are there?

 

Thanks.

 

Bob

Share this post


Link to post
Share on other sites

I can't seem to get this .XEX file to run. Might you have an .ATR that will give better results? I d/l the file and Mirror it in APE, but nothing runs the file properly. I tried to copy the file to a DOS disk but it gets an error 165.

 

What is the proper procedure for running this? What h/w requirements are there?

 

Thanks.

 

Bob

 

It worked for me... though I've only tried through emulation.

Share this post


Link to post
Share on other sites

Audio is out-to-lunch

That is a bug in the replaying routine, it is addressing zero page locations by indexing from the page $FFxx. On 6502 it wraps, on 65C816 it does not.

Share this post


Link to post
Share on other sites

Linear addressing means that you can access memory continuously from $000000 to the top of physical memory ( $6FFFFF in the XL14 ), rather than banking in memory blocks in the first 64K. In the case of indexing from $FFxx past $0000, this addresses memory in $0100xx rather than $00xx like the 6502. The 65816 has LONG addressing instructions to reach outside of the first 64K directly. ( yes, they all work in 6502 emulation mode )

 

Bob

Share this post


Link to post
Share on other sites

Why do they do that?

Thre is no real reason, because, as I said, it is a bug (which on 6502 turns out to be harmless because of the address space wrapping). The player stores some of its variables on the zero page. IIRC, at a place, it does LDA label-8,X or something like that to access them, the index register of course always contains 8 or a multiplier when that is being executed.

 

If you define the replayer's variables so that they start at $00, that instruction will be assembled as LDA $FFF8,X and on 65C816 this will, of course, cross the 64k boundary generating an effective address $010000 or greater.

Edited by drac030

Share this post


Link to post
Share on other sites

Very Nice!

 

I put it here:

 

http://demozoo.org/productions/136633/

 

Did you also do the music?

 

Yes, music and all. Indeed, last week before release was kinda hectic. And you only can blame yourself if something doesnt work right :-D

 

Thanks for sharing !

  • Like 1

Share this post


Link to post
Share on other sites

Though it's very nice, there still is the question of a possible "speedup" .

 

From the ANTIC side, is there all DMA overhead eliminated?

Share this post


Link to post
Share on other sites

Though it's very nice, there still is the question of a possible "speedup" .

 

From the ANTIC side, is there all DMA overhead eliminated?

 

No reason to speculate when you can measure it directly in Altirra:

 

post-21021-0-34933600-1429130891_thumb.png

 

Looks pretty optimal to me. PMG DMA is disabled. Only two LMS are used. Using narrow mode could save a good chunk of cycles but is it worth it?

  • Like 1

Share this post


Link to post
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.

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