Jump to content
IGNORED

Voxelflight interactive - game engine


Heaven/TQA
 Share

Recommended Posts

just to give you an idea how fast the Voxel engine of Arsantica 3 is.... here is a quick hack at Revision party with joystick movement...

 

bear in mind that is not physical correct but I will implement next couple of days RoF like controls...

 

did I say after demo is prior the next demo? ;=)

 

added the packed version which should work from any dos.

 

voxelflight_interactive.xex

post-528-0-86222100-1459115570_thumb.png

voxelflight_interactive_packed.xex

Edited by Heaven/TQA
  • Like 21
Link to comment
Share on other sites

that's basicly the core of processing one voxel... now let me know how to make it without ;=)

 

the first LAX can be turned into a

 

LDA

TAX

 

but the handling the EOR-filler stuff...get's tricky ;=) any ideas? :D

ldx angle
lda offsettabhi+#*256,x
sta di+1
ldy offsettablo+#*256,x   
lax (di),y                
lda persptab+#*100,x    
cmp miny          
bcs @+                   
sta miny                  
iny                     
lax (di),y            
ldy miny
eor eor_nibble        
sta collumbuffer,y    
stx eor_nibble        
 
Edited by Heaven/TQA
Link to comment
Share on other sites

lax (di),y            

ldy miny

eor eor_nibble        

sta collumbuffer,y    

stx eor_nibble    
 

MaPa... that is the most interesting part...

And... ? Still don't get it, maybe I'm just dumb :) Just replace the LAX with lda (di),y & tax... Or you care about it being slower? Who cares :) Who has an ATARI computer will use your original code with LAX.. If anyone has some pseudo ATARI computer then it will be slower but he can run it in faster mode or not? I just don't care :)

Edited by MaPa
  • Like 4
Link to comment
Share on other sites

LAX will load both A,X and A gets prepared for the EOR filler of the voxel filling routine, while X preserves the original value which needs to be set for the next pixel ;) and saves cycles... and in a software renderer every cycle per pixel counts...

 

attachted without LAX.

 

 

 

voxelflight_interactive_packed_wo_lax.xex

Edited by Heaven/TQA
  • Like 1
Link to comment
Share on other sites

aaaaaaand? :) So it will be slower. That's the price for trying to run software intented for ATARI 8bit computers on other platforms :) Btw. I don't know how your code looks, but I assume it's unrolled, so you could have somtehing like this (alternating 2 variables instead of one in two consecutive pixels):

lda (di),y            
sta eor_nibble2
ldy miny
eor eor_nibble        
sta collumbuffer,y    
...
lda (di),y            
sta eor_nibble
ldy miny
eor eor_nibble2
sta collumbuffer,y    
Link to comment
Share on other sites

LAX will load both A,X and A gets prepared for the EOR filler of the voxel filling routine, while X preserves the original value which needs to be set for the next pixel ;) and saves cycles... and in a software renderer every cycle per pixel counts...

 

attachted without LAX.

 

 

 

Thanks for the file, but I still can't get it to run properly on Altirra unless I set it to 6502 with illegal opcodes enabled. It also crashes on real hardware (800 Incognito w/ 65c802).

I can't overstate how much I appreciate your effort to make this work. :)

Link to comment
Share on other sites

Oh.... It's XL so it needs 56k ram... Not sure if your 800 is compatible with the XL model....

 

And will have a look if I got another opcode in the code somewhere.... But fx relies heavy on RAM under OS and works In Altirra? (But not 800)

Edited by Heaven/TQA
Link to comment
Share on other sites

If someone has a good idea for the controls let me know.

 

We have X,y movement plus turns.... I have in mind something like rescue on Fractalus. Koronis rift would not fit as we are flying?

 

Need to check eidolon thou.

Edited by Heaven/TQA
Link to comment
Share on other sites

Let's see, if we can have a "fly around the peak of a hill" keeping the peak in the center of the screen...

 

Move forward "Joystick forward"

Turn left "select"

Turn right "option"

Move left "Joystick left"

Move right "Joystick right"

Break "Joystick back"

Speed of Movement (if possible) 0-9

So you could use 3 different controls at the same time.

Edited by emkay
Link to comment
Share on other sites

  • 2 weeks later...

Matej... me not... as your "Mindcraft" voxel is basicly raymarching? so "real 3d"... we are talking here about commanche voxels... so "prior" mindcraft area...

 

and basicly here you go :D

 

 

I found it already low-res so I would not go even "lower".

 

I got some ideas in having "asteroids like" controlls with thrust and turning.

 

but at he moment I am more exploring c64 "power".

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

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...