Log In  

Cart #39671 | 2017-04-14 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
5

First real test-case for a 3D prop editor I've been making for Pico8.

There's no interaction in this demo - it's just four cars that drive around the screen. They also don't do any collision detection or avoidance, so they just drive through each other sometimes.

The point of the tool is that it lets you create and edit simple 3D props for use in Pico8 games. The editor is made in Pico8 so you can get a live preview with the same renderer that gets used in-game (crucial for lo-fi rendering!). The other reason that the editor is made in Pico8 was because it seemed like a funny thing to do.

If you clicked the link to the gif above, you may have noticed a familiar face - the tool can import triangle meshes, so that clip is showing a render of Suzanne (the test-monkey from Blender).

The workflow for making the cars goes like this:

  1. Make a car mesh in blender

  2. Run the mesh through a Unity utility I made that converts the model into a different coordinate space and exports a serialized mesh

  3. Add tires in the Prop Editor and tune up colors+triangles

  4. Export to console, paste the model into another cartridge (which contains the renderer) as a giant string

There's still room for improvement, but I'm at the point where I'd need to start optimizing out a bunch of tokens to add any more stuff to the editor. The renderer on its own is about 1700 tokens, so I think there's a reasonable amount of space left (>6000 tokens) for it to be used in a releasable game. Also, while each model is only one token, a really complex model (by lo-fi standards) can end up being a few thousand characters...

...but the serialization format is completely uncompressed right now - particularly, it includes every serialized variable name as plaintext (instead of just using a fixed order to infer the meanings of different numbers). This would cut the character-count down by a whole lot - like 50% smaller, or something.

Will likely release the editor on the BBS, though it's worth noting that for it to really be useful, you need to run it in the standalone Pico8, because you have to start it from the command line in order to export your models.

And for it to be fully-activated, you'd also want to be able to convert other meshes into the special serialization format. It's fun to make 3D stuff in this pico8 tool, but it's really not appropriate for making triangle meshes from scratch (no extrusion, edge loops, etc), so it's best to just do that elsewhere and import it into the tool for extra additions and final tuning. If you're a Unity user, I'd be happy to share my converter project with you. If you're not a Unity user but you do have some other 3D-model-scripting capability, I can explain how the middle-man works (that part is pretty simple)

Not exactly sure what it'll be, but I'm gonna make some type of cool shit with this thing!

P#39672 2017-04-14 19:35 ( Edited 2017-04-15 16:17)

The only issue I see here is that you've got what seems like around 5 cars driving around and you're already at 60+% cpu usage.

You think you can bust out a 3D game, even a simple one without super lag? Please don't get me wrong, this is absolutely impressive.

P#39691 2017-04-15 12:17 ( Edited 2017-04-15 16:17)

[Please log in to post a comment]

Follow Lexaloffle:          
Generated 2024-03-28 13:02:49 | 0.008s | Q:12