pfp/header created in @atomoton ‘s carts
use arrow keys to jump along the lily pads!
if you are fast you can jump twice on lily pads :-)
this game has 22 stages, you can beat them all if you try!
(created for Mini Jam 106 on itch.io)
*Capture The Flag!!! Grab the other team's flag and return it to your flag.
- 3 Maps! 🗺
- Collectable coins! 💰
- Wild and crazy combat! ⚔️
- Music and sound effects 🔈
- Single player only :p 🤷🏻♂️
- As always, your favorite PICO-8 HTML Player ammenities: full screen, joysticks, and more! 🤓
- Not to mention, for PICO-8 owners, there are a few terminal mods built into the game 💾
Awesome sprites by Gustavo! https://gvituri.itch.io/
If you get stuck or would like to read the "Making Of," you can find more info at the following link:
EDIT: Hello all, this game is live now.
You can play here:
Thanks for checking out my game!
I created this game after being inspired by a Halo CTF fan game I played on the internet back in the 2000's. The goal is to grab the other team's flag and return it to your flag.
In the game you will be selected to a random team and a random map. You need 3 coins to obtain a gun. The game is over after a team scores 4 points. You shouldn't attack your teammates if you want to win. 🤷
I implemented a main menu, but the game is TINY by nature so I ended up removing the menu. There is a pause menu, you can quickly return to the main menu from there if needed. The jump button is playstation X button on my controller, hopefully that is good for everyone.
Speaking of menu options, there are few bonuses in the pause menu if you can find the cheat code. Most of you will know it by heart -- especially fans of Contra. up up down down left right...anyway...
One more bonus actually, from the PICO-8 editor, you can tap into what's left of the main menu code to get 32 players 😊. PAGE 1, LINE 1642. Here you can increase the number of players, turn off coins, change maps, change teams, change camera, number of points, etc. If you dig in a little, the respawn timer is pretty easily configurable too. Ideally, the maps should be easy to mod also - but keep in mind that the AI is tightly coupled to the tile spacings I have used. More about that later.
- built-in mods
-- howdy yall, you can go ahead and hack in here: mapsel = rnd(3)\1+1 winat = 4 my_team = rnd(2)\1+1 --num_maties = 16 --num_zombies = 16 coin_feature = true zoom_in(true)
7923/8192 tokens, 56kb, 90% compressed size, 1839 loc.
I upload my progress pretty frequently, just because I want to test on mobile every so often. It makes it easy to look back on the process too. I have a lot of room to improve, no question there.
This project's code didn't begin until I found a sprite sheet I really liked. I found the sprites on itch.io and reached out to the creator. He was a super supportive and friendly guy. He praised my palette selections even before I changed them 2 or 3 more times. Palette swapping can be tough man.
So besides changing the palette a bunch of times, I also changed the maps and AI a lot. I was pretty sure I needed a large map to make this game fun, but I was wrong about this. I started with a full size map and then broke it down 2 more times. It is hard to get the pacing of a game right, and map size is pretty critical to that.
I changed the AI nearly every time I worked on this game. It wasn't until near the end, when I implemented the butt bounce thing, that I felt the game was decently paced. Combat was pretty awkward without the butt bounce because battles could go on for over a minute sometimes. The 64x64 camera helps with hiding some dumb decisions the AI makes. Its not really AI, it is just a few simple conditional statements that help the computer move the characters around. There is some redundancy in there too, it isn't my best code. Here's why:
For the first month or so, I created a very complex map and intended to use an A STAR algorithm all throughout the map. I figured that I could build some traps into the map and do some chasing and all of these things would be challenging but achievable. I am still not sure really. There seems to be a massive load on the CPU with A STAR. I mean, I didn't get far at all with coding it, but I wasn't inspired whatsoever by my heuristics/optimizations. It seemed like I was just going to loop forever on every combination of nearby tiles. I was just going to path find to the edges of the screen, not the map itself, but even that is a huge number of combinations.
So, I built a monstrous decision table to help the guys navigate the map. In itself, this was kind of challenging. Pixel perfection, state maintenance & timers, and all that stuff...a simple jump might require 10 rows on the decision table. It wasn't buggy really, but it ate tokens and was hard to test and update.
Deciding to minimize decision table usage, I made the map simpler. It can be fun actually to traverse simple maps in game play. Probably, it is more fun. I worked over the map many many times. I still feel that a level design expert could do something awesome given the same constraints but I'm satisfied anyway. The constraints alone were hard to discover. I have a big rectangle and if you're in it I chase you or else I go for the flag -- randomly choosing a ladder and doing a jump at every wall. If the immediate path has any blockage, the character is going to get stuck so I have to be careful that each 3x4 tile rectangle is passable. That is the gist of it.
When I finalized the maps, they were simple enough that I didn't need any decision table or path finding. I still had the decision table in there somewhat because it was driving a lot of NPC button presses. I think I never completely eliminated the decision table logic, it just kind of dissipated into different places. That's why there is some redundancy. It chooses directions like 3 times. Not a big deal.
I can't really think of much else special about the mechanics involved. Map flags are used for almost all collisions and are kept in handy little reusable functions. Wall, ceiling, floor,ladder have different combinations flags. Anything that needs a timer is written in a coroutine. Coroutines and closures are super convenient, metatables have not been so useful to me yet...
Overall, it was a pretty fun process. The best part is getting familiar with the tooling. Sometimes you can imagine and implement a huge feature in no time at all. You come back days later and start testing, and kind of sit in disbelief at what might've gone through your head last time haha. In a good way!
Thanks again for taking the time to read this. WIP carts below.
Work In Progress Carts
VERSION 0.0.3 (2718/8192 lua tokens used)
VERESION 0.0.4 (3897/8192 tokens)
VERSION 0.0.5 (4998/8192 tokens)
VERSION 0.0.6 (5813/8192 tokens)
(posted publicly https://www.lexaloffle.com/bbs/?tid=46297)
(sorry for the repost!)
VERSION 0.0.8 (6391/8192 tokens)
VERSION 0.0.11 (6977/8192 tokens)
VERSION 0.0.12 (7786/8192 tokens)
VERSION 2.0.1 (7923/8192 tokens)
(official BBS release 1)
CTF (Capture The Flag). You're on the red team. Grab a green team flag and return it to a red team flag.
Hey what's up guys? I've been working on a small game during the weekends. I was thinking about if I am close to completing it. I started thinking, hm yeah 70% no 50% ... maybe by the end of March ...
I don't have a lot of game dev experience, and really don't anybody to play test. I'm just kind of curious what you think about the game. Is it engaging or frustrating to you? Comment please, anything is welcome.
Shoutz to Gustavo on itch.io for the sprites. I just recolored em.
Play a very tiny game of 2v2 ultimate frisbee. Post your high scores (mine is only 9 😜). Happy gaming and happy 1k jam 2021 - check the link on itch.io :)
484 tokens / 1023 chars / 3% cart space / 1038 bytes lua / 65 lines
(Press X to reset)
It’s the classic stand-off show-down game now in PICO-8.
(please reset your 'best' if it is 0, I need to fix the bug still sorry)
Player 1 - x
(optional) Player 2 - a
At the main menu, you can reset your wins/losses. You can also reset your 'best' which in turn will decrease the difficulty while keeping your wins/losses in tact.
Try to get 10 in a row!
8-BIT ULTIMATE FRISBEE
First team to 4 points wins!
Arrow keys to change the player's direction
X or Z button once to select the player
X or Z button again to throw to him
Press the button once to change direction. Tap quickly to stop running.
gfx, sfx, music, code by roroyobert.