Jump to content

Photo

3d Engine for Vanilla Cart

3d renderer vanilla cart 2600

54 replies to this topic

#1 Gip-Gip OFFLINE  

Gip-Gip

    Chopper Commander

  • 210 posts
  • Location:Georgia, US

Posted Wed Mar 15, 2017 7:10 PM

    There haven't been many attempts at a mapped 3d engine/game for the Atari, and I wish to change that with an in-development project I call VePseu, the Very Pseudo 3d engine

 

    It works by going through the map and gathering a list of walls to draw, which are then rendered onto the screen. It (should be) very predictable and fast, but also limited (the max. viewing distance is 4 walls away).

 

    DASM has been marinating in my brain for about a year now, and I think I am finally prepared to take on a fully featured Atari 2600 program. It's fairly simple, and I hope it isn't absolute crap so you guys can use it.

 

    The GitHub page can be accessed here. UP to go forward, DOWN do go backward, LEFT to turn left, RIGHT to turn right

 

    Looking for ideas to make in the engine. I'm currently thinking of a zombie shooter and a Wolfenstein 3d "port", any other suggestions would be appreciated

 

The demo for VePseu II.III.MMXVII Rev. 0 can be downloaded here:

Attached File  vepseu.bin   4KB   41 downloads

 

screenshot15.gif screenshot16.gif screenshot17.gif


Edited by Gip-Gip, Thu May 4, 2017 8:00 PM.


#2 superwill64 OFFLINE  

superwill64

    Space Invader

  • 25 posts

Posted Fri Mar 17, 2017 3:49 PM

Would love to see a video of this in action.



#3 TheHoboInYourRoom OFFLINE  

TheHoboInYourRoom

    Moonsweeper

  • 346 posts
  • Whackadoo thingamajig
  • Location:Illinois

Posted Fri Mar 17, 2017 5:01 PM

Looks cool. About what frame rate does it run at?



#4 Mr SQL OFFLINE  

Mr SQL

    Stargunner

  • 1,753 posts

Posted Fri Mar 17, 2017 5:21 PM

X2! Looking forward to trying the bin.



#5 Gip-Gip OFFLINE  

Gip-Gip

    Chopper Commander

  • Topic Starter
  • 210 posts
  • Location:Georgia, US

Posted Fri Mar 17, 2017 7:08 PM

Looks cool. About what frame rate does it run at?

Approx. 60 fps at about half the screen in resolution. It doesn't take long to render, but it also takes advantage of several quirks of the reverse bits in the playfield. it's not really that impressive, but it's a start

 

I'm thinking about doing a full-screen renderer in the future, but this is more of a proof of concept



#6 Gip-Gip OFFLINE  

Gip-Gip

    Chopper Commander

  • Topic Starter
  • 210 posts
  • Location:Georgia, US

Posted Fri Mar 17, 2017 7:10 PM

I'm ironing out a few quirks and "optimizing" the code before announcing release. Technically it's on GitHub, but that's a day old and was used for finding a few bugs(in other words, it's ugly)



#7 Gip-Gip OFFLINE  

Gip-Gip

    Chopper Commander

  • Topic Starter
  • 210 posts
  • Location:Georgia, US

Posted Sat Mar 18, 2017 11:28 AM

For those interested you can go to the GitHub page and mess around with the code. You can't move just yet and I don't have the renderer complete, but if you have any comments or suggestions please tell!



#8 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash, THREE·S, Star Castle

  • 22,844 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany, Europe, Earth

Posted Sat Mar 18, 2017 12:35 PM

Cool idea. But how do you move?



#9 Gip-Gip OFFLINE  

Gip-Gip

    Chopper Commander

  • Topic Starter
  • 210 posts
  • Location:Georgia, US

Posted Sat Mar 18, 2017 12:40 PM

Cool idea. But how do you move?

When I add the controls (next), it will be the four directions to look around and trigger to move forward

 

With the project you see on GitHub I haven't added that yet. It won't take long, just wanted to get the render code out there



#10 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash, THREE·S, Star Castle

  • 22,844 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany, Europe, Earth

Posted Sat Mar 18, 2017 12:46 PM

Ah, OK.

 

BTW: You can save 4 cycles (TAY/TYA) when you call consecutive macros like e.g. Y_POS_ADV and X_POS_GAN.



