taxicomics [Lexaloffle Blog Feed]https://www.lexaloffle.com/bbs/?uid=54999 Saving and Loading in Picotron <p>I've been trying to wrap my head around saving and loading in Picotron.</p> <p>As always feel free to correct or improve, I'm always happy to learn. </p> <h3>2 main concepts to understand</h3> <p>As far as I know there is no automatic allocation of space for persistent userdata like in Pico8. You save your userdata as you would in other conventional game engines as an extra file. This makes it a whole lot easier. </p> <p>This data is best stored as a table, so try <code>player_vars={&quot;Tammo&quot;,{&quot;Sword&quot;,1},}</code>. That data structure is internally stored as a .pod, which can be saved or read via <code>store</code> and <code>fetch</code> respectively. (Otherwise you'll have to arrange your data and <code>pod</code> it before saving just to <code>unpod</code> it after loading it. </p> <p>Now you'll just need a place to store your data. It is good practice to create your own folder inside <code>/appdata</code> with <code>mkdir</code>. For example <code>mkdir(save_dir)</code></p> <p>These files can be opened and read, but this is fitting for our open community. Let's imagine the easiest possible usecase. We want to keep track of the highscore. We need to check for any existing high scores on <code>_init</code> and load them if they exist. If not we'll just start with the default value.<br /> Here are the functions needed, tune them to your usecase:</p> <div> <div class=scrollable_with_touch style="width:100%; max-width:800px; overflow:auto; margin-bottom:12px"> <table style="width:100%" cellspacing=0 cellpadding=0> <tr><td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> <td background=/gfx/code_bg0.png> <div style="font-family : courier; color: #000000; display:absolute; padding-left:10px; padding-top:4px; padding-bottom:4px; "> <pre>function save_game() local err=mkdir(save_dir) if err!=nil then print(err) else print(&quot;worked&quot;) end store(save_dir..&quot;/&quot;..save_file,player_vars) end function load_game() local presave presave=fetch(save_dir..&quot;/&quot;..save_file) if presave!=nil then print(&quot;loading succesfull&quot;) player_vars=presave else print(&quot;no save file detected&quot;) end end</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p>These functions need both a <code>save_dir</code> and a <code>save_file</code> declared in your <code>_init</code> to be globally accessible. </p> <div> <div class=scrollable_with_touch style="width:100%; max-width:800px; overflow:auto; margin-bottom:12px"> <table style="width:100%" cellspacing=0 cellpadding=0> <tr><td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> <td background=/gfx/code_bg0.png> <div style="font-family : courier; color: #000000; display:absolute; padding-left:10px; padding-top:4px; padding-bottom:4px; "> <pre> save_dir=&quot;/appdata/PicoWings&quot; save_file=&quot;highscore.pod&quot;</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p>In this case we also need our player vars:</p> <div> <div class=scrollable_with_touch style="width:100%; max-width:800px; overflow:auto; margin-bottom:12px"> <table style="width:100%" cellspacing=0 cellpadding=0> <tr><td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> <td background=/gfx/code_bg0.png> <div style="font-family : courier; color: #000000; display:absolute; padding-left:10px; padding-top:4px; padding-bottom:4px; "> <pre>player_vars={high_score}</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p>And please do correct me if I got it all wrong. Have a nice day!</p> https://www.lexaloffle.com/bbs/?tid=141483 https://www.lexaloffle.com/bbs/?tid=141483 Sat, 06 Apr 2024 13:02:20 UTC PICOWINGS <p> <table><tr><td> <a href="/bbs/?pid=143696#p"> <img src="/bbs/thumbs/pico64_picowings-2.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=143696#p"> picowings</a><br><br> by <a href="/bbs/?uid=54999"> taxicomics</a> <br><br><br> <a href="/bbs/?pid=143696#p"> [Click to Play]</a> </td></tr></table> </p> <p>Altough I was born a little too early to call this a &quot;childhood&quot; game I can still appreciate it's relevance of this game as a good first game for any beginner programmer. Enjoy!</p> <img style="margin-bottom:16px" border=0 src="/media/54999/PicoWings.gif" alt="" /> <p>Controls:<br /> Flap with Mouse or Up</p> <p>I'd love feedback on the code if anybody is willing :) </p> <p>UPDATE:</p> <ul> <li>incorporated <a href="https://www.lexaloffle.com/bbs/?uid=79935"> @Cutievirus</a> feedback, it feels way better now. Thanks! (fun sidenote: All I had to do was shift &quot;-&quot; right once.</li> <li>made it playable with the up button-making this a single button game. Thanks for the feedback, <a href="https://www.lexaloffle.com/bbs/?uid=62631"> @ahrotahn</a></li> </ul> <p>UPDATE 6.4.24:</p> <ul> <li>added automatic saves</li> </ul> https://www.lexaloffle.com/bbs/?tid=140865 https://www.lexaloffle.com/bbs/?tid=140865 Mon, 18 Mar 2024 14:06:32 UTC Cave Diving Gone Bad(Flooded Caves Rewrite) <p> <table><tr><td> <a href="/bbs/?pid=139584#p"> <img src="/bbs/thumbs/pico8_cavedivinggonebad-1.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=139584#p"> cavedivinggonebad</a><br><br> by <a href="/bbs/?uid=54999"> taxicomics</a> <br><br><br> <a href="/bbs/?pid=139584#p"> [Click to Play]</a> </td></tr></table> </p> <h3>This game is inspired by NuSan's brilliant <a href="https://www.lexaloffle.com/bbs/?tid=47247">Flooded Caves</a>, it is a fan game :)</h3> <p>It is your job to save people who went cave diving from drowning! Water is entering the caves, use your drill to carve tunnels to redirect the flow of water and try to save as many people as you can.</p> <h2>Controls:</h2> <p>X or V or Left Mouse Button to carve<br /> Arrows or Mouse to move the cursor</p> <p>The difficulty still needs some finetuning, do let me know how you like it! The Cave generation is based on GPT`s idea of a Noise Algorithm, I might clean it up in the future cause it was useful to me. </p> <h2>Update 6.1.24</h2> <ul> <li>Updated the menu to reflect the inspiration by <a href="https://www.lexaloffle.com/bbs/?tid=47247">Flooded Caves by NuSan</a></li> <li>renamed &quot;Easy&quot; to &quot;Learning Difficulty&quot; and made it even easier and quicker</li> <li>added rescue animation and sound</li> <li>some bugfixes</li> <li>a nod to <a href="https://www.lexaloffle.com/bbs/?uid=11048"> @NuSan</a> in the game's menu</li> <li>added a &quot;perfect win&quot; indicator when you manage to save everybody</li> </ul> https://www.lexaloffle.com/bbs/?tid=55613 https://www.lexaloffle.com/bbs/?tid=55613 Wed, 03 Jan 2024 17:22:06 UTC Journey Through The Nightmare Realm <p> <table><tr><td> <a href="/bbs/?pid=137325#p"> <img src="/bbs/thumbs/pico8_j_t_nightmare_realm-4.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=137325#p"> j_t_nightmare_realm</a><br><br> by <a href="/bbs/?uid=54999"> taxicomics</a> <br><br><br> <a href="/bbs/?pid=137325#p"> [Click to Play]</a> </td></tr></table> </p> <p>I procrastinated my Godot Project by creating this game instead. I got a timelapse of the coding process over on Mastodon, it was all done this weekend. So please excuse some messy code bits. Anyway.</p> <h1>Journey Through The Nightmare Realm</h1> <img style="margin-bottom:16px" border=0 src="/media/54999/journey_through_the_nightmare_realm p8_1.gif" alt="" /> <p>You (and up to 7 friends) awaken in a dark dungeon. Nothing is as it seems. You have to stick together to not loose one another in the ever changing layout of the dungeon. The dungeon seems to keep track of your progress and rewards you with some stairs leading deeper into the dungeon every so often. </p> <h2>Controls</h2> <p>Player 1:<br /> X to Shoot<br /> Arrows to move</p> <p>Player 2:<br /> Q to shoot<br /> ESDF to move</p> <h2>Multiplayer</h2> <p>Connect up to 7 controllers to play with up to 8 people at once! </p> <img style="margin-bottom:16px" border=0 src="/media/54999/Screenshot 2023-11-13 211417.png" alt="" /> <p>The first player is the &quot;king/queen&quot; (notice the little crown), if they die the game is over for everybody. The other players can respawn with a totem.</p> <h2>Pickups</h2> <img style="margin-bottom:16px" border=0 src="/media/54999/weapons.png" alt="" /> <p>The heart that replenishes 1 HP</p> <p>The Totem that can bring back a dead friend(if you're playing with friends)</p> <p>The pistol you know and love, slow but reliable</p> <p>The submachine gun you long for, try not to swap it for a pistol</p> <p>(NEW) The shotgun has quite the knockback, but it one shots the grunts</p> <h2>Updates</h2> <p>-12/11/23 Refactored a lot of maps, made it harder without testing them. Reduced max HP. This is gonna be fun.<br /> -12/11/23 Fixed a collision thingy, refactored some more maps and added whimsical minimal animations<br /> -13/11/23 The Blooddate: Added the shotgun, a LOT of blood and made some more balancing changes<br /> -13/11/23 Added 30 FPS and a menu option to toggle the gore(thanks, <a href="https://mastodon.social/@[email protected]">Kevin Trepanier</a>)</p> https://www.lexaloffle.com/bbs/?tid=54997 https://www.lexaloffle.com/bbs/?tid=54997 Sun, 12 Nov 2023 19:24:08 UTC Seeking The Beast III <p> <table><tr><td> <a href="/bbs/?pid=136536#p"> <img src="/bbs/thumbs/pico8_seekingthebeast3-2.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=136536#p"> seekingthebeast3</a><br><br> by <a href="/bbs/?uid=54999"> taxicomics</a> <br><br><br> <a href="/bbs/?pid=136536#p"> [Click to Play]</a> </td></tr></table> </p> <p>This is the third installment of my longest-running series: </p> <h3>SEEKING THE BEAST III</h3> <p>You and your friend went cave diving, but now it is getting dark. It is widely known that staying outside when it is dark is not a smart move as a giant beast roams the lands. But your friend lost the key to the gate house! Recover the key and get home safe!</p> <h2>Controls:</h2> <p>Arrow Keys Move<br /> C Attack<br /> V Block and Interact</p> <h2>Context:</h2> <p>This is a rather ambitious try to create a 3d RPG engine for future demakes. It is a short game, more like a little tech demo, and i hope you enjoy it. It was created with the help of <a href="https://www.lexaloffle.com/bbs/?tid=37982">Mot`s Instant 3d plus!</a> and some of <a href="https://a-musician.itch.io/">amusicians</a> pixel art from a former, abandoned project. </p> <h2>Notable Features:</h2> <p>-Inspired by the books in Morrowind I added a possibility to display books containing clues about the world you're in. This allows for some more immersive worldbuilding<br /> -3d-Particle Engine that kinda runs okay<br /> -classic RPG scrolling texts<br /> -a multiphase boss fight<br /> -a speedrun timer! (my best is 3:42&quot;133)</p> <h1>Quickfix Update:</h1> <ul> <li>fixed some spelling errors</li> <li>fixed a respawn altar location</li> <li>fixed the player getting stuck in the attack animation upon death or in the boss fight</li> </ul> https://www.lexaloffle.com/bbs/?tid=54799 https://www.lexaloffle.com/bbs/?tid=54799 Sat, 28 Oct 2023 14:37:01 UTC Show custom books as a readable ingame book <p> <table><tr><td> <a href="/bbs/?pid=134830#p"> <img src="/bbs/thumbs/pico8_show_book_function-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=134830#p"> show_book()</a><br><br> by <a href="/bbs/?uid=54999"> taxicomics</a> <br><br><br> <a href="/bbs/?pid=134830#p"> [Click to Play]</a> </td></tr></table> </p> <p>This is a function that draws a book with some custom content to the screen. My inspiration was morrowind and its plethora of books. All this function needs to work is an external,global <code>page</code> variable.</p> <img style="margin-bottom:16px" border=0 src="/media/54999/books_1.gif" alt="" /> <h1>How to use:</h1> <ul> <li>copy this function to your code</li> <li>declare a global <code>page</code> variable (that starts at -1, which is the cover page)</li> <li>keep in mind that it resets <code>camera()</code> to print the book on screen regardless of the camera offset, so use it after you already printed you game with desired offset </li> <li>add your book as a pair of title and a long content string like this: <code>{&quot;Title&quot;,&quot;Super long and cool content&quot;},</code> to the books table</li> <li>consider using <a href="https://pico-8.fandom.com/wiki/P8SCII">P8SCII</a> to achieve certain effects cheaply - it breaks the function in fun, weird ways <img style="margin-bottom:16px" border=0 src="/media/54999/books_1.png" alt="" /></li> </ul> <div> <div class=scrollable_with_touch style="width:100%; max-width:800px; overflow:auto; margin-bottom:12px"> <table style="width:100%" cellspacing=0 cellpadding=0> <tr><td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> <td background=/gfx/code_bg0.png> <div style="font-family : courier; color: #000000; display:absolute; padding-left:10px; padding-top:4px; padding-bottom:4px; "> <pre>function show_book(title) camera() local given_title=title or &quot;how to use show_book&quot; local books={ {&quot;how to use show_book&quot;, &quot;this book will teach you how to use the show_book function in pico-8. the show_book function takes a given title and displays the book content on the screen. you can use the⬅️ and ➡️buttons to turn the pages, and the 🅾️ button to exit the book. you can also add your own books to the books table, as long as they have a title and a content string. the function will automatically split the string into lines and pages, and draw the book cover and pages for you. you can also change some variables in the function, such as the maximum length of a line, the maximum number of lines per page, and the colors and positions of the book elements. to use the function, you need to call it with a title argument, like this: show_book ('how to use show_book'). have fun reading and writing books with pico-8!&quot; }, } local function split_str(str,length) local max_length=length or 13 local strings=split(str,&quot; &quot;,false) local result={} local cur_str=&quot;&quot; for i in all(strings) do if #cur_str+#i&lt;max_length then if #cur_str!=0 then cur_str=cur_str..&quot; &quot;..i else cur_str=i end else add(result,cur_str) cur_str=i end end add(result,cur_str) return result end --end split_str local function draw_cover(tit) local title=split_str(tit,11) local line_nr=0 rectfill(64,25,117,100,2) line(118,25,118,100,15) rect(66,27,115,98,15) for i in all(title) do line_nr+=1 print(i,70,35+line_nr*6,15) end end--draw_cover_end local function give_book(tit) local title=tit or &quot;the hanging tree&quot; local book_lines={} local lib={} local ret={} --lookup the book and split --the strings for i in all(books) do if i[1]==title then book_lines=split_str(i[2]) end end for i in all(book_lines) do add(lib,i) if #lib==10 then add(ret,lib) lib={} end end if(#lib!=0)add(ret,lib) return ret -- end--give_book end local content=give_book(given_title) --dislay background fillp(▒) rectfill(0,0,127,127,0) fillp() if page&gt;0 then --draw the book itself rectfill(10,25,117,100,7) line(10,24,118,24,2) line(118,25,118,100,15) line(64,25,64,100,15) --page numbers print(page,64-print(page,0,-1000),95,4) print(page+1,66,95,4) --print left page trash=0 for i in all(content[page]) do trash+=1 print(i,12,24+trash*6,13) end if#content+1&gt;=page then --print right page trash=0 for i in all(content[page+1]) do trash+=1 print(i,66,24+trash*6,13) end end elseif page==-1 then --draw the book cover draw_cover(given_title) end --controls print(&quot;🅾️&quot;,111,115,4) if page+1&lt;#content then print(&quot;➡️&quot;,111,95,4) if(btnp(➡️))page+=2 end if page&gt;-1 then print(&quot;⬅️&quot;,11,95,4) if(btnp(⬅️))page-=2 end end </pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p>401 tokens</p> https://www.lexaloffle.com/bbs/?tid=54257 https://www.lexaloffle.com/bbs/?tid=54257 Sun, 24 Sep 2023 09:23:01 UTC DayNight Cycle - function <h1>Day night cycle</h1> <p>Hi! I made a function to add a day night cycle. It shifts the palette and takes two arguments, hour and minutes. The palettes can be modified.</p> <p>First you can see it in action here:</p> <img style="margin-bottom:16px" border=0 src="/media/54999/harvestpoon p8_5.gif" alt="" /> <h2>Thing to note</h2> <ul> <li>The night palette is very different from the rest, adjust it based on your sprites. Originally this palette was made by <a href="https://www.lexaloffle.com/bbs/?uid=31390">Achie72</a></li> <li>It is very token intensive at the moment. That can surely be optimized by either cleverly contstructing the palettes at runtime or deleting those you don't use. But I kept it like this for readabilities sake. </li> <li>Maybe adjust the time to your needs. I took a shorter day as a model but you could also change the times(ho=hour in the function) in code</li> </ul> <div> <div class=scrollable_with_touch style="width:100%; max-width:800px; overflow:auto; margin-bottom:12px"> <table style="width:100%" cellspacing=0 cellpadding=0> <tr><td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> <td background=/gfx/code_bg0.png> <div style="font-family : courier; color: #000000; display:absolute; padding-left:10px; padding-top:4px; padding-bottom:4px; "> <pre>function set_pal(h,m) local pals={ --night palette from achiegamedev - thx &hearts; {[0]=0,129,130,131,132,133,5,13,2,4,137,3,1,141,136,143}, --regular second palette {[0]=128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143}, --sharpen contrast {[0]=128,1,130,131,132,5,134,135,136,137,138,139,140,141,142,143}, {[0]=0,1,130,131,132,5,134,135,136,137,138,139,140,141,142,143}, --introduce greens {[0]=0,1,130,3,132,5,134,135,136,137,138,139,140,141,142,143}, {[0]=0,1,130,3,132,5,134,135,136,137,138,11,140,141,142,143}, --introduce yellows {[0]=0,1,130,3,132,5,134,135,136,9,138,11,140,141,142,143}, {[0]=0,1,130,3,132,5,134,135,136,9,10,11,140,141,142,143}, --introduce reds {[0]=0,1,2,3,4,5,134,135,136,9,10,11,140,141,142,143}, {[0]=0,1,2,3,4,5,134,135,8,9,10,11,140,141,14,15}, } local ho=h or 12 if ho&lt;7 then pal(pals[1],1) elseif ho==7 then pal(pals[2],1) elseif ho==8 then if(m&lt;30)pal(pals[2],1) if(m&gt;20)pal(pals[3],1) if(m&gt;40)pal(pals[4],1) elseif ho==9 then if(m&lt;30)pal(pals[5],1) if(m&gt;20)pal(pals[6],1) elseif ho==10 then if(m&lt;30)pal(pals[7],1) if(m&gt;20)pal(pals[8],1) elseif ho==11 then if(m&lt;30)pal(pals[9],1) if(m&gt;20)pal(pals[10],1) elseif ho==12 then pal() elseif ho==17 then if(m&lt;30)pal(pals[10],1) if(m&gt;20)pal(pals[9],1) elseif ho==18 then if(m&lt;30)pal(pals[8],1) if(m&gt;20)pal(pals[7],1) elseif ho==19 then if(m&lt;30)pal(pals[6],1) if(m&gt;20)pal(pals[5],1) elseif ho==20 then if(m&lt;30)pal(pals[4],1) if(m&gt;20)pal(pals[3],1) elseif ho==21 then if(m&lt;30)pal(pals[2],1) elseif ho&gt;21 then pal(pals[1],1) end end</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p>I hope this is useful, have fun with it!</p> https://www.lexaloffle.com/bbs/?tid=52517 https://www.lexaloffle.com/bbs/?tid=52517 Tue, 25 Apr 2023 19:23:38 UTC A Stardew Valley Demake: Pico Valley <h1>Pico Valley!</h1> <p>I love that cozy games are finally getting big, and one of my favorite cozy games is,without a doubt, Stardew Valley. I played Harvest Moon growing up and enjoyed it a lot, but when somebody told me about Stardew Valley my mind was just blown. This is why I decided to make a Stardew Valley demake that i could have played growing up. </p> <p> <table><tr><td> <a href="/bbs/?pid=128883#p"> <img src="/bbs/thumbs/pico8_picovalley-2.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=128883#p"> picovalley</a><br><br> by <a href="/bbs/?uid=54999"> taxicomics</a> <br><br><br> <a href="/bbs/?pid=128883#p"> [Click to Play]</a> </td></tr></table> </p> <p>Update:18.11.23<br /> I hate reading old code. Well at least I can be sure I got better since April :D Let's go.</p> <ul> <li>added the ability to play the brilliant <a href="https://www.lexaloffle.com/bbs/?pid=137239#p">Journey Of The Prairie King Demake</a> which was quite the undertaking. A lot of things needed to work together in order to return the player to the original game with all of the progress saved. Read more about it on the Journey Of The Prairie King page. </li> <li>repixeled a lot of sprites, toned down the contrast</li> <li>added the graveyard</li> <li>added the saloon and 2 new NPC`s</li> <li>added save file detection</li> <li>rewrote token wastezones(the rest of the code is still a hot mess though)</li> <li>adjusted the time scale to 0,7 of the previous value</li> <li>increased the maximum energy</li> <li>added an interaction indicator</li> </ul> <p>Update:23.4.23</p> <ul> <li>rebalanced some values</li> <li>you now loose some items if you fall unconcious</li> <li>made music track longer</li> <li>update mining palette</li> </ul> <p>It is a 64x64 recreation of Pelican Town and some of its residents. The code started out clean but got messy fast because i wanted to finish this game. </p> <p>I made some boxart and a manual for the game: </p> <img style="margin-bottom:16px" border=0 src="/media/54999/20230416_201114.jpg" alt="" /> <img style="margin-bottom:16px" border=0 src="/media/54999/20230416_201159.jpg" alt="" /> <p>Before i upload this to itch.io i wanted to upload it here. Here are a few pages from the manual:</p> <img style="margin-bottom:16px" border=0 src="/media/54999/Web capture_22-4-2023_122529_.jpeg" alt="" /> <img style="margin-bottom:16px" border=0 src="/media/54999/Web capture_22-4-2023_122550_.jpeg" alt="" /> <img style="margin-bottom:16px" border=0 src="/media/54999/Web capture_22-4-2023_122627_.jpeg" alt="" /> <img style="margin-bottom:16px" border=0 src="/media/54999/Web capture_22-4-2023_12269_.jpeg" alt="" /> <h1>Things to note:</h1> <p>-if you want to keep your progress open the game in Pico8, your progress is saved on every new day<br /> -get your fishing rod at the beach<br /> -enjoy yourself and don't hesitate to report bugs!<br /> -this is somewhat modable and i encourage everybody to make their own little town and characters. There is some (but not a lot) of documentation in the code to get you started. </p> https://www.lexaloffle.com/bbs/?tid=52480 https://www.lexaloffle.com/bbs/?tid=52480 Sat, 22 Apr 2023 10:19:39 UTC StarJump v1.0 <p> <table><tr><td> <a href="/bbs/?pid=119971#p"> <img src="/bbs/thumbs/pico8_starjumps-2.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=119971#p"> starjumps</a><br><br> by <a href="/bbs/?uid=54999"> taxicomics</a> <br><br><br> <a href="/bbs/?pid=119971#p"> [Click to Play]</a> </td></tr></table> </p> <h1>StarJump</h1> <p>This is Version 1.1 of StarJump, the lightsaber-themed JumpNRun. </p> <h2>What is it about?</h2> <img style="margin-bottom:16px" border=0 src="/media/54999/PICO-8_2.gif" alt="" /> <p>You are a lightsaber wielding somebody trying to get from point A to point B as quickly as possible. Use your lightsaber skills, jumps and runs to beat all 3 levels and, if you can, collect all 10 stars per Level. </p> <h2>How to play</h2> <img style="margin-bottom:16px" border=0 src="/media/54999/starjumps p8_1.gif" alt="" /> <p>Use X to attack and O to Jump. Press X+O together for a higher dash. Note that you can doublejump! Also note that you deflect laser shots whilst you're attacking. </p> <h2>Good to know</h2> <p>You can restart the current level via the pause menu, you'll also find an option to toggle the timer and music.</p> <h2>Why is it so hard?</h2> <p>To be honest levelbuilding just got out of hand. I enjoyed it way too much. But to proof to you that all 10 Stars are achievable in every level I'll show you my times:<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;"><img style="margin-bottom:16px" border=0 src="/media/54999/PICO-8_1.gif" alt="" /></div></div></div></p> <h2>The Future?</h2> <p>Things i`d like to get done if i find time:</p> <ul> <li>nice parallax backgrounds</li> <li>better music</li> <li>rework pixelart</li> <li>rework particles</li> </ul> <h2>Update 20.11.23</h2> <ul> <li>You now get to keep your collected stars after you die. </li> </ul> https://www.lexaloffle.com/bbs/?tid=50007 https://www.lexaloffle.com/bbs/?tid=50007 Tue, 01 Nov 2022 21:28:06 UTC Line Of Sight - Function <h1>Line Of Sight Function</h1> <p>I`ve created a Line-Of-Sight function that should work for most projects. It checks for map-collisions(using flag0 as the collision layer). Please use it and let me know what you do with it!</p> <p>I was inspired by this post: <a href="https://www.lexaloffle.com/bbs/?tid=48889">https://www.lexaloffle.com/bbs/?tid=48889</a><br /> But i wanted a simpler starting point for my own approach. A Line Of Sight check is a good starting point for you own approach but also involves some math. So to bypass that step use my function:</p> <img style="margin-bottom:16px" border=0 src="/media/54999/lineofsight_2.gif" alt="" /> <p>UPDATE 16/9/22<br /> added a optional length-variable. Use it to define a max &quot;range&quot; of the that line. Keep in mind that the function already neglects far away points.<br /> Also added a new break point for perfomance.</p> <div> <div class=scrollable_with_touch style="width:100%; max-width:800px; overflow:auto; margin-bottom:12px"> <table style="width:100%" cellspacing=0 cellpadding=0> <tr><td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> <td background=/gfx/code_bg0.png> <div style="font-family : courier; color: #000000; display:absolute; padding-left:10px; padding-top:4px; padding-bottom:4px; "> <pre>function can_see(x1,y1,x2,y2,length) --x1 and y1 are the point of view,length is the max distance of the two points local max_length=length or 1000 local xvec=0 local yvec=0 local len=0 local ret=true local tx=x1 local ty=y1 xvec=x2-x1 yvec=y2-y1 len=sqrt(xvec^2+yvec^2) if len==0 or len&gt;max_length then ret=false end xvec=(xvec/len) yvec=(yvec/len) if ret then for i=1,len do tx+=xvec ty+=yvec if fget(mget(flr(tx/8),flr(ty/8)),0) then ret=false break end end end return ret end</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <h3>Features (if you're intrested)</h3> <ul> <li>handling LOOONG Distances with a big <strong>&quot;Nay&quot;</strong> from the function</li> <li>always checking from x1/y1 point of view</li> <li>stopping when no more calculations are necessary</li> </ul> <h3>How it works</h3> <ul> <li>set standard return to a <strong>yes</strong> (true)</li> <li>create a directional vector from 1 to 2 </li> <li>calculate the distance of that vector</li> <li>check wether that distance is too big</li> <li>normalize it(max it out at 1) with that distance(so your steps don't get bigger than 8(which would skip a whole sprite, thus negating the whole point of this function))</li> <li>loop through incremental steps with that normalized vector</li> <li>check for collisions on each point</li> <li>if a collision occurs change the output to <strong>no</strong> and exit the loop to save power</li> </ul> <h3>How you might use it(and how i use it)</h3> <ul> <li>Use it for a stealth game and combine it with the general direction the enemys are facing</li> <li>Use it for shooting stuff to see how far things will go</li> <li>Use it as a starting point for a raycast by returning the distance the ray traveled (I'd like to do that too)</li> <li>I'm making my first roguelike to learn about Mazecreations and get better at making fights fun (Which i'm terrible at) <img style="margin-bottom:16px" border=0 src="/media/54999/mazerogue_0.gif" alt="" /></li> <li>in this game the enemys, similar to that post linked above, remember the last point where they saw you and approach that point(the white dot). They also have a timer, so they only try to spot you every now and then. </li> </ul> <p>You can find a minimal setup for the function right here:<br /> <table><tr><td> <a href="/bbs/?pid=116768#p"> <img src="/bbs/thumbs/pico8_lineofsight-1.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=116768#p"> lineofsight</a><br><br> by <a href="/bbs/?uid=54999"> taxicomics</a> <br><br><br> <a href="/bbs/?pid=116768#p"> [Click to Play]</a> </td></tr></table> </p> https://www.lexaloffle.com/bbs/?tid=49151 https://www.lexaloffle.com/bbs/?tid=49151 Fri, 02 Sep 2022 10:18:43 UTC BobCo(TM) Terminal v1.0 <p> <table><tr><td> <a href="/bbs/?pid=115619#p"> <img src="/bbs/thumbs/pico8_bobcoterminal-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=115619#p"> BobCo(TM) Terminal v1.0</a><br><br> by <a href="/bbs/?uid=54999"> taxicomics</a> <br><br><br> <a href="/bbs/?pid=115619#p"> [Click to Play]</a> </td></tr></table> </p> <h1>BobCo(TM) Terminal v1.0</h1> <p>I'm pretty sure somebody already tried this, but I didn't want to spoil the fun for myself by seeing somebody else's great work before having my own go at it. </p> <h2>How?</h2> <p>For everybody who hasn't played fallout: You have to guess the correct password by choosing from a set number of passwords. If you get it wrong the terminal tells you how similar the password you chose was to the password that you have to guess. </p> <p>Controls:<br /> <em>ARROWS UP/DOWN + X</em></p> <h2>Why?</h2> <p>I replayed some Fallout in the last weeks(that I spent without the internet(damn you, internet providers)) and fell in love with their take on the retro-styled terminal.<br /> I also thought it would be a nice exercise to get comfortable with string manipulation. And then I had to stop myself before it got too messy.<br /> This is really just a small demo thing showcasing my take on the terminal with some lame jokes.<br /> I wrote a neat function for comparing strings, if somebody needs one you may copy it. The rest of the code is a mess because I did it all in a day around work. </p> <img style="margin-bottom:16px" border=0 src="/media/54999/terminal.p8.png" alt="" /> <h3>For anybody who is interested:</h3> <p>I split() two strings and then iterate through that new dictionary in a for loop. Each turn I check whether the two dictionaries have the same letter in the same place and, if they do, I add 1 to a score. In the end I return that score. </p> <p>The part that is much more interesting is mixing the words and some other nonsensical special characters for that &quot;hacky&quot; look. There is a dictionary with random characters and a dictionary with the chosen words. The table you see in-game is itself another table consisting of 8 lines. Each of those lines gets filled character by character. There is a set gap between words that gets filled with nonsense. The chosen words dictionary gets chopped up again and sprinkled into the mix. Et voila! A &quot;hacky&quot; block of text. </p> <p>Oh and i really hope <a href="https://www.lexaloffle.com/bbs/?uid=15232"> @dw817</a> sees (and plays) this. </p> https://www.lexaloffle.com/bbs/?tid=48868 https://www.lexaloffle.com/bbs/?tid=48868 Thu, 11 Aug 2022 19:31:56 UTC shelfdefence <p> <table><tr><td> <a href="/bbs/?pid=112742#p"> <img src="/bbs/thumbs/pico8_shelfdefence-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=112742#p"> shelfdefence</a><br><br> by <a href="/bbs/?uid=54999"> taxicomics</a> <br><br><br> <a href="/bbs/?pid=112742#p"> [Click to Play]</a> </td></tr></table> </p> <p>I entered my first game jam and did my first collab with amusician. <a href="https://taxicomics.itch.io/shelf-defense">Find it on Itch.io</a><br /> This was made in 3 hours.</p> <h1>Shelf Defense</h1> <p>Controls:</p> <p>Press ⬅️➡️⬆️⬇️ to move and jump</p> <p>Press ❎+⬇️ to move lower</p> <p>Press ❎+⬆️ use your jetpack</p> <p>Press 🅾️ + Place a chosen Toy</p> <p>&bdquo;Beware! Capitalist children want to grab you off the shelf. Use their money against them and hire other toys to fight back&ldquo;</p> <p>Shelf-Defense is a genre mix with tower-defense and platformer elements made in Pico8.</p> <p>AMusician made his debut with this game as his first ever published game!</p> <p>Published as part of the 3 hour game jam trijam172 &bdquo;off-the-shelf&ldquo;.</p> <p>Made by Taxicomics and Amusician</p> https://www.lexaloffle.com/bbs/?tid=48033 https://www.lexaloffle.com/bbs/?tid=48033 Sun, 05 Jun 2022 10:12:53 UTC Half Life Demake <p> <table><tr><td> <a href="/bbs/?pid=109372#p"> <img src="/bbs/thumbs/pico8_nothalflife-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=109372#p"> nothalflife</a><br><br> by <a href="/bbs/?uid=54999"> taxicomics</a> <br><br><br> <a href="/bbs/?pid=109372#p"> [Click to Play]</a> </td></tr></table> </p> <p>Hi everybody!<br /> There is a game that is near and dear to me, and i always wanted to demake it. But because I&acute;m scared of lawyers and publishers, i never did. I made a completly new game, and any resemblance is merely a coincidence.<br /> I hope you enjoy, let me know what you think.</p> <img style="margin-bottom:16px" border=0 src="/media/54999/picolife p8_0.gif" alt="" /> <p>Controls:<br /> X to shoot<br /> O to interact<br /> O+Arrow to change weapon </p> <p>You are Gordan Teeman, an experimenter in sector D of the Black Laser Research Facility in New England.<br /> Today is a big day, you are taking part in a monumental experiment. Let&acute;s hope everything goes according to plan. </p> <img style="margin-bottom:16px" border=0 src="/media/54999/picolife p8_0.png" alt="" /> <p>Features:</p> <ul> <li>Lots of bullets</li> <li>Speedrun Timer</li> <li>5 types of enemys</li> <li>all the particles</li> <li>messy, unreadable code</li> <li>all the pixels</li> <li>a huge map</li> <li>nostalgy</li> </ul> https://www.lexaloffle.com/bbs/?tid=47150 https://www.lexaloffle.com/bbs/?tid=47150 Tue, 29 Mar 2022 20:07:24 UTC I'm &quot;NOT&quot; making a half-life demake and need help <img style="margin-bottom:16px" border=0 src="/media/54999/picolife_0.png" alt="" /> <p>Hi everybody!<br /> I'm definitely NOT making a Half-Life demake and i need some help with SoundFX. I&acute;m sure some here are familiar with the NOT <strong>Source</strong> material, i want to nail the sound effects in pico8-scope. Just post them here and I'll be sure to credit and thank you.</p> <img style="margin-bottom:16px" border=0 src="/media/54999/picolife_2.gif" alt="" /> <p>It&acute;s NOT going to be a quick summary of the events in the Black Laser Reserarch Facility through the eyes of Gordan Leeman.<br /> I&acute;m still looking for perfect step sounds, weapon change sounds and enemy grunts. And of course any help is welcome, if you got more ideas. Thank you very much &lt;3</p> <img style="margin-bottom:16px" border=0 src="/media/54999/picolife_3.gif" alt="" /> https://www.lexaloffle.com/bbs/?tid=47114 https://www.lexaloffle.com/bbs/?tid=47114 Sat, 26 Mar 2022 10:45:38 UTC Pictris 1.0 <p> <table><tr><td> <a href="/bbs/?pid=109059#p"> <img src="/bbs/thumbs/pico8_pictris-2.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=109059#p"> Pictris 1.0</a><br><br> by <a href="/bbs/?uid=54999"> taxicomics</a> <br><br><br> <a href="/bbs/?pid=109059#p"> [Click to Play]</a> </td></tr></table> </p> <p>UPDATE 25.3.22<br /> -removed a bug where the speed wouldnt reset for a new game</p> <p>Controls<br /> Turn: X<br /> Move: Arrows</p> <p>Feature Creep has stopped me from finishing games so I started making some classic games. This time: TETRIS<br /> It was fun, and it was nice overcoming the challenges this game brings. </p> <img style="margin-bottom:16px" border=0 src="/media/54999/10_pictris p8_1.gif" alt="" /> <p>Features:</p> <ul> <li>Jelpi</li> <li>softlock</li> <li>all the Tetris stuff</li> <li>awful music</li> <li>12 Levels</li> <li>changing scenery</li> <li>persistent Highscore Data</li> <li>very messy code</li> </ul> <p>Have fun!</p> <img style="margin-bottom:16px" border=0 src="/media/54999/12_pictris.p8.png" alt="" /> https://www.lexaloffle.com/bbs/?tid=47080 https://www.lexaloffle.com/bbs/?tid=47080 Wed, 23 Mar 2022 16:34:54 UTC flappy bird in two hundredeighty chars <p> <table><tr><td> <a href="/bbs/?pid=108109#p"> <img src="/bbs/thumbs/pico8_flapico-4.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=108109#p"> flapico</a><br><br> by <a href="/bbs/?uid=54999"> taxicomics</a> <br><br><br> <a href="/bbs/?pid=108109#p"> [Click to Play]</a> </td></tr></table> <br /> UPDATE 3:<br /> Fixed the bug where you could fall so far beneath the level that you would never collide with anything. Thx <a href="https://www.lexaloffle.com/bbs/?uid=39676"> @Mot</a>!<br /> UPDATE 2:<br /> Holy diver, dear game, please let me be. Sooooooo. I HAD to reintegrate the difficulty ramping, and i figured i have to explain myself a little better.<br /> This is my first attempt at a tweetcard. It was completely unexpected for me, but i enjoyed optimizing A LOT!<br /> I learned how to shorten if statements, prints and everything else from the great articles people wrote about tweetcards.<br /> Press X to flap,<br /> beat my score of 33.<br /> Oh yeah, and its 278 chars now :)</p> <p>UPDATE:<br /> Ok, the critic won, i remade it to be tweetable, i preserved the highscore but had to axe the difficulty ramping.<br /> Thx for any suggestions to further enhance!</p> <p>Original Post:<br /> I tried to make flappy bird in under 500 chars. </p> <p>Have fun and suggest ideas to push it sub 400!</p> https://www.lexaloffle.com/bbs/?tid=46858 https://www.lexaloffle.com/bbs/?tid=46858 Sun, 06 Mar 2022 01:49:05 UTC smalltalksimulator <p> <table><tr><td> <a href="/bbs/?pid=99715#p"> <img src="/bbs/thumbs/pico8_smalltalksimulator-1.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=99715#p"> smalltalksimulator</a><br><br> by <a href="/bbs/?uid=54999"> taxicomics</a> <br><br><br> <a href="/bbs/?pid=99715#p"> [Click to Play]</a> </td></tr></table> <br /> I&acute;m on a party but i like coding more. Have fun with this. </p> https://www.lexaloffle.com/bbs/?tid=45276 https://www.lexaloffle.com/bbs/?tid=45276 Sun, 07 Nov 2021 00:00:53 UTC Picophobia(Phasmophobia Demake) <p> <table><tr><td> <a href="/bbs/?pid=97459#p"> <img src="/bbs/thumbs/pico8_picophobia-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=97459#p"> picophobia</a><br><br> by <a href="/bbs/?uid=54999"> taxicomics</a> <br><br><br> <a href="/bbs/?pid=97459#p"> [Click to Play]</a> </td></tr></table> </p> <p>Picophobia(Phasmophobia Demake)</p> <img style="margin-bottom:16px" border=0 src="/media/54999/picophobia p8_0.png" alt="" /> <p>I love the original game and the genre it has kicked off. So for it&acute;s anniversary i made a Pico8-Version that you can play with two people. I used AFBUs great raycasting engine(<a href="https://www.lexaloffle.com/bbs/?pid=13195#p">https://www.lexaloffle.com/bbs/?pid=13195#p</a>) and modified it a bit to fit my needs(mainly being a splitscreen game). I&acute;m still working on incorporating sprites, but we&acute;ll see wether i can figure out the math in the future. Any help would be appreciated!<br /> Use X in the Van to equip the different tools and write down your findings in your Journal (press O)</p> <img style="margin-bottom:16px" border=0 src="/media/54999/picophobia p8_5.png" alt="" /> <p>Have fun, tell me about your sightings and feel free to modify or add levels!</p> https://www.lexaloffle.com/bbs/?tid=44658 https://www.lexaloffle.com/bbs/?tid=44658 Fri, 17 Sep 2021 14:48:22 UTC drumsterfire <p> <table><tr><td> <a href="/bbs/?pid=96615#p"> <img src="/bbs/thumbs/pico8_drumsterfire-1.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=96615#p"> drumsterfire</a><br><br> by <a href="/bbs/?uid=54999"> taxicomics</a> <br><br><br> <a href="/bbs/?pid=96615#p"> [Click to Play]</a> </td></tr></table> </p> <p>Hi everyone!<br /> I made a drum sequencer intended for live use. It has control over 4 channels (kick, snare, hihat, tom) in 32 steps. </p> <p>Use X to toggle a slot or a setting, use O to change from the grid to the controls. The first control slot is play/pause, slot 2-5 toggle the 4 channels on or off, + and - control the BPM. The BPM is rounded, let me know whether you need accurate BPM.</p> <p>If anybody has an idea for different drumsounds etc. do let me know but for now- enjoy!</p> https://www.lexaloffle.com/bbs/?tid=44421 https://www.lexaloffle.com/bbs/?tid=44421 Sun, 29 Aug 2021 11:16:17 UTC Seeking The Beast II <p>SEEKING THE BEAST II</p> <p> <table><tr><td> <a href="/bbs/?pid=96307#p"> <img src="/bbs/thumbs/pico8_seekingthebeast2-2.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=96307#p"> seekingthebeast2</a><br><br> by <a href="/bbs/?uid=54999"> taxicomics</a> <br><br><br> <a href="/bbs/?pid=96307#p"> [Click to Play]</a> </td></tr></table> </p> <p>I made a sequel to my first game ever &quot;Seeking The Beast&quot; from 2008.<br /> You are trapped in a valley where a Beast has gone wild. It created havoc and it has to be slain.</p> <p>My best time was 10:15 Minutes. Can anybody beat that?</p> <p>Let me know what you think, and have a great day!</p> <p>Update: Added a Speedrun-counter and explained the ending better 15.8.21</p> https://www.lexaloffle.com/bbs/?tid=44334 https://www.lexaloffle.com/bbs/?tid=44334 Sat, 21 Aug 2021 10:38:26 UTC