LoginLogin
Might make SBS readonly: thread

3D Landscape Demo

Root / Submissions / [.]

NathanielCreated:
Version:Size:
Here's a simple 3D landscape demo based on the 3D capabilities of the SNES's mode 7. Because of the way I created it, the camera rotation is a tad jittery but it doesn't seem to be too much of an issue. Also, this works best on the N3DS but it can also run on the O3DS with lowered resolution. Oh, and if you get an "out of memory" error then simply close and re-open SmileBASIC to clear the memory. Feel free to ask any questions.

Instructions:

Simple Variables

  • SAVE_LOAD: if this value is true then the program will save and load any rendered data to skip the rendering process
  • PIXLES_WH: controls the width and the height of the square map
  • ROTATIONS: controls the number of rotational steps per 90°

Limitations

  • Framerate: it runs at 60fps on its own but it may cause lag if too much processing time is used up with other things
  • Camera Rotation: this is only limited to the amount of memory available (lower resolution=more rotational steps)
  • Camera Movement: if the pixels on the map get too big, the camera movement will become very jittery
  • Map Size: the pixel map must be a square with a maximum width of 256 pixels
  • Resolution: full quality :)
  • Sprites: none required :)

Demo Controls

  • Circle pad: rotate camera
  • A: accelerate forward

I like this. Even the idea that it uses GRP4 (for the plane) and you can use a custom GRP resource to accomplish tracks or scrolling BGs.
SpoilerMaybe I can manipulate it a little, credit you and create some sort of racing (RGO already did) or something…

Replying to:CyberYoshi64
I like this. Even the idea that it uses GRP4 (for the plane) and you can use a custom GRP resource to accomplish tracks or scrolling BGs.
SpoilerMaybe I can manipulate it a little, credit you and create some sort of racing (RGO already did) or something…
SpoilerGo ahead! I was actually thinking of doing the same thing before I released it. Can't wait to see what you create!

Replying to:CyberYoshi64
I like this. Even the idea that it uses GRP4 (for the plane) and you can use a custom GRP resource to accomplish tracks or scrolling BGs.
SpoilerMaybe I can manipulate it a little, credit you and create some sort of racing (RGO already did) or something…
Spoiler[ spoiler ]: Well, I think I do that like during Sonic R's (Saturn) development. This may take some time to even begin with.
SpoilerI have Win3DS and my upcoming game to work on.
But I think you'll like it after it's beta ver. 0.0.1

how does this work

Replying to:DFrost
how does this work
I used a combination of pre-rendered rotated landscapes, wrapping the image on itself, and palette-swapping with GLOAD. The steps in order: > pre-render all the possible rotational landscapes from 0 to 90 degrees into a large array > pre-render four images to copy, one for every 90 degrees (in the loop) > copy the correct landscape into a loading array (changes for every available landscape) > copy the correct image four times into the copy page (changes every 90 degrees) > copy the wrapped image from the copy page into the palette array (based on X and Y) > load the landscape with the palette This is the best method I could think of that doesn't use ARYOP.

Replying to:DFrost
how does this work
REALLY SMART IDEA!

Thanks! With this, I can maybe make a Sonic 3 Special Stage Demo!