#11 Gip-Gip OFFLINE  

Gip-Gip

    Chopper Commander

  • Topic Starter
  • 210 posts
  • Location:Georgia, US

Posted Sat Mar 18, 2017 1:14 PM

Ah, OK.

 

BTW: You can save 4 cycles (TAY/TYA) when you call consecutive macros like e.g. Y_POS_ADV and X_POS_GAN.

It's not really worth the addition of more code. The way the code is laid out it would have no impact on the given time to other processes



#12 Gip-Gip OFFLINE  

Gip-Gip

    Chopper Commander

  • Topic Starter
  • 210 posts
  • Location:Georgia, US

Posted Sat Mar 18, 2017 2:37 PM

Controls have been added! It's disorienting to say the least, but it does the job. I would like to know, should I add a compass, make the screen bigger, or both?


Edited by Gip-Gip, Sat Mar 18, 2017 2:44 PM.


#13 Gip-Gip OFFLINE  

Gip-Gip

    Chopper Commander

  • Topic Starter
  • 210 posts
  • Location:Georgia, US

Posted Sat Mar 18, 2017 2:41 PM

Either way, I will mainly be focusing on cleaning/optimizing the code now



#14 Gip-Gip OFFLINE  

Gip-Gip

    Chopper Commander

  • Topic Starter
  • 210 posts
  • Location:Georgia, US

Posted Sun Mar 19, 2017 3:38 PM

I've now added a minimap and cleaned up the code. Next I'm going to increase the resolution. Any other suggestions?



#15 splendidnut OFFLINE  

splendidnut

    Star Raider

  • 69 posts
  • Location:PA/NY Border

Posted Sun Mar 19, 2017 4:32 PM

I would suggest changing the controls... Left/Right to turn left or right, and Up/Down to move forward and backward.  The way the controls work now is very awkward for me at least.

 

Also, the minimap seems to bounce around in Stella 4.6.7... which is amusing to watch.  :)



#16 Gip-Gip OFFLINE  

Gip-Gip

    Chopper Commander

  • Topic Starter
  • 210 posts
  • Location:Georgia, US

Posted Sun Mar 19, 2017 6:30 PM

I would suggest changing the controls... Left/Right to turn left or right, and Up/Down to move forward and backward.  The way the controls work now is very awkward for me at least.

 

Done

 

Also, the minimap seems to bounce around in Stella 4.6.7... which is amusing to watch.  :)

 

I think I fixed it. If I didn't, can you tell me which direction it bounces in?



#17 SpiceWare OFFLINE  

SpiceWare

    Draconian

  • 11,660 posts
  • Medieval Mayhem
  • Location:Planet Houston

Posted Sun Mar 19, 2017 6:58 PM

I see you're making good progress!

 

The minimap and the location indicator bounce all over, the minimap breaks in two, and there's way too many scanlines (varies from 280-284 instead of a constant 262):

 

Screen Shot 2017-03-19 at 7.39.46 PM.png  Screen Shot 2017-03-19 at 7.39.48 PM.png  Screen Shot 2017-03-19 at 7.40.13 PM.png  Screen Shot 2017-03-19 at 7.41.07 PM.png  Screen Shot 2017-03-19 at 7.41.09 PM.png

 

If I turn off the option to randomly drive unused TIA lines:

Screen Shot 2017-03-19 at 7.44.13 PM.png

 

then all 3 problems clear up:

Screen Shot 2017-03-19 at 7.44.18 PM.png

 

That's indicative of a missing # in an LDA, LDX or LDY Immediate Mode instruction - basically something like typing this:

LDA 7

 

 

when you wanted to put the number 7 in the Accumulator.  The correct statement would be this:

LDA #7

 

 

LDA 7 goes to memory location 7, fetches the contents from there, and stores it into the Accumulator.  On the Atari memory location 7 is the CXPPMM register, used for detecting collisions between player0 <--> player1 and missile0 <--> missile1.  Only bits 6 and 7 are defined in that register, the other bits are undefined and can cause unexpected results.  I go into that in detail in reply #91 of another topic.



#18 Gip-Gip OFFLINE  

Gip-Gip

    Chopper Commander

  • Topic Starter
  • 210 posts
  • Location:Georgia, US

Posted Sun Mar 19, 2017 7:18 PM

I see you're making good progress!

 

The minimap and the location indicator bounce all over, the minimap breaks in two, and there's way too many scanlines (varies from 280-284 instead of a constant 262):

 

attachicon.gifScreen Shot 2017-03-19 at 7.39.46 PM.png attachicon.gifScreen Shot 2017-03-19 at 7.39.48 PM.png attachicon.gifScreen Shot 2017-03-19 at 7.40.13 PM.png attachicon.gifScreen Shot 2017-03-19 at 7.41.07 PM.png attachicon.gifScreen Shot 2017-03-19 at 7.41.09 PM.png

 

If I turn off the option to randomly drive used TIA lines:

attachicon.gifScreen Shot 2017-03-19 at 7.44.13 PM.png

 

then all 3 problems clear up:

attachicon.gifScreen Shot 2017-03-19 at 7.44.18 PM.png

 

That's indicative of a missing # in an LDA, LDX or LDY Immediate Mode instruction - basically something like typing this:

LDA 7

 

 

when you wanted to put the number 7 in the Accumulator.  The correct statement would be this:

LDA #7

 

 

LDA 7 goes to memory location 7, fetches the contents from there, and stores it into the Accumulator.  On the Atari memory location 7 is the CXPPMM register, used for detecting collisions between player0 <--> player1 and missile0 <--> missile1.  Only bits 6 and 7 are defined in that register, the other bits are undefined and can cause unexpected results.  I go into that in detail in reply #91 of another topic.

Missed an LDX in a loop. Should be all good now!



#19 SpiceWare OFFLINE  

SpiceWare

    Draconian

  • 11,660 posts
  • Medieval Mayhem
  • Location:Planet Houston

Posted Sun Mar 19, 2017 7:21 PM

Missed an LDX in a loop. Should be all good now!

 

 

It is :thumbsup:



#20 splendidnut OFFLINE  

splendidnut

    Star Raider

  • 69 posts
  • Location:PA/NY Border

Posted Sun Mar 19, 2017 7:23 PM

Awesome... much easier to navigate!



#21 Mr SQL OFFLINE  

Mr SQL

    Stargunner

  • 1,753 posts

Posted Sun Mar 19, 2017 11:01 PM

Very cool, just tried the engine - Wolfenstein would be awesome with this! :)



#22 Gip-Gip OFFLINE  

Gip-Gip

    Chopper Commander

  • Topic Starter
  • 210 posts
  • Location:Georgia, US

Posted Mon Mar 20, 2017 4:45 PM

First version-ed update!
 

For VePseu I.I.MMXVII rev. 1 I have added peripheral vision, repeating controls, and a slightly cleaner source code!

 

If anyone has any objections to the source's organization, please tell within the next day before I clean it further

 

In the mean time, I'll work on an upscaler and a sprite kernel



#23 Gip-Gip OFFLINE  

Gip-Gip

    Chopper Commander

  • Topic Starter
  • 210 posts
  • Location:Georgia, US

Posted Mon Mar 20, 2017 6:21 PM

here's a representation of the veiwport after the upscaling.

 

sketch.gif



#24 Gip-Gip OFFLINE  

Gip-Gip

    Chopper Commander

  • Topic Starter
  • 210 posts
  • Location:Georgia, US

Posted Fri Mar 31, 2017 8:49 AM

Update:

 

Right now I'm taking the time to re-write half the program to support a full screen and higher-depth shadows. Spring break's coming up so I'm going to have an update out by the end of next week. If anyone wants any new features, now would be the best time to tell me.



#25 iesposta OFFLINE  

iesposta

    River Patroller

  • 3,428 posts
  • Retro-gaming w/my VCS
  • Location:Pennsylvania

Posted Fri Mar 31, 2017 7:45 PM

Suggestion. 

Take a look at Starpath Escape From The Mindmaster in Stella's debug colors. 

I love the way it uses sliding diagonal missiles and/or ball set to the background (invisible) to smooth the tops and bottoms of the walls out. 

And a floating rectangle that enlarges the closer you get makes the "doors" to the "rooms". 

 

Worth investigating for that less blocky polish, although I like the wide PF pixels also. 

 

Gip, did you make that Raycasting demo with the multi-colored Playfield I asked about here?

 

http://atariage.com/...demo/?p=3731023







Also tagged with one or more of these keywords: 3d, renderer, vanilla, cart, 2600

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users