Log In  



I make games, i'm not used to PICO-8 yet.

Wow. PICO-8 is extremely fun to work with, and I'm so happy I stuck around to learn how to use it!

Right now I'm learning how to work with tables and 'objects' to sort of port a game I'm currently developing called HellHole. It's a top-down shooter where you choose between controlling your body or the bullet (which is your soul).

So far, I've managed to not slow down the game with a shit ton of instances and that makes me happy!

I'll leave you with a gif of the latest bit of progress: A spawner, soul particles, and screen-shake.

P#60209 2018-12-21 15:17

Hi! I'm developing a short little game in PICO-8 and plan to export it as an executable. The problem is, I would like the game to close itself after something happens. I've tried using the 'shutdown', 'exit' and 'stop' functions but none of them closes the window at the end of the game.

Is there even a way to do this? Or perhaps I'm using the previously mentioned functions in a wrong way?

Thanks for the help!

P#60083 2018-12-18 18:47

Cart [#43187#] | Code | 2017-08-12 | No License | Embed

A game made in 1 hour for the 1 hour game jam.

Shoot the blue thing 100 times.

P#43188 2017-08-12 17:24 ( Edited 2017-08-12 21:29)

Cart [#43142#] | Code | 2017-08-09 | License: CC4-BY-NC-SA | Embed

Hi! I just started using PICO-8 and I'm having a little trouble with my collision code.

It works fine when colliding against walls, but colliding against corners (the red tiles) breaks it.

Here is the collision part of the code:

function placeMeeting(x, y, f)
    local tilesize = 8
    local tilex = flr(x/8)
    local tiley = flr(y/8)
    local s = mget(tilex, tiley)
    return (fget(s, f))

And this is the movement part:

        if (btn(0)) then
            if (not placeMeeting(p.x-1, p.y, solidtile)) then
                p.x -= p.speed
            p.mirror = true
        elseif (btn(1)) then
            if (not placeMeeting(p.x+p.bbox_w+1, p.y, solidtile)) then
                p.x += p.speed
            p.mirror = false

        if (btn(2)) then
            if (not placeMeeting(p.x, p.y-1, solidtile)) then
                p.y -= p.speed
        elseif (btn(3)) then
            if (not placeMeeting(p.x, p.y+p.bbox_h+1, solidtile)) then
                p.y += p.speed

Thanks for the help :D

P#43143 2017-08-09 00:52 ( Edited 2017-08-09 19:02)

About | Contact | Updates | Terms of Use
Follow Lexaloffle:        
Generated 2019-06-18 05:12 | 0.056s | 2097k | Q:32