Log In  
Follow
lulublululu

Cart #outoftime-0 | 2025-08-06 | Code ▽ | Embed ▽ | No License
5

Can you save you and your friends before time truly runs out?

This is my entry for the 2025 GMTK Jam, theme "Loop"! It's an action puzzler that twists familiar block-pushing type puzzle games!

Controls

🔫 Z/O: Fire Time Bullet

🏃‍♀️Arrows: Move

You can reset the level or skip to the next from the pause menu (Enter).


I hope you enjoy!

If you'd like, you can follow me on itch or all the places here!

5
0 comments



Cart #strtab-0 | 2025-07-08 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Hey everyone!

Today I present a few simple functions for managing tables!

strtab()

local t=strtab[[
 dark=false,
 red=lala,
 5=32,
 kiss={
  me,before,you,go
 }
]]

a whitespace agnostic function for converting strings into tables. numbers and booleans are cast into their respective types. this lets you write tables out in a human readable way, making it a powerful tool for data-driven development. note that because it removes all white space, there is currently no way to include strings with white space.

tblcpy()

local t2=tblcpy(t,{
 kiss={
  please=don't
 }
})
result:
{
 dark=false,
 red=lala,
 5=32,
 kiss={
  me,before,you,go,please=don't
 }
}

this function (optionally) deep copies any table, and can optionally take another table as a parameter to overwrite values into it. combined with strtab(), this can form a simple yet powerful entity and inheritance system, which I am using in a current project.

tass()

print(tass(t2))

convert a table into a whitespace-formatted string. great for debugging!

rmchr()

str=rmchr("hyuck","h")
result:
"yuck"

removes a character from a given string. this is primarily a helper function for strtab().


I hope these may be useful for you! happy pico-8'ing! 💖

0 comments



Cart #esperexile_final-0 | 2025-06-30 | Code ▽ | Embed ▽ | No License
9

What future do you believe in?

ESPER//EXILE is a vertical scrolling shmup I jammed in about 2 months. It features a light narrative and a unique HEAT system where you derive your score and shot power from grazing enemy bullets!

O: Primary fire, X: Reflect bullets (hold)

If you enjoyed the game, you can follow me at @evergreengames on Bsky and Mastodon, or at itch.io!

If you'd like to support me, you can check out my Patreon 💖

Happy gaming!

9
1 comment



Cart #eggecs-0 | 2025-06-25 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Evergreen Games Pico-8 Entity Component System (EGG-ECS)

I was inspired to have another go at writing a simple ECS for pico-8.
This one takes only 270 tokens and is quite efficient and extensible.
It is a very traditional and otherwise minimal ECS that I created to have a simple and flexible interface. For example, systems are called on user demand, letting you create coupled systems in a simple way and have direct and flexible control over your code execution.

Full documentation is within the cartridge!

I hope it can be of use.

0 comments



Cart #esperexile00-0 | 2025-06-21 | Code ▽ | Embed ▽ | No License

this is the playtest version of the shmup I'm currently working on.

O - primary fire
X - reflect bullets (hold and release)

my goal is to release it at the end of the month.
it'll have 5 stages in total!

0 comments



Cart #tomewafagi-1 | 2025-05-23 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

hey everyone, I was watching this video going over the basics of ECS, and I was inspired to try a lightweight pico-8 implementation of the concept. this is pretty rough and unoptimized, but I thought I'd post it here in case it's of use to anyone or happens to spark a conversation.

I implemented it slightly differently, with the "systems" and "relations" part bundled into one system I refer inside as "relations". essentially, you can easily specify pairs of entity types to call a function over. this is the part that isn't super optimized, since there's no caching going on. but the upside is the whole thing is only 242 tokens atm.

[ Continue Reading.. ]

0 comments



Cart #16355 | 2015-11-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

i don't really want to work on this anymore

let me know if you like what i was getting at

feel welcome to hacking it up and putting something together yourself, the game engine is relatively complete

3
3 comments



Cart #14069 | 2015-09-12 | Code ▽ | Embed ▽ | No License
7

Game I created as my submission for Pico Zine #3 with a couple extra embellishments. Haven't had a chance to playtest it with a pal yet, but it seems like its definitely good fun :)

7
1 comment



Cart #13377 | 2015-08-31 | Code ▽ | Embed ▽ | No License
6

This has been my little baby over the past week or so. It started with jotting down the train game by @PROGRAM_IX from the Pico-8 zine #1, and then making it my own. I ended up using over half my tokens, two sprite banks, and the entire map space. I will leave it to you to discover its mysteries. Playing alongside a warm beverage recommended.

v1.1: Small update to effectively double the rate you gain resources.

6
7 comments



function mchk(x, y)
 return mget(flr(x/8),flr(y/8))
end

function move(x, y, w, h, dx, dy, col)
 w-=1
 h-=1
 if dx < 0
 and mchk(x+dx, y) != col
 and mchk(x+dx, y+h) != col
  then x += dx
 elseif dx > 0
 and mchk(x+w+dx, y) != col
 and mchk(x+w+dx, y+h) != col
  then x += dx end

 if dy < 0
 and mchk(x, y+dy) != col
 and mchk(x+w, y+dy) != col
  then y += dy
 elseif dy > 0
 and mchk(x, y+h+dy) != col
 and mchk(x+w, y+h+dy) != col
  then y += dy end

 return x, y
end

As an exercise, I wrote a small general-purpose collision script and thought I'd offer it up for folks new to P8 or relatively inexperienced with programming.

This is purposefully not a one-stop solution, but it may get you going. It is probably more in the spirit of PICO-8 to come up with specified collision routines yourself. At the very least, there's some study value here.

Things to consider:

  • This was built to collide bodies <= 8 pixels wide and tall. With some thoughtful fiddling you can get it to accommodate bodies of any size, but I kept it this way for brevity.
  • It takes up 226 memory.
  • This is made for colliding against maps only.
3
7 comments