electricgryphon [Lexaloffle Blog Feed]https://www.lexaloffle.com/bbs/?uid=10844 More Postcards from the Fringe <p> <table><tr><td> <a href="/bbs/?pid=68270#p"> <img src="/bbs/thumbs/pico8_landscape_16-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=68270#p"> landscape_16</a><br><br> by <a href="/bbs/?uid=10844"> electricgryphon</a> <br><br><br> <a href="/bbs/?pid=68270#p"> [Click to Play]</a> </td></tr></table> <br /> Old Version<br /> <div><div><input type="button" value=" Show " onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = ' Hide '; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = ' Show '; }"></div><div><div style="display: none;"><br /> <table><tr><td> <a href="/bbs/?pid=68270#p"> <img src="/bbs/thumbs/pico8_landscape_07-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=68270#p"> landscape_07</a><br><br> by <a href="/bbs/?uid=10844"> electricgryphon</a> <br><br><br> <a href="/bbs/?pid=68270#p"> [Click to Play]</a> </td></tr></table> <br /> </div></div></div></p> <p>Explore alien lands with a high-color world generator.</p> <p><a href="https://www.lexaloffle.com/bbs/files/10844/landscape-16_011.png" target=_view_image><img style="" border=0 src="https://www.lexaloffle.com/bbs/files/10844/landscape-16_011.png" width=160 height=160 alt="" /></a><a href="https://www.lexaloffle.com/bbs/files/10844/landscape-16_008.png" target=_view_image><img style="" border=0 src="https://www.lexaloffle.com/bbs/files/10844/landscape-16_008.png" width=160 height=160 alt="" /></a></p> <p>This is a new take on Postcards From the Fringe, which I made a few years ago. <a href="https://www.lexaloffle.com/bbs/?tid=28026">https://www.lexaloffle.com/bbs/?tid=28026</a></p> <p>Press &quot;z&quot; to visit a new, random planet.</p> <p>Features:<br /> --High-color flicker dither technology with 4,096 indexed colors/patterns [Warning flashing lights]<br /> --Endless bicubic noise mountains<br /> --Mountain shape variations: islands, hills, spires, etc.<br /> --Alien sunset sky with clouds<br /> --Water with ripples and sky reflection<br /> --Preview render in standard (non flicker) mode<br /> --Anti-aliased image composing with alpha channel</p> <p>To do:<br /> --Ability to save / share worlds<br /> --Controls to tweak variables</p> <p>Technical:<br /> This is a voxel landscape engine, actually adapted from Pico Kart but with height added. The system is not very optimized for speed right now... definitely room to make it a lot faster even if not real-time.<br /> Color handling is taken from my Hypercolor Paint cart. The palettes of colors and patterns are loaded from cart memory and generated by another cart that takes ages to run.</p> <p>-Electric Gryphon</p> https://www.lexaloffle.com/bbs/?tid=35481 https://www.lexaloffle.com/bbs/?tid=35481 Mon, 30 Sep 2019 05:26:39 UTC hypercolor_paint <p> <table><tr><td> <a href="/bbs/?pid=65915#p"> <img src="/bbs/thumbs/pico8_hypercolor_paint-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=65915#p"> hypercolor_paint</a><br><br> by <a href="/bbs/?uid=10844"> electricgryphon</a> <br><br><br> <a href="/bbs/?pid=65915#p"> [Click to Play]</a> </td></tr></table> </p> <p>Introducing Hypercolor Paint, a high-color painting application for the PICO-8.</p> <p>Features:<br /> Paint in either high color mode (flicker) or standard (dithered) mode.<br /> While editing, pixels are treated as 56,535 level 3-channel color.<br /> Use a variety of brushes, with control of color, size and pressure to achieve desired effects.<br /> Save images (requires download)<br /> Export images (requires download)</p> <p>Example Images: (High color mode is simulated)<br /> <img style="" border=0 src="https://www.lexaloffle.com/bbs/files/10844/tiger_blended-01.png" alt="" /><img style="" border=0 src="https://www.lexaloffle.com/bbs/files/10844/hypercolor_paint-14_bunny_blend.png" alt="" /><img style="" border=0 src="https://www.lexaloffle.com/bbs/files/10844/hypercolor_paint-14_face_blend.png" alt="" /><img style="" border=0 src="https://www.lexaloffle.com/bbs/files/10844/palette_blended-01.png" alt="" /></p> <p>&lt;b&gt;Keyboard:&lt;/b&gt;<br /> Z: Switch between paint mode and palette mode<br /> Tab: Switch between high color and standard color mode<br /> Mouse: Paint with left mouse button</p> <p>&lt;b&gt;Palette Screen:&lt;/b&gt;<br /> ?: Show splash screen<br /> Color: Switch between paint mode and palette mode<br /> Save: Save image locally to hyper_color_save.p8 (image will be cropped)<br /> Load: Load image locally from hyper_color_save.p8<br /> Export: Export image to hyper_color_export.p8<br /> For standard color images, the sprite sheet will capture the full image.<br /> For high color images, data is stored in sprite sheet as well as map and sound effect locations.</p> <p>In order to view images, paste the following code into hyper_color_export.p8:<br /> &lt;code&gt;<br /> k_display_adr=0x6000<br /> k_screen_1_adr=0x0000<br /> k_screen_2_adr=0x2000<br /> k_screen_len=0x2000<br /> cur_frame=0</p> <p>function _update60()<br /> end<br /> function _draw()<br /> cur_frame+=1<br /> if(cur_frame%2==0)then<br /> memcpy(k_display_adr,k_screen_1_adr,k_screen_len)<br /> else<br /> memcpy(k_display_adr,k_screen_2_adr,k_screen_len)<br /> end<br /> end<br /> &lt;/code&gt;</p> <p>Technical notes:<br /> Two different 16X16X16 color look up tables are used to achieve responsive paint effects with dithering at 60 fps. In order to avoid a massive slow down (it takes a number of minutes to build the color cube) the look up table is generated by a different cart and loaded into sprite, map and sound memory.</p> <p>Example exported cart:<br /> <table><tr><td> <a href="/bbs/?pid=65915#p"> <img src="/bbs/thumbs/pico8_bunny-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=65915#p"> bunny</a><br><br> by <a href="/bbs/?uid=10844"> electricgryphon</a> <br><br><br> <a href="/bbs/?pid=65915#p"> [Click to Play]</a> </td></tr></table> </p> https://www.lexaloffle.com/bbs/?tid=34765 https://www.lexaloffle.com/bbs/?tid=34765 Thu, 18 Jul 2019 06:08:27 UTC flyover_toy <p> <table><tr><td> <a href="/bbs/?pid=64881#p"> <img src="/bbs/thumbs/pico8_flyover_toy-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=64881#p"> flyover_toy</a><br><br> by <a href="/bbs/?uid=10844"> electricgryphon</a> <br><br><br> <a href="/bbs/?pid=64881#p"> [Click to Play]</a> </td></tr></table> </p> <p>Been playing with cubic smoothing of simple noise for endless landscape generation.<br /> It's definitely slower than lerping, but I think it creates more realistic looking shapes. In order to get a nice interactive frame rate, I had to rely on scrolling the screen and just updating the top portion. It kinda works although the textures smear vertically.</p> <p>Press &quot;z&quot; to randomize parameters.</p> <p>-Electric Gryphon</p> https://www.lexaloffle.com/bbs/?tid=34382 https://www.lexaloffle.com/bbs/?tid=34382 Fri, 31 May 2019 04:43:44 UTC Pico Image Morph 2000 <p> <table><tr><td> <a href="/bbs/?pid=62193#p"> <img src="/bbs/thumbs/pico8_image_morph_a-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=62193#p"> image_morph_a</a><br><br> by <a href="/bbs/?uid=10844"> electricgryphon</a> <br><br><br> <a href="/bbs/?pid=62193#p"> [Click to Play]</a> </td></tr></table> </p> <h2>Pico Image Morph 2000</h2> <p>Use your personal Pico-8 computer to create professional-quality image morphing effects as seen in blockbusters such as &quot;Willow&quot; and &quot;Terminator 2&quot;. Use the power of Pico Image Moprh 2000 to seamlessly transform one person into another or even change a cat into a dog!</p> <p>Pico Image Morph 2000 can even be used to create wacky deformations! The possibilities are endless!</p> <h3>Instructions:</h3> <p>Pico Image Morph 2000 requires the use of the Pico Mouse Accessory.<br /> While in &quot;Position Mode&quot;, locate deform points along critical portions of the image, such as centers of eyes or the edges of lips.<br /> Switch to &quot;Deform Mode&quot; to drag deform points to new locations.<br /> Use the &quot;Onion Skin&quot; button to switch between viewing the Start Image, Target Image, or a blended overlay of both.<br /> Click the &quot;Animate&quot; button to loop the animation<br /> The system include 5 different image to morph between.</p> <p><img style="" border=0 src="https://www.lexaloffle.com/bbs/files/10844/image_morph-09_005.png" alt="" /> <img style="" border=0 src="https://www.lexaloffle.com/bbs/files/10844/image_morph-09_003.png" alt="" /></p> <p><img style="" border=0 src="https://www.lexaloffle.com/bbs/files/10844/image_morph-09_2.gif" alt="" /> <img style="" border=0 src="https://www.lexaloffle.com/bbs/files/10844/monro_anim2.gif" alt="" /></p> <h3>Technical notes:</h3> <p>Morphing is done by using affine triangle transformations, and blending control point and texture coordinate positions for a source and a destination image and then compositing them together. This is a naive way to morph images, but at this resolution it actually works pretty well.<br /> Images are store in strings within the code--they are simply 64X64 16 level grayscale images. I can share the python script if anyone wants it.</p> <p><a href="https://en.wikipedia.org/wiki/Morphing">https://en.wikipedia.org/wiki/Morphing</a></p> <p>Totally worth watching is the demo real for Elastic Reality from the early 90's. <a href="https://www.youtube.com/watch?v=AD5R7dJM4eU">https://www.youtube.com/watch?v=AD5R7dJM4eU</a></p> <p>--Electric Gryphon</p> https://www.lexaloffle.com/bbs/?tid=33366 https://www.lexaloffle.com/bbs/?tid=33366 Sun, 24 Feb 2019 02:23:28 UTC Vox Mine 3D <p> <table><tr><td> <a href="/bbs/?pid=60809#p"> <img src="/bbs/thumbs/pico8_vox_mine_28-1.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=60809#p"> vox_mine_28</a><br><br> by <a href="/bbs/?uid=10844"> electricgryphon</a> <br><br><br> <a href="/bbs/?pid=60809#p"> [Click to Play]</a> </td></tr></table> </p> <p>Mine your way to fame and fortune in a continuously generated 3D voxel world. But keep an eye on your energy level and make sure you can find your way back through the deep and twisted caves.</p> <p><a href="https://www.lexaloffle.com/bbs/files/10844/voxel-22_007.png" target=_view_image><img style="" border=0 src="https://www.lexaloffle.com/bbs/files/10844/voxel-22_007.png" width=160 height=160 alt="" /></a><a href="https://www.lexaloffle.com/bbs/files/10844/voxel-22_005.png" target=_view_image><img style="" border=0 src="https://www.lexaloffle.com/bbs/files/10844/voxel-22_005.png" width=160 height=160 alt="" /></a></p> <p>Build block fortresses with a variety of materials.<br /> <a href="https://www.lexaloffle.com/bbs/files/10844/voxel-22_004.png" target=_view_image><img style="" border=0 src="https://www.lexaloffle.com/bbs/files/10844/voxel-22_004.png" width=160 height=160 alt="" /></a></p> <p>Use the Far-View 3D Map and GPS to stay safe.<br /> <a href="https://www.lexaloffle.com/bbs/files/10844/voxel-22_002.png" target=_view_image><img style="" border=0 src="https://www.lexaloffle.com/bbs/files/10844/voxel-22_002.png" width=160 height=160 alt="" /></a></p> <p><strong>Instructions:</strong><br /> s,f: turn left and right<br /> e,d: move forward and backwards<br /> lshift or z: jump (hold to jump higher if upgraded)</p> <p>The mouse is required for mining and building.<br /> Click on shop computer to enter store menu. Ore and gems will auto-sell.</p> <p>With laser selected, click and hold on a block to mine it. Circular progress bar will indicate how long is left. Precious ores will take longer to mine.</p> <p>With a placeable block selected, click on the side of an existing block to place a new block.</p> <p>Energy will deplete when moving, jumping or mining. The battery can be recharged by standing on the glowing yellow charge squares near the shop. When your energy goes to zero, you will lose most of your money and be teleported back to the starting point. </p> <p><strong>Recommendations:</strong></p> <ul> <li>The GPS or Far View are good investments early on because it's easy to get lost.</li> <li>Be very careful about falling into caves. They may go very deep and getting back home before energy runs out could prove a challenge.</li> </ul> <p><strong>Notes:</strong><br /> This game uses a modified ray-casting engine based on tutorials from (<a href="https://lodev.org/cgtutor/raycasting.html">https://lodev.org/cgtutor/raycasting.html</a>). This was extended to work with voxels, reading in a local 3-dimensional map array.</p> <p>The map is generated dynamically as the player moves around. However, it is set up such that the same block will always exist at the same x,y,z coordinates. In addition, there is a user map that is used to store the locations of blocks that the user added or removed. These are essentially stored in a sparse matrix.</p> <p>There is currently no way to save your constructions. It might be possible to save some aspects of the world with the persistent cart data, but I don't know that 256 bytes will be sufficient. Clipboard import and export might be a better way to allow folks to share creations.</p> <p>The code is a dog's breakfast. Token count wasn't really a problem for me on this one, but it was a struggle to keep frame rate acceptable with the world rendering code. I'd love to be able to increase the view depth without dropping to 15 FPS.</p> <p>-electricgryphon</p> https://www.lexaloffle.com/bbs/?tid=32894 https://www.lexaloffle.com/bbs/?tid=32894 Mon, 14 Jan 2019 06:52:53 UTC Wandering Through the Star Mush <p> <table><tr><td> <a href="/bbs/?pid=60037#p"> <img src="/bbs/thumbs/pico8_bw_scroll1-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=60037#p"> bw_scroll1</a><br><br> by <a href="/bbs/?uid=10844"> electricgryphon</a> <br><br><br> <a href="/bbs/?pid=60037#p"> [Click to Play]</a> </td></tr></table> <br /> Take a stroll through the swirly bits of my imagination.</p> <p>Technical details:<br /> --Image size: 1536X128, 2 bit<br /> --Scanned from a drawing and imported into Pico8.<br /> --Utilizes RLE encoding as well as storage in both strings and sprite page</p> <p>-electricgryphon</p> https://www.lexaloffle.com/bbs/?tid=32583 https://www.lexaloffle.com/bbs/?tid=32583 Sun, 16 Dec 2018 23:49:25 UTC Pico Ray Trace <p> <table><tr><td> <a href="/bbs/?pid=59480#p"> <img src="/bbs/thumbs/pico8_hituditeku-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=59480#p"> hituditeku</a><br><br> by <a href="/bbs/?uid=10844"> electricgryphon</a> <br><br><br> <a href="/bbs/?pid=59480#p"> [Click to Play]</a> </td></tr></table> </p> <p><div><div><input type="button" value=" Show " onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = ' Hide '; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = ' Show '; }"></div><div><div style="display: none;"><br /> <table><tr><td> <a href="/bbs/?pid=59480#p"> <img src="/bbs/thumbs/pico8_yonipakifi-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=59480#p"> yonipakifi</a><br><br> by <a href="/bbs/?uid=10844"> electricgryphon</a> <br><br><br> <a href="/bbs/?pid=59480#p"> [Click to Play]</a> </td></tr></table> <br /> </div></div></div></p> <p>Here's a Pico-8 ray tracer with the amazing ability to render both spheres AND planes.</p> <p>Let it run all the way through even though the colors will be funky at first. After it renders the image, it will switch to high-color mode.</p> <p>Features:<br /> -NEW High Color Mode<br /> -Spheres<br /> -Planes<br /> -Textures (2d)<br /> -Diffuse and Specular Shading<br /> -Shadows<br /> -Reflections</p> <img style="" border=0 src="https://www.lexaloffle.com/bbs/files/10844/sphere_trace-05_005.png" alt="" /> <p>-ElectricGryphon</p> https://www.lexaloffle.com/bbs/?tid=32380 https://www.lexaloffle.com/bbs/?tid=32380 Fri, 30 Nov 2018 05:24:14 UTC twist-star <p> <table><tr><td> <a href="/bbs/?pid=57732#p"> <img src="/bbs/thumbs/pico57730.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=57732#p"> twist-star</a><br><br> by <a href="/bbs/?uid=10844"> electricgryphon</a> <br><br><br> <a href="/bbs/?pid=57732#p"> [Click to Play]</a> </td></tr></table> <br /> These things always get stuck in my socks when I go hiking.</p> <p>I've been playing with a z-buffer 3D rendering implementation, which lends itself to recursive additive fractal structures.</p> <p>My ultimate plan was a static landscape renderer, but this was an interesting (if sluggish) detour.</p> <p>-Electric Gryphon</p> https://www.lexaloffle.com/bbs/?tid=32041 https://www.lexaloffle.com/bbs/?tid=32041 Tue, 09 Oct 2018 02:09:37 UTC Comanche 1/2 <p> <table><tr><td> <a href="/bbs/?pid=52441#p"> <img src="/bbs/thumbs/pico52504.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=52441#p"> Comanche 1/2 02</a><br><br> by <a href="/bbs/?uid=10844"> electricgryphon</a> <br><br><br> <a href="/bbs/?pid=52441#p"> [Click to Play]</a> </td></tr></table> </p> <p>Old Version<br /> <div><div><input type="button" value=" Show " onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = ' Hide '; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = ' Show '; }"></div><div><div style="display: none;"> <table><tr><td> <a href="/bbs/?pid=52441#p"> <img src="/bbs/thumbs/pico52440.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=52441#p"> Comanche 1/2 01</a><br><br> by <a href="/bbs/?uid=10844"> electricgryphon</a> <br><br><br> <a href="/bbs/?pid=52441#p"> [Click to Play]</a> </td></tr></table> </div></div></div></p> <p>Pilot your state-of-the-art RAH-66 Comanche helicopter over once-peaceful tropical shores. Take on an endless barrage of enemies and leave their wreckage littering the voxel landscape.</p> <p>The engine and overall game is inspired by the Comanche series from NovaLogic.<br /> <a href="https://en.wikipedia.org/wiki/Comanche_(video_game_series">https://en.wikipedia.org/wiki/Comanche_(video_game_series</a>)</p> <p>Features:<br /> --Voxel landscape engine (as seen in Tera Firma tech demo)<br /> --Shaded 3D polygon enemies<br /> --Seamless map<br /> --Awful self-made music and sound effects</p> <p>Controls:<br /> z: Fire Missiles<br /> x: Fire Mini Gun<br /> tab: Enable Mouse Control (left button fires gun)</p> <p>-ElectricGryphon</p> <img style="" border=0 src="https://www.lexaloffle.com/bbs/files/10844/comanche_1-2_02_008.png" width=384 height=384 alt="" /> https://www.lexaloffle.com/bbs/?tid=31244 https://www.lexaloffle.com/bbs/?tid=31244 Sun, 06 May 2018 02:51:30 UTC Terra Firma Flight Sim <p> <table><tr><td> <a href="/bbs/?pid=51645#p"> <img src="/bbs/thumbs/pico51644.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=51645#p"> Terra Firma Flight Sim</a><br><br> by <a href="/bbs/?uid=10844"> electricgryphon</a> <br><br><br> <a href="/bbs/?pid=51645#p"> [Click to Play]</a> </td></tr></table> </p> <p>Here's a landscape / flight simulation engine that I have been playing with. I'm still figuring out how to turn this into a game, but at least it's functional now and runs at 30 fps. </p> <p>It takes a few seconds to generate the map using simplex noise mapped onto a sphere. </p> <p>Controls:<br /> Arrow keys to turn and pitch up and down.<br /> Z-key to accelerate</p> <p>Notes:<br /> There's a 3D shaded polygon engine built into this as well, but I'm not using it yet.</p> <p>Thanks Anthony DiGirolamo for the simplex noise:<br /> --<a href="https://www.lexaloffle.com/bbs/?pid=32443">https://www.lexaloffle.com/bbs/?pid=32443</a></p> <p>--ElectricGryphon</p> https://www.lexaloffle.com/bbs/?tid=31131 https://www.lexaloffle.com/bbs/?tid=31131 Sun, 15 Apr 2018 17:32:59 UTC Text Torus <p> <table><tr><td> <a href="/bbs/?pid=46524#p"> <img src="/bbs/thumbs/pico46523.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=46524#p"> Text Torus</a><br><br> by <a href="/bbs/?uid=10844"> electricgryphon</a> <br><br><br> <a href="/bbs/?pid=46524#p"> [Click to Play]</a> </td></tr></table> </p> <p>Playing around for the text jam using Signed Distance Functions. It's not really fast enough for anything other than a proof of concept for textifying grayscale images.</p> <p>-Electric Gryphon</p> https://www.lexaloffle.com/bbs/?tid=30292 https://www.lexaloffle.com/bbs/?tid=30292 Mon, 20 Nov 2017 16:28:11 UTC JPEG Trial <p> <table><tr><td> <a href="/bbs/?pid=44776#p"> <img src="/bbs/thumbs/pico44775.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=44776#p"> JPEG Trial</a><br><br> by <a href="/bbs/?uid=10844"> electricgryphon</a> <br><br><br> <a href="/bbs/?pid=44776#p"> [Click to Play]</a> </td></tr></table> </p> <p>I've become unhealthily interested in image compression on Pico8.</p> <p>Hit the &quot;z&quot; key to see the next image.</p> <p>What we have here is something that might resemble the JPEG compression scheme if you squint.<br /> Compression goes like this:<br /> --Discrete Cosine Transform + Quantatization<br /> --Zigzag encoding of blocks<br /> --Huffman encoding<br /> --Run Length Encoding<br /> --Conversion to a base 64 character set<br /> --Overall compresses to around 1/5 of original 8-bit grayscale size.</p> <p>What didn't work well:<br /> Image quality is kinda low. There are only about 16 levels of gray that are discernible on pico8 with dithering. Not sure that it makes a lot of sense to encode 256 shades of gray in that case. Not to mention that the image quality at 64x64 is pretty lame to begin with.</p> <p>This path may be a dead-end because I can only get about 12 64X64 images in here before hitting compressed code limit. If I drop the base 64 coding, I could fit maybe 10 images into the sprite area... Because Pico8 compresses data as well (definitely with better algorithms), my compression may be working at cross purposes to Zep's compression. I still need to do an experiment to see whether the base 64 encoding is any better than the base 16 coding.</p> <p>I've got some glitching in the bottom right blocks.</p> <p>Here's the compression script: <a href="https://github.com/electricgryphon/pico_8_jpg">https://github.com/electricgryphon/pico_8_jpg</a></p> <p>Perhaps this will inspire someone to greater image compression heights :-D.</p> <p>-Electric Gryphon</p> https://www.lexaloffle.com/bbs/?tid=30013 https://www.lexaloffle.com/bbs/?tid=30013 Sat, 30 Sep 2017 14:36:26 UTC Wraith VR <p> <table><tr><td> <a href="/bbs/?pid=44653#p"> <img src="/bbs/thumbs/pico44669.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=44653#p"> Wraith VR</a><br><br> by <a href="/bbs/?uid=10844"> electricgryphon</a> <br><br><br> <a href="/bbs/?pid=44653#p"> [Click to Play]</a> </td></tr></table> </p> <p>Step into cyberspace with cutting-edge 3D vector graphics. Battle tanks with your triangular pew-pew cannon. Explode into a number of polygons.</p> <p>This is an homage to Specter VR, which came packaged with my Macintosh Performa back in the day.<br /> <a href="https://www.mobygames.com/game/spectre">https://www.mobygames.com/game/spectre</a></p> <p>Features:<br /> -60 fps<br /> -Motion blur effects<br /> -Blue/Red 3D glasses mode (it actually works)<br /> -Multiple camera modes<br /> -An attempt at writing title music</p> <p>Issues:<br /> Gameplay is a bit, well, simple. Basically drive around shooting and being shot at.</p> <p>--Electric Gryphon</p> https://www.lexaloffle.com/bbs/?tid=29995 https://www.lexaloffle.com/bbs/?tid=29995 Wed, 27 Sep 2017 01:31:51 UTC Desert Lead 3D <p> <table><tr><td> <a href="/bbs/?pid=43451#p"> <img src="/bbs/thumbs/pico43486.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=43451#p"> Desert Lead 3D 2</a><br><br> by <a href="/bbs/?uid=10844"> electricgryphon</a> <br><br><br> <a href="/bbs/?pid=43451#p"> [Click to Play]</a> </td></tr></table> </p> <p><strong>Take aim, fire and score! It's Desert Lead 3D!</strong></p> <p>Spread the desert with the dented and shattered remains of bottles and cans. It's like recycling, but more destructive.</p> <p>For use with the Pico Light Gun, Desert Lead 3D is also compatible with the Pico Mouse.<br /> <em>(Pico Light Gun is only available in selected dimensions.)</em><br /> Click at the bottom of the screen to reload.</p> <p><a href="https://www.lexaloffle.com/bbs/files/10844/PICO-8_94.png"><img style="" border=0 src="https://www.lexaloffle.com/bbs/files/10844/PICO-8_94.png" width=96 height=96 alt="" /></a></p> <p>Old version<br /> <div><div><input type="button" value=" Show " onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = ' Hide '; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = ' Show '; }"></div><div><div style="display: none;"> <table><tr><td> <a href="/bbs/?pid=43451#p"> <img src="/bbs/thumbs/pico43449.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=43451#p"> Desert Lead 1</a><br><br> by <a href="/bbs/?uid=10844"> electricgryphon</a> <br><br><br> <a href="/bbs/?pid=43451#p"> [Click to Play]</a> </td></tr></table> </div></div></div></p> <p>Notes:<br /> Sound effects could use some love. Anyone have a good shot and &quot;plink&quot; sound?<br /> Affine texture mapped 3D isn't perfect, but it does create the appropriate effect.<br /> Scoring system may be a bit glitched right now.</p> <p>Credits:<br /> Thanks Felice for the sound and cross hair improvements.</p> <p>-Electric Gryphon</p> https://www.lexaloffle.com/bbs/?tid=29819 https://www.lexaloffle.com/bbs/?tid=29819 Sun, 20 Aug 2017 02:24:30 UTC Donut Fields <p> <table><tr><td> <a href="/bbs/?pid=43088#p"> <img src="/bbs/thumbs/pico43087.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=43088#p"> Donut Fields</a><br><br> by <a href="/bbs/?uid=10844"> electricgryphon</a> <br><br><br> <a href="/bbs/?pid=43088#p"> [Click to Play]</a> </td></tr></table> </p> <p>I feel like I'm going around in circles here.</p> <p>-Electric Gryphon</p> https://www.lexaloffle.com/bbs/?tid=29761 https://www.lexaloffle.com/bbs/?tid=29761 Sat, 05 Aug 2017 13:53:43 UTC Raccoon Demo <p> <table><tr><td> <a href="/bbs/?pid=40543#p"> <img src="/bbs/thumbs/pico40542.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=40543#p"> Raccoon Demo</a><br><br> by <a href="/bbs/?uid=10844"> electricgryphon</a> <br><br><br> <a href="/bbs/?pid=40543#p"> [Click to Play]</a> </td></tr></table> </p> <p>Here's a demo effect kludged together from some doodles I had been playing with.<br /> 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.)</p> <p>-Electric Gryphon</p> https://www.lexaloffle.com/bbs/?tid=29318 https://www.lexaloffle.com/bbs/?tid=29318 Sat, 13 May 2017 15:29:18 UTC Ray March <p> <table><tr><td> <a href="/bbs/?pid=40491#p"> <img src="/bbs/thumbs/pico47234.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=40491#p"> ray_march-05</a><br><br> by <a href="/bbs/?uid=10844"> electricgryphon</a> <br><br><br> <a href="/bbs/?pid=40491#p"> [Click to Play]</a> </td></tr></table> </p> <p>I've been hacking at a ray-marching 3D rendering app.</p> <p>Features:<br /> --Phong shading<br /> --Shadows<br /> --Dithered colors</p> <p>Update:<br /> playing with the dithering patterns a bit more.</p> <p>-ElectricGryphon</p> https://www.lexaloffle.com/bbs/?tid=29309 https://www.lexaloffle.com/bbs/?tid=29309 Fri, 12 May 2017 02:36:57 UTC Bad Apple Compression Demo <p> <table><tr><td> <a href="/bbs/?pid=40010#p"> <img src="/bbs/thumbs/pico40009.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=40010#p"> Bad Apple Compression Demo</a><br><br> by <a href="/bbs/?uid=10844"> electricgryphon</a> <br><br><br> <a href="/bbs/?pid=40010#p"> [Click to Play]</a> </td></tr></table> </p> <p>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.</p> <p>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...)</p> <p>That gets things down to around 54 bytes per frame while still being recognizable. </p> <p>This is inspired by gamax92 (<a href="https://www.lexaloffle.com/bbs/?tid=3263">https://www.lexaloffle.com/bbs/?tid=3263</a>) and this C64 version (<a href="https://www.youtube.com/watch?v=OsDy-4L6-tQ">https://www.youtube.com/watch?v=OsDy-4L6-tQ</a>)</p> <p>-ElectricGryphon</p> https://www.lexaloffle.com/bbs/?tid=29241 https://www.lexaloffle.com/bbs/?tid=29241 Sat, 29 Apr 2017 02:04:14 UTC Tempus Fugit -- Bump Map Render <p> <table><tr><td> <a href="/bbs/?pid=39461#p"> <img src="/bbs/thumbs/pico39462.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=39461#p"> Tempus Fugit -- Bump Map Render</a><br><br> by <a href="/bbs/?uid=10844"> electricgryphon</a> <br><br><br> <a href="/bbs/?pid=39461#p"> [Click to Play]</a> </td></tr></table> </p> <p>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. </p> <p>Please see GitHub for Python image conversion script and sample files. (<a href="https://github.com/electricgryphon/pico-9-height-map-converter">https://github.com/electricgryphon/pico-9-height-map-converter</a>)</p> <p>I found the skull height map in the following forum:<br /> <a href="http://www.cnczone.com/forums/artcam-pro/156994-last-supper-bas-relief-trade.html">http://www.cnczone.com/forums/artcam-pro/156994-last-supper-bas-relief-trade.html</a></p> <p>--Electric Gryphon</p> https://www.lexaloffle.com/bbs/?tid=29132 https://www.lexaloffle.com/bbs/?tid=29132 Sun, 09 Apr 2017 15:51:47 UTC Continuous Mandelbrot Zoom <p> <table><tr><td> <a href="/bbs/?pid=38735#p"> <img src="/bbs/thumbs/pico38734.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=38735#p"> Continuous Mandelbrot Zoom</a><br><br> by <a href="/bbs/?uid=10844"> electricgryphon</a> <br><br><br> <a href="/bbs/?pid=38735#p"> [Click to Play]</a> </td></tr></table> </p> <p>Why settle for single renderings of a Mandelbrot when we can smoothly zoom in?</p> <p>Features:<br /> --Dithered Palette Animation<br /> --Smooth Bilinear Zoom from sprite buffer<br /> --Background Rendering of Mandelbrot into a (third?) buffer</p> <p>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. </p> <p>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.</p> <p>Also, I realize that I am awful at spelling &quot;Mandelbrot&quot;.</p> <p>-Electric Gryphon</p> https://www.lexaloffle.com/bbs/?tid=29053 https://www.lexaloffle.com/bbs/?tid=29053 Sat, 25 Mar 2017 17:10:43 UTC