Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411427 Posts in 69363 Topics- by 58416 Members - Latest Member: JamesAGreen

April 19, 2024, 11:29:24 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperTechnical (Moderator: ThemsAllTook)Voxels to Pixel Art, programmatically
Pages: [1]
Print
Author Topic: Voxels to Pixel Art, programmatically  (Read 1961 times)
cykboy
Level 2
**

ye


View Profile
« on: February 22, 2018, 04:33:55 PM »

Hey!

Been working on a super secret project for over a year that I thought I'd share to see who is interested, if anyone.

I wanted an engine that could render pixel art from any perspective using voxel data, this has a few benefits including:
  • Dynamic Lighting
  • Dynamic Shadow Mapping
  • Dynamic Normal Mapping
  • Runtime camera rotation
  • Uses standard 4x4 matrices and 3d vectors
  • Raytraced Lighting
  • Fast and easy physics/collisions
  • Fully Destructible Environments
  • 1 pixel = 1 voxel in orthographic perspective
  • Infinite World Streaming
  • SSAO
  • Isometric, diametric, oblique, who the fuck cares - its supported

Take the following isometric scene



Usually it'd be comprised of flat layers, or a tileset collection like this



But then your artist has to draw every angle that your camera can possibly rotate to, usually isometric games allow some form of camera rotation but usually its a hacky way of rotating map data and using 4 different sprites. Then you are still working with 2D information, so you have to hack and fake alot of calculations to fake 3D effects.

What if you could just supply a different camera angle and it'd just "work"?



This provides alot of gameplay benefits, and you could even develop mechanics around it (think Fez). Of course, it can be completely side view or even top down.



And here is a wall with some guttering, one of the "tiles" in the above images:



For a typical isometric viewpoint, the cache would look a bit like this. Each chunk (64x64x64 voxels) is rendered to a 128x128 image:



Here's some of the fancy effects that I listed above:




Let me know if any questions, I can provide some more technical info if you are interested. Here's some misc videos of experiments that I did in the engine:

Gameplay test




REALLY EARLY prototype stuff






https://youtu.be/uw47BE8y6QM
https://youtu.be/lJcy-VWDpWY?t=1

« Last Edit: February 22, 2018, 04:45:37 PM by Antraxx » Logged
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic