Hey there

Introduce yourself!

Hey there

Postby nhcham » Mon Dec 12, 2016 9:28 am

Hey, I've just recently stumbled across the Gamebuino and ordered it right away. And I have to say I'm stunned by the idea, the look and feel, and the huge amount of games. What an awesome project! Thanks, Rodot!

I've seen the 3D engine demo and was very excited about it and decided to try and build a mini Descent-like clone. And it's already in a state that can be tested:

20161212_100431.jpg (185.49 KiB) Viewed 16154 times

Source: https://nhcham.org/descent.ino
HEX: https://nhcham.org/descent.ino.hex

Rotate with direction keys, press A to go forward, press B to strafe.

  • real 3D, 6 DOF movement
  • 9 to 19 FPS (enable FPS counter by defining DEBUG)
  • collision detection

I've implemented the demo as a portal rendering engine (https://en.wikipedia.org/wiki/Portal_rendering). The level consists of convex 2D segments which are connected via shared edges. Segments may have different floor and ceiling heights. Currently there are 9 segments in the game.

There's a couple of things still left to do:

  • frustum clipping is not always correct for adjacent segments with different floor and ceiling heights
  • move level data to PROGMEM to save RAM and have a bigger level
  • more compact level data (one byte for combined dx and dy per vertex instead of one byte for each)
  • quick face culling based on normal vector (fewer walls to clip against frustum)
  • there's an occasional glitch when moving from one segment to the next (only visible for one frame)
  • portal walls cannot share the same plane with normal walls, as the normal wall's collision detection will prevent going through the portal
  • add sprites, add shooting

Oh, and there's only ~100 bytes of RAM left when running the program, and it won't survive going back to the menu and being restarted, probably because RAM is tight. I'm still trying to figure that one out - I've certainly learned a lot about RAM usage!
Last edited by nhcham on Mon Dec 12, 2016 10:38 am, edited 1 time in total.
User avatar
Posts: 7
Joined: Mon Dec 05, 2016 10:19 pm
Location: Berlin, Germany

Re: Hey there

Postby rodot » Mon Dec 12, 2016 10:32 am

Looks promising ! Descent 3 was actually the first game I bought (quite a while ago), so I'm really looking forward to the final version :)
Could you link to any tutorial or documentation about this kind of rendering, for those willing to understand what's going on behind the scene (including myself) ?

Pro Tip: you can upload attachement and insert inline pictures, this way links won't get broken over time
User avatar
Site Admin
Posts: 1290
Joined: Mon Nov 19, 2012 11:54 pm
Location: France

Re: Hey there

Postby isokinetic » Mon Dec 12, 2016 10:36 am

I still think that smart glasses are the way to go. Will you add an activity tracker later on?
Posts: 1
Joined: Mon Dec 12, 2016 10:12 am

Re: Hey there

Postby nhcham » Mon Dec 12, 2016 10:40 am

@rodot: Thanks, I've uploaded the image and added a link with a portal rendering primer! I'm planning to write a detailed post about how this works in the next couple of weeks.
User avatar
Posts: 7
Joined: Mon Dec 05, 2016 10:19 pm
Location: Berlin, Germany

Return to Presentation

Who is online

Users browsing this forum: No registered users and 1 guest