For the past three years, I have created electronic new year cards using pico-8.
I've posted my card for 2023 before, but I forgot to post my 2024 card! So in this blog you can see the carts for the 2024 and 2025 new year carts.
The code is not pretty at all, but feel free to use it if it helps!
New year 2025: Year of the snake!
New year 2024: Year of the dragon!
When you have a creature that reproduces, and this reproduction is imperfect, then you have the necessary ingredients for evolution.
This simple simulation shows evolutionary mechanics occurring in a virtual petri dish.
Each "individual" has a single gene, that determines its color and its reproduction probability. When an individual reproduces, there is a small chance that its offspring will mutate, earning a smaller or higher value of the gene.
Over time, individuals with higher reproduction probability will slowly dominate the petri dish over their slower neighbors.
Inspired by Avida-ED
I still want to improve things a little bit. Give the creatures more visual variety, and add some more audio-visual juice. Suggestions / comments / hacks welcome!
There were a lot of pico-8 games this time on Ludum Dare. One of them even got the first place on sound!
I thought people here would be interested, so I made a table.
(You can click on the game names, somehow the link styling does not appear inside the markdown table).
Name | Author | Overall | Fun | Innovation | Theme | Graphics | Audio | Humor | Mood |
---|---|---|---|---|---|---|---|---|---|
Hyper Harvest | @orion-black | 12 | 14 | 87 | 259 | 96 | 134 | - | - |
Adelie - Water Under the Bridge | @Meep | 17 | 6 | 121 | 127 | 12 | 122 | 111 | 51 |
The Crystallographer | @pianoman373 | 32 | 68 | 24 | 13 | 18 | 50 | - | 32 |
You're Under Harvest | @mastoast | 59 | 27 | 156 | 90 | 106 | 1 | 95 | 98 |
I ended up mostly skipping Genuary because of Ludum Dare, but today I decided to write a tiny village generator.
This took me about one hour to write. Every time you run the cart, a new tiny village is generated.
There is nothing special going on. Walls are placed first, then doors and floors following a flood fill algorithm. Everything else is placed by sampling the map hundreds of times and checking for placing conditions.
The code is a bit of a mess and, looking back, I can see several easy places to reduce token count and increase variety. Maybe I'll revisit this before the end of the month. Maybe not.
I hope I'll have some time in march to participate in 7DRL. I have ideas I want to put into practice.
Collect a large harvest of carrots with the help of your cute rabbit friends! Don't scare the rabbits away! How many can you get before the day is done?
How to play?
- Use the direction keys to hit the different holes.
- Hit the carrots, but not the rabbits.
- Every 10 carrots, the game gets a little bit faster.
- Hit too many rabbits, and the game is over.
- When the night comes (about 2 minutes) the game is over.
What is this game?
This game was made in 24 hours for Ludum Dare 52. Theme: harvest.
The inspiration for the game was this post I made with a New-Years card. A few people said that the animation looked like a whac-a-mole game, and I decided to make that game when I had the chance. Turns out that the LD theme was perfect for it.
Last month I did "Tiny Code Christmas" (#lovebytetcc), and it was lots of fun, so I decided this month to try #genuary.
The idea is simple: every day you get a prompt from this website, and do some programming art based on it.
Or not. Since I'm a few days late, I decided to begin at prompt #1, "perfect loop":
This was something I threw together rather quickly, just to get started. I used some of the ideas that I already used in #lovebytetcc, but tried to make sure that they all would loop back to zero after 8 seconds (length of pico8 standard gifs).
It could probably be done more intelligently, by restricting the time variable and making the animations based on that, but I just wanted to get something out of the door quickly.
Happy new year everyone!
One of the things I want to do this year is to write more pico8 programs, and share what I do here.
In the last few days, I've been following LoveByte's TinyCodeChristmas Series, with the goal to write a pico8 new year's card. This is the result!
The mountains turned out kinda weird, but other than that, I'm happy with the result. Here is the card, feel free to hack it.
Next, I will try to complete LazyDev's Schmup tutorial by the end of February. Let's hope it works!
And also check out this BBS more :-)
This is a prototype from me and Chamotea for the #friendshipjam.
The basic idea is that you are a nice "shopkeeper" who gives presents to visitors to helps with their problems. What a nice person! The gifts you give them affects how the story progresses.
Right now I got most of the mechanics done, but the scenarios are still WIP, so the game has only one scene. It was a busier June than I expected T_T. It was fun working with metatables and event managers using coroutines, though!
Life Vacuum
A Ludum Dare 44 game by @caranha and @cornettheory
What?
In this game you play the role of an immoral bio-scientist, producing life in a laboratory to sell for a profit.
You create the life forms in your petri dish, and sell them using the suck-o-vat 3000.
Active life forms are worth more than static life forms. You can make them active by using the "RUN" button, and you can stamp the three patterns in the top on your petri-dish to influence how the lifeforms develop.
However, note that you have a limited number of runs, and using your stamps costs money!
How much money can you make before you run out of resources?
How?
Hello!
I am trying to make an unmovable actor (for example, a turret). Ie, the actor collides with other actors, but it is not pushed around.
If I set the actor to not collide with anything, it will not move, but it will also not block other actor's path.
If I set the actor to collide with other actors, It will be pushed around. I tried setting the actor's Density, Gravity, and Friction at around 255, but then I have this weird behavior where if the player
touches the actor, the actor will move 1 voxel TOWARDS the player.
Am I missing something obvious?
Cheers!
Hello!
I am trying to access the Lua scripting abilities of 3.5, but I have no idea how to open the script editor.... I am pretty sure I must be missing something super basic.
I open the designer in Voxatron, and then create a new cartridge. I get the volumetric display with nothing in it, and I can even add one of the two pre-made scripts to the middle of the room, but I have no idea how to open these scripts for editing, or how to create a new one.
Help?
This is a quick and dirty cart exploring some AI methods for boardgames in pico8.
The implemented AIs are:
1- Purely Random
2- Random Avoiding win/loss moves
3- Playing randomly a number of times, counting win/losses and choosing "best" moves
4- MCTS (Monte Carlo Tree Search)
(Method 3 can be thought of as an MCTS of depth 1)
You can switch the AIs that the game uses by changing the AI_cofun table. Player_AI just
let's the player pick the move. You can make two AIs fight each other, or make two players
fight each other too.
It was pretty cool putting the AI co-routines together. The code is not the pretties or the most
token efficient, but I might polish it a bit if I find some time on the summer. Hacks are welcome!
Hello everyone!
This is a small project that I have been working on the past two weeks -- an idle wallpaper/clock for pico-8. Just adjust the window to an appropriate size, make it stick above other windows, and leave it in the corner of your desktop while you work :-)
The position of the sun and moon are set according to your computer's clock, and the color of the leaves and the snow in the mountains are adjusted by your computer's date. You can use the in-game menu to adjust the time manually, if you wish.
Additionally, there are 11 "events" to give the mountain view some charm, such as children playing in the village, or a monster terrorizing the forest. 3 events are chosen randomly at start-up, and these are changed every 5 minutes.
Anyone is welcome to contribute more events to the cart!
Enjoy!
Game for the Ludum Dare 39 -- Theme: Running out of Energy
The shy gladiator has to defeat three mythical creatures, but he is too embarrassed to attack,
so instead he must dodge their attacks until the monsters lose all their powers.
You can move left or right, and dodge with "Z". Dodge will give you a few invincibility frames, but also
take some hit points from you.
Can you defeat all three monsters?
Game by @caranha and @conanfelipe
TODO:
- Better title screen that actually explains the game;
- Better logic for the Cyclops, and calling out attacks;
- Balance the damage amounts better;
I always wanted to make a virtual fish tank with agents to keep at the corner of my screen while I worked.
This cart is the result of some procastination this week. Just look at the fish swim, and relax.
Suggestions of things to add to the fish tank are welcome! Sprites are even more welcome! I'm a shoddy sprite artist.
Also, on linux it seems that Pico-8 gets super slow when its window is not on focus. Does anyone know a workaround?
EDIT: New version, with sharks and octopus.
My first complete PICO8 game, for the Ludum Dare 37.
A small twist on the "factory" genre, you have a limited time to
play, and must make as much money as possible in that time.
What is the optimal build order?
If you enjoy this cart, submit a screenshot with your highscore! :-)
Updates:
2016-01-08: v1.3.1 -- Fixed menu bug, added bignum, super-buffed sandwiches
2016-12-25: v1.3 -- Rebalanced costs, added two new items, added overwriting
2016-12-19: v1.2 -- Changed the input, added some messages
2016-12-12: v1.1 -- Initial ld 37 version
TODO:
- Add Music
- Modify the Graph to be log-based
- Challenge Modes: Blocked tiles, unique machines, free build mode