Log In  

Cart [#40542#] | Copy | Code | 2017-05-13 | Link

Here's a demo effect kludged together from some doodles I had been playing with.
I'm quite fond of my new and improved 3D shading. (It's not quite as speedy as the line shading I was using previously, but it gives smoother gradients.)

-Electric Gryphon

P#40543 2017-05-13 15:29


Cart [#40490#] | Copy | Code | 2017-05-12 | Link

I've been hacking at a ray-marching 3D rendering app.

--Phong shading
--Dithered colors

It takes a while to draw each image. Press the Z button to cycle to the next image.


P#40491 2017-05-12 02:36


Cart [#40009#] | Copy | Code | 2017-04-29 | Link

Here's a stab at some lossy compression of the Bad Apple animation-- clocking in at 25 seconds long without even touching the sprite sheet.

The compression algorithm finds the best possible dictionary of 32 different 8x8 tiles with which to represent all of the frames of the animation. Then for each 8x8 chunk of each frame that is being compressed, I find the closest possible match out of this dictionary and record the index of this chunk. Finally, I use run length encoding to compress the string of dictionary indexes for each frame. (That's the idea at least...)

That gets things down to around 54 bytes per frame while still being recognizable.

This is inspired by gamax92 (https://www.lexaloffle.com/bbs/?tid=3263) and this C64 version (https://www.youtube.com/watch?v=OsDy-4L6-tQ)


P#40010 2017-04-29 02:04


Cart [#39462#] | Copy | Code | 2017-04-09 | Link

Inspired by old-school demo-scene effects, here is a new and improved grayscale bump map render, which takes 8 bit height map input and generates real-time shading effects.

Please see GitHub for Python image conversion script and sample files. (https://github.com/electricgryphon/pico-9-height-map-converter)

I found the skull height map in the following forum:

--Electric Gryphon

P#39461 2017-04-09 15:51


Cart [#38734#] | Copy | Code | 2017-03-25 | Link

Why settle for single renderings of a Mandelbrot when we can smoothly zoom in?

--Dithered Palette Animation
--Smooth Bilinear Zoom from sprite buffer
--Background Rendering of Mandelbrot into a (third?) buffer

The way this works is that we graphically zoom into initially rendered view of the Mandelbrot from the sprite buffer. While doing this, we are drawing the next level of Mandelbrot zoom into a second background buffer. When it's done, this gets copied into the zoom/sprite buffer. Lather, rinse, repeat.

Overall, a neat effect I think. Though, I wonder if I should trade the (more or less) smooth frame rate and dithering for less chunky pixels.

Also, I realize that I am awful at spelling "Mandelbrot".

-Electric Gryphon

mandelbrot zoom demo fractal
P#38735 2017-03-25 17:10


Cart [#38370#] | Copy | Code | 2017-03-18 | Link

Happy Saturday!

This is an attempt to create a faster falling sand simulation (60fps) by reading and writing directly to screen memory. All pixels / sand particles are active at all times.

I was inspired by Helado's Tiny Terrarium and Axnjxn's Falling sand.

I'm writing 1X2 pixel blocks in order to work directly with bytes and avoid bit-masking to address individual pixels. Then, I am using the display mode hack ( poke(0x5f2c, 2) ) to stretch the vertical scale of the display by 2X without requiring me to write any more data to screen memory.

-Electric Gryphon

P#38371 2017-03-18 16:12


Cart [#34798#] | Copy | Code | 2017-01-02 | Link

old version:

Cart [#32573#] | Copy | Code | 2016-11-17 | Link

Here is a cleaned up version of the 3D library that I put together for the Pico Fox game.

The demo code is commented in more detail, but here is the basic gist.

Copy the code between Begin Cut and End Cut. (It's a big chunk.)

In _init() function include:
--init_3d() --Need to call init_3d() to set up player, camera and lights
--use load_object(object_vertices,object_faces,x,y,z,ax,ay,az,obstacle,color_mode,color) to load 3D models into the world
--use read_vector_string and read_face_string to generate vertex list and face list from string data

In _update() function include:
--handle_buttons() -- handle default buttons for player-- this can be overwritten obviously.
--update_player() -- update the player with default movement, stopping at obstacles
--update_camera() -- update the camera based on player location and direction
--update_particles() --update 3D particles if used. (I didn't add any for this demo.)
--update_3d() -- call update_3d() at the end of the _update() function to transform etc.

in _draw() function include:
--draw_3d() --render objects into triangles, sort the triangles and draw them onto the screen

Please feel free to use this in your projects as well as to update it and make it work better.

New features for version 2:
--Significant speed increase (2X!)
--Load models from strings to save token space
--Python script to translate from ".obj" files to compressed string

Run the script in the folder with the files that you are converting.
python low_poly_compress-01.py filename.obj

Detailed instructions and script found on GitHub.

3d library
P#32574 2016-11-17 01:56


Cart [#32479#] | Copy | Code | 2016-11-14 | Link

Fly your Arwing to victory in this demake of a certain, iconic SNES game.

Arrow Keys: Move ship, Select level in title screen
z/o: Fire

Filled 3D polygon graphics-- reminiscent of SuperFX chip
3 levels -- select with left or right on the title screen
2 enemy types

Special thanks:
Star Fox Cornerea music sequenced by PJBarnes.com (http://www.khinsider.com/midi/snes/starfox) and imported using kittenm4ster's midi to pico-8 tracker translator (https://github.com/andmatand/midi-to-pico8)

I finished this game with our three week old son sitting in my lap. I guess this is one our first father-son activities together--kinda sweet in a very nerdy way. Perhaps his first words will be in Lua.

Let me know if you would be interested in a cleaned up version of the 3D library that I put together for this project.

3d starfox flight simulator shump space
P#32480 2016-11-14 22:57


Cart [#32244#] | Copy | Code | 2016-11-05 | Link

The forest is looking more foreboding these days.

-Electric Gryphon

P#32245 2016-11-05 13:44


Cart [#32271#] | Copy | Code | 2016-11-06 | Link

Old version

Cart [#32241#] | Copy | Code | 2016-11-05 | Link

The Galactic Tourism Bureau has put together a collection of postcards from their enticing travel destinations.
Postcards will switch every few seconds to ensure that you experience each of the 5,000 locales.

Thanks qbicfeet for the font library. (https://www.lexaloffle.com/bbs/?tid=27669)

V2 Changes:
--Improved near field clipping
--Water color can change
--Galactic index is readable

-Electric Gryphon

P#32242 2016-11-05 12:57

:: More
About | Contact | Updates | Terms of Use
Follow Lexaloffle:        
Generated 2017-06-23 05:10 | 0.237s | 1835k | Q:87