Originally from Tobiasvl's tweetcart: https://twitter.com/Spug/status/1090559155436511232
(Sorry I didn't include the link before.)

WIP version of a little roguelike I'm working on.
Sprites are based on Scroll-o-Sprites by Quale-Art.
You are THE BOY and you have entered the DIRE DUNGEON in search of treasure and glory!
Currently, v0.1 only features character and camera movement.
this nifty code lets you debug your project. Features it provides are in the codes guide on how to use it~
--super debug v 1.0
--shooting★
--[[
…………………………………………
how-to use
…………………………………………
to use this code, check out tab
2 and copy the compressed code.
once its coppied, you'll need
to put "sdbg()" (without
quotes) inside of your
_draw() function, at the very
bottom. make sure its drawn
last.
by default, the key to display
debug info is the tilde key (
the ` next to the number 1 on
standard u.s keyboards). you
can change this by simply
changing dbg_dbtn. at your init,
you can put dbg_dbtn = 't' for
example, and then 't' on your
keyboard will open the debug
info.
if you want to adjust the
memory location, you can adjust
the variable called addr.
by default, its 0x5e00. to edit
it, do the same as editing
dbg_dbtn, just put it in
_init(). ( addr = 0x5e01 )
…………………………………………
★features★
…………………………………………
this code displays the following
information:
â—† framerate
(top-right)
………
â—† cpu usage
………
â—† mem usage/max mem
………
â—† test count
(how many times
you tested your project
since installing this code)
………
â—† mouse info
(location, click
#)
………
â—† tile flags & id
(displays all 8 flags on the tile
you're hovering over)
………
â—† color of hovering-pixel
(gets the color of the
pixel you're currently
hovering the mouse over.)
………
â—†pico version
………
â—† uptime
(how long the test has
been running for)
………
]]
|
Alternatively, you can copy the compressed code directly and just follow instructions from the code displayed above. here's the compressed code that makes the entire thing run.
--code
dbg_dbtn = '`' dbt = 7 don = false cc = 8 mc = 15 addr = 0x5e00 function dtxt(txt,x,y,c) print(txt, x,y+1,1) print(txt,x,y,c) end function init_dbg() poke(0x5f2d, 1) test_num = peek(∧addr) or 0 poke(∧addr, test_num+1) end dbtm = 0 dbu = {0,0,0} function sdbg() if stat(31) == dbg_dbtn then if don==false then don=true else don=false end end if don != true then return end local c=dbt local cpu=stat(1)*100 local mem=(stat(0)/100)/10*32 local fps=stat(7) local u=stat(7)..'' local _x=124-(#u*4) local du = {dbu
[ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=61379#p) |

A simple game I made to try and get to grips with Voxatron. I'm so, so glad I finally managed to get into this, after it inspired me so much in its early years but I found the development tools a bit difficult to figure out (even quite recently!).
Having since bought in heavily to PICO-8 and made some 40 games with it, I decided to come back around and make a proper go of it when Voxatron 0.3.5 hit, and I'm really happy that I did. This is entirely programmed in one script inside the main room, with one (short and boring) tune in the background. No precreated assets or anything like that. Which might make it interesting for you to explore!
Anyway here's my silly game about being a weird gardening alien with a weird ship in a weird garden that has
a bottomless pit in the middle. You have to clear all those nasty rocks out!!!
Controls:
(in menu)
Z: start game
(in game)
Z [hold]: activate tractor beam to suck up rocks under your ship
X [tap]: dump a rock, ideally into the pit
I know pcall isn't part of pico 8, which means you can't do regular Lua exception handling. I noticed though that coroutines swallow errors, and can return the error message. So I leveraged that to create a C#/Java style try catch finally function.
function try(t,c,f)
local co=cocreate(t)
local s,m=true
while s and costatus(co)!="dead" do
s,m=coresume(co)
if not s then
c(m)
end
end
if f then
f()
end
end
cls()
try(function()
print("hi ")
--print("hi " .. nil)
end,
function(e)
print("an error occurred:\n"..e)
end,
function()
print("finally")
end) |
To use just use it like above. The finally function is optional, so most people will probably use it like this:
try(function() -- code end, function(e) -- exception handler end) |
Enjoy, and if you like it feel free to kick a buck to

There seem to be some bugs with the parsing of an escaped backslash:
So, two issues:
- The syntax highlighter doesn't stop parsing the line as a string if it encounters two backslashes in a row, although it will run without problems
- ...except when used as an argument to the ? shorthand function, which will give an error
It's not in the screenshot, but if there are any trailing characters after the double backslash, the syntax highlighter will be happy again.

Taken from a discord's discussion, algorithm provided by @ skaarjslayer: http://itinerantgames.tumblr.com/post/78592276402/a-2d-procedural-galaxy-with-c
And also reference to: https://en.wikipedia.org/wiki/Archimedean_spiral
POC implementation of mashup between Tetris® and match-3 genre.
It's remake of an old game I played as a kid on one of the "Brick Game" handheld consoles.
Btw. if anyone knows what's the original name of the game, or what exactly console it is on, please write a comment - I cannot find the original game like nowhere - my google-foo failed on this one :D

I have a script for randomly playing ambient noise in a room. I dropped the script in the room where I want the sounds to play. When I enter the room, the sounds play as expected. However, if I exit and re-enter the same room, the sounds do not play. A bit of investigating shows that the update() function is not being called at all on the second entry of the room. Has anyone else run into this problem. Any fixes? Thanks in advance!
Voxatron 0.3.5
MacOS 10.14






0 comments








