I'm porting this neural networks lib to pico8. But how I can see, int limit doesn't allow me to do that properly. The same code doesn't work on pico8:

but works with lua 5.2:

Is there a way to fix this?
Here is the full source code.






I'm making a swimming game and need help making a jump/move
The current code isn't quite giving me the right feel because I don't know how to use calculus here
(i presume that's what I need to do)
can I get a fix for my issue, please?
cls(12) x=60 y=60 function _update() y=y+.7 if btnp(2) then y=y-10 end --slapsh up if btnp(0) then x=x-3 end --splah back if btnp(1) then x=x+3 end --splash forward end function _draw() cls(12) circfill(x,y,4,7) end |
edited for online use


It isn't really much of anything yet, to be quite honest, I am just learning the basics of programming, and as such am trying to keep it simple.
I have a few ideas for how I would like to expand it, but, before it becomes too messy, I am looking for feedback on how I could make this code more space efficient, more expandable, etc to maximize the amount I am able to add to it. For example, the bottom lower corner is being reserved for a graphical map, story elements, etc. This is just a basic start, from someone beginning in programming, looking for some feedback, good or bad.
An example of a minor annoyance, which I have yet to solve, is that I need to make the top item of each menu an unclickable word, else the keypress that leads to a menu immediately clicks the first item, even using btnp(4)
Also, the beginning stats are by no means balanced, at this point this is pretty much just a silly 'proof of concept.'
Really simple question, when (if at all) will there be ports of Pico-8 for Android and iOS?
I think that would be a perfect way to emphasize the portability and make-a-game-anywhere aspect that I love about Pico-8.
I have read in the FAQ that says "Ports for iOS and android and possibly other platforms are planned after 1.0", which I dont know if its still accurate. Any ideas on if this will still be a thing?
Id even buy it another time ;P
EDIT: if it does get ported somehow, please add Hardware-keyboard support, not just for typing but also for actually playing :P
It's pretty fun to make simple stuff on Pico-8. But it's difficult to try to making complicated stuff on Pico-8
I'm a very amateur programmer since I'm only a teen. I know practice is good for this kind of thing and I shouldn't rush into it.
But I can't find many of the things I see on other Pico-8 games on the wiki, how to use them, or when I will need them.
So can some of you professionals give me some tips and things that I can do in my code that may help when I try making my games
that would be great if you could tell me some stuff
Pico-8 is what is finally making me able to code things other than the Scratch and Hopscotch stuff because it gets all the weird things you have to do out of the way and has a simple interface





This is just a simple little visual toy I made, not an actual game.
I decided to try making a Tweetcart the other day, and realized that the method I was using generated a lot of different animated patterns when you changed just one value in it (180 patterns, to be exact). So, I built a menu around it to manually change that value and wound up with this.
And yes, I did go through all 180 possibilities to find the ones I though looked good. I had a long car ride and time to kill, ok?
Anyways, just thought I'd put this here in case people were interested. Feel free to post your favorites!
[i]NOTE: You can find the original Tweetcart (or at least a gif of it and a code screenshot) on my Twitter: @Jusiv_
It's the same effect as Pattern #5 in this version.
I've found luacheck useful when writing lua. It is very much like JSHint for JavaScript and other static analysis tools in general. Luacheck finds usage of undefined global variables, unused variables and values, accessing uninitialized variables, unreachable code, etc.
Here is a Gist of my pico-8 .luacheckrc, I keep it in the parent directory of my pico-8 files. I also use p8tool so I can work on lua files directly.
std = { -- these globals can be set and accessed. globals = { "_init", "_draw", "_update", "_update60" }, -- these globals can only be accessed. read_globals = { --[[ copy( `-- from ${location.href} ${(new Date()).toISOString()}\n` + [].slice.call($('#WikiaMainContent').find('ul>li>a,.mw-headline')) .map(a => a.tagName == 'A' ? `'${a.innerText.replace(/\(.*/g,'')}', -- ${a.innerText.trim()}` : `\n-- ${a.innerText.trim()}`).join('\n')) ]] -- from http://pico-8.wikia.com/wiki/APIReference 2017-08-12T17:14:36.282Z -- The game loop 'flip', -- flip() -- Graphics 'camera', -- camera([x,] [y]) 'circ', -- circ(x, y, r, [col]) 'circfill', -- circfill(x, y, r, [col]) 'clip', -- clip([x,] [y,] [w,] [h]) 'cls', -- cls() 'color', -- color(col) 'cursor', -- cursor(x, y) 'fget', -- fget(n, [f]) 'fset', -- fset(n, [f,] [v]) 'line', -- line(x0, y0, x1, y1, [col]) 'pal', -- pal([c0,] [c1,] [p]) 'palt', -- palt([c,] [t]) 'pget', -- pget(x, y) 'print', -- print(str, [x,] [y,] [col]) 'pset', -- pset(x, y, [c]) 'rect', -- rect(x0, y0, x1, y1, [col]) 'rectfill', -- rectfill(x0, y0, x1, y1, [col]) 'sget', -- sget(x, y) 'spr', -- spr(n, x, y, [w,] [h,] [flip_x,] [flip_y]) 'sset', -- sset(x, y, [c]) 'sspr', -- sspr(sx, sy, sw, sh, dx, dy, [dw,] [dh,] [flip_x,] [flip_y]) -- Tables 'add', -- add(t, v) 'all', -- all(t) 'del', -- del(t, v) 'foreach', -- foreach(t, f) 'pairs', -- pairs(t) -- Input 'btn', -- btn([i,] [p]) 'btnp', -- btnp([i,] [p]) -- Sound 'music', -- music([n,] [fade_len,] [channel_mask]) 'sfx', -- sfx(n, [channel,] [offset]) -- Map 'map', -- map(cel_x, cel_y, sx, sy, cel_w, cel_h, [layer]) 'mget', -- mget(x, y) 'mset', -- mset(x, y, v) -- Memory 'cstore', -- cstore(dest_addr, source_addr, len, [filename]) 'memcpy', -- memcpy(dest_addr, source_addr, len) 'memset', -- memset(dest_addr, val, len) 'peek', -- peek(addr) 'poke', -- poke(addr, val) 'reload', -- reload(dest_addr, source_addr, len, [filename]) -- Math 'abs', -- abs(x) 'atan2', -- atan2(dx, dy) 'band', -- band(x, y) 'bnot', -- bnot(x) 'bor', -- bor(x, y) 'bxor', -- bxor(x, y, ) 'cos', -- cos(x) 'flr', -- flr(x) 'max', -- max(x, y) 'mid', -- mid(x, y, z) 'min', -- min(x, y) 'rnd', -- rnd(x) 'shl', -- shl(x, y) 'shr', -- shr(x, y) 'sin', -- sin(x) 'sqrt', -- sqrt(x) 'srand', -- srand(x) -- Cartridge data 'cartdata', -- cartdata(id) 'dget', -- dget(index) 'dset', -- dset(index, value) -- Coroutines 'cocreate', -- cocreate(func) 'coresume', -- coresume(cor) 'costatus', -- costatus(cor) 'yield', -- yield() -- Values and objects 'setmetatable', -- setmetatable(tbl, metatbl) 'type', -- type(v) 'sub', -- sub(str, from, [to]) -- Time 'time', -- time() -- System 'menuitem', -- menuitem(index, [label, callback]) -- Debugging 'assert', -- assert(expr) 'printh', -- printh(str, [filename], [overwrite]) 'stat', -- stat(n) 'stop', -- stop() 'trace', -- trace() } } |
Star-flowers bloom once in a hundred years, but only if their roots are rich with rain and electricity.
You are a cute cloud, in charge of a field of star-flowers.
Wield your ancient powers over wind and water to nurture your star-flower garden, and pump the field's battery full of electricity! Watch out for missiles and chompers along the way!
Good luck!



I'm trying to make a (sort of) rhythm game in Pico-8. It should be possible, using stat(20) for example, to trigger events in time with the music. Inside the console, it works fine, and running the exported version in (Mac OS) Chrome or Safari; but run in Firefox, the music is out of sync; sometimes early, sometimes late.
Has anyone else come across this problem?