Log In  
12

Cart [#44669#] | Copy | Code | 2017-09-27 | Link
12

Step into cyberspace with cutting-edge 3D vector graphics. Battle tanks with your triangular pew-pew cannon. Explode into a number of polygons.

This is an homage to Specter VR, which came packaged with my Macintosh Performa back in the day.
https://www.mobygames.com/game/spectre

Features:
-60 fps
-Motion blur effects
-Blue/Red 3D glasses mode (it actually works)
-Multiple camera modes
-An attempt at writing title music

Issues:
Gameplay is a bit, well, simple. Basically drive around shooting and being shot at.

--Electric Gryphon

3d tank 60fps
P#44653 2017-09-27 01:31

15

Cart [#43486#] | Copy | Code | 2017-08-20 | Link
15

Take aim, fire and score! It's Desert Lead 3D!

Spread the desert with the dented and shattered remains of bottles and cans. It's like recycling, but more destructive.

For use with the Pico Light Gun, Desert Lead 3D is also compatible with the Pico Mouse.
(Pico Light Gun is only available in selected dimensions.)
Click at the bottom of the screen to reload.

Old version

Cart [#43449#] | Copy | Code | 2017-08-20 | Link
15

Notes:
Sound effects could use some love. Anyone have a good shot and "plink" sound?
Affine texture mapped 3D isn't perfect, but it does create the appropriate effect.
Scoring system may be a bit glitched right now.

Credits:
Thanks Felice for the sound and cross hair improvements.

-Electric Gryphon

3d shooting target
P#43451 2017-08-20 02:24

19

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

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

29

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

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

Features:
--Phong shading
--Shadows
--Dithered colors

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

-ElectricGryphon

P#40491 2017-05-12 02:36

6

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

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)

-ElectricGryphon

P#40010 2017-04-29 02:04

13

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

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:
http://www.cnczone.com/forums/artcam-pro/156994-last-supper-bas-relief-trade.html

--Electric Gryphon

P#39461 2017-04-09 15:51

11

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

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

Features:
--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

5

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

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.
https://www.lexaloffle.com/bbs/?uid=10783
https://www.lexaloffle.com/bbs/?uid=23000

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

84

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

old version:

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

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.
https://github.com/electricgryphon/Pico-8-Gryphon-3D-Engine-Library

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

100

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

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

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

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

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)

Notes:
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


:: More
X
About | Contact | Updates | Terms of Use
Follow Lexaloffle:        
Generated 2017-10-20 07:08 | 0.302s | 1835k | Q:123