? 3D Landscape Demo ● SmileBASIC Source

Sign In

Register
*Usernames are case-sensitive
Forgot my password

3D Landscape Demo

Submitted
Updated
Author
Nathaniel
Public Key
ZE7EE3AE
Min. Compat.
All
Rating
4 votes
Description 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

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

Limitations

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

Demo Controls

  1. Circle pad: rotate camera
  2. A: accelerate forward
Categories
Keywords
  • Mode
  • 7
  • SNES
6 Comment(s) dfrost2 dfrost2 Expert Programmer Programming no longer gives me any trouble. Come to me for help, if you like! Programming Strength Minecraft Is Awesome! I love Minecraft! Express Yourself how does this work Nathaniel Nathaniel Spring 2017 Contest Winner I won the SmileBASIC Source Spring 2017 Contest! Programming Contest Staff Pick "Your program is one of our favorites!" - Staff Achievements Helper Received for being very helpful around SmileBASIC Source Achievements 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. dfrost2 dfrost2 Expert Programmer Programming no longer gives me any trouble. Come to me for help, if you like! Programming Strength Minecraft Is Awesome! I love Minecraft! Express Yourself REALLY SMART IDEA! CyberYoshi64 CyberYoshi64 Avatar Taboo I didn't change my avatar for 180 days Website Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Forum Contributor Hidden Achievements 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. Maybe I can manipulate it a little, credit you and create some sort of racing (RGO already did) or something… Nathaniel Nathaniel Spring 2017 Contest Winner I won the SmileBASIC Source Spring 2017 Contest! Programming Contest Staff Pick "Your program is one of our favorites!" - Staff Achievements Helper Received for being very helpful around SmileBASIC Source Achievements Go ahead! I was actually thinking of doing the same thing before I released it. Can't wait to see what you create! CyberYoshi64 CyberYoshi64 Avatar Taboo I didn't change my avatar for 180 days Website Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Forum Contributor Hidden Achievements [ spoiler ]: Well, I think I do that like during Sonic R's (Saturn) development. This may take some time to even begin with. I have Win3DS and my upcoming game to work on.But I think you'll like it after it's beta ver. 0.0.1