Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Pico32 Devlog: Project Xochimilco

My name is Mister C. McCeppington otherwise known as Mr_Ceppah. For ~4 months I’ve been working on Project Xochimilco (Known internally as “Stamina Fighter”, hastily given a new name yesterday so people don’t know it as “Stamina Fighter”): a 2D, grounded fighting game made as an entry for the Pico32 collection. I will use GIFs created throughout my progress on this game during this devlog; Be fully aware the game is entirely unfinished graphically and everything is still a rough placeholder.

This game jam was something I had already taken a lot of interest in even during its initial conceptualization, and when it had officially started I’d already have come up with a lot of ideas for submissions. The 1st month of the jam was mostly juggling these ideas and seeing what stuck the most, many of these in fact not being fighting games - I’d consider myself a pretty big fighting game buff, and I’d already created many prototypes for them in Pico-8, but I was still pushed back from it initially due to the limits of making one with just a single cart to store everything (All of my prototypes up until this point relying on data loaded from other carts during runtime). It was only really when I started talking with Kai about his platform fighter that making a fighting game myself really cemented itself in me. 

Initial Concepts

I wanted it to stand in stark contrast to Kai’s fighter; Something I enjoy quite a lot regarding the UFO 50 collection is how differently games which, while on paper sharing genres and conventions with each other, would be executed. Working off the code of various past prototypes, some basic scaffolding was laid out: It was going to be a traditional 2D fighter, based mostly off of Street Fighter 2 & 3, complete with special move inputs and high/low parameters for blocking. This already gave the game a far greater demand for execution and technical knowledge than Kai’s game. This Street Fighter basis also did a great job grounding the project throughout my time making it, helping keep it from becoming more gimmicky than it could’ve been.


My initial conception of what would be most hooking and important to the game were quite naive. Even before fully landing on the idea of making a fighter for the project, I had paid mind how sprite and token-intensive fitting one onto a single Pico-8 cart would be. As a means of levying this, I made the decision to remove universal jumping from the equation - Less sprites and less moves to balance; A decision which affected the game in many interesting ways, but was still taken for granted by me for quite some time. No, what I thought would be the real kicker of my game in its early stages was the lack of a UI showing player healthbars. While ditching jumps also aided in this, I wanted the game to have an intense atmosphere, calling back to old Bruce Lee movies. Your character will get a red glowing outline around them when they’re low health, but that’s about it. This of course is not an idea you can actually build an interesting game off of, and while I’ve still kept it, my focus has mostly been on literally anything else. 

On top of this, there was going to be another catch regarding HP, this time with more direct gameplay ramifications: Not only would health slowly replenish over time, but performing the majority of tools at your character’s disposal would drain a certain amount of HP/“stamina” naturally. I expected somewhat of a Samurai Shodown-esque neutral game with this, where matches would be finished in just a few decisive blows. Thankfully, I made the decision to refrain from immediately implementing these ideas (Albeit partially out of laziness), instead making sure the game played well as-is before adding these gimmicky systems on top. This allowed me to allocate an appropriate amount of time on the actual movement and interactions in the game and, you can actually do quite a lot just moving on a flat 2D plane! The lack of a universal jump, while not being something unheard of in 2D fighters, has raised a lot of questions that’ve been very fun to answer.

Ideas Bouncing Off Ideas

Of course one of the biggest losses in removing jumps is that they’re the easiest means of switching sides with your opponent in most 2D fighters. It would’ve been entirely acceptable to do away with sideswitching completely (Footsies, an intentionally stripped-down game made to help teach & practice basic 2D fighter fundamentals, does just this), but I didn’t go down this route. For the longest time, evasive sideswitching was handled with a universal dodge roll based primarily on The King of Fighters, complete with a weakness to throws. This move monopolized the game’s defense quite a bit, but it was only recently when I removed it as a means of saving on tokens & compressed capacity. Its sideswitching ability was instead transferred to dashing, removing the iframes that dodge rolls offered. I like this much more; Not only does this retain more of the risk that came from jumping in Street Fighter, it allows me to play with the x axis of attack hitboxes in new ways, since how far backwards an attack hits is much more of a factor.

Another major loss in removing jumping is removing the easiest method of avoiding projectiles. This was accounted for by making them able to be ducked under, similar to “high” attacks in 3D fighters. This also allowed me to cement one of my characters as the main “zoner” just by giving them a low projectile that doesn’t abide by this rule. My removal of universal iframe rolls has only compounded the strength of this attack and has forced me to figure out how each character will interact with it. My favorite move I’ve added, however, belongs to the protagonist of the game, the “Ryu” if you will.


This is one of my favorite little terrariums of design, playing off many of my game’s conventions. In order to give her a move that passes through projectiles, I gave her a Tekken-inspired crouch dash, complete with a follow-up attack to retain offensive capability. This also gives the evasion a bit more nuance than simply giving it a projectile invincible state (See the previous paragraph). When I transferred sideswitching over to dashing, it was also a no-brainer to give it to the crouch dash as well.

The follow-up attack was also exceptionally fun to design. It was originally a very blatant riff on Wind God Fists from Tekken, launching the opponent into the air on hit. This created a very easy infinite combo, and overlapped visually with the character’s Shoryuken function. To remedy both of these, I added a wallbounce effect that I can give moves, so now not only can the opponent be juggled when in a grounded state, getting the wallbounce itself is a positional question due to needing to be close to the corner.


I’ve also experimented around with throw escaping, thinking of ways I could incorporate momentum into determining whether a throw is teachable or not. It’s been toned down a bunch, going from standing still automatically escaping throws to a more generic button-based escape just with momentum playing a factor into whether or not it’s techable in the first place. I’m unsure if I’m going to keep this system - In most regards it ends up turning grabs from an offensive into a defensive tool, and in the corner where holding back to block doesn’t move you at all it completely nullifies grabbing’s utility as a guard break - but I still credit this experimentation for really cementing how much I want to focus on movement and positioning in this game, as it’s a system that directly punishes the opponent for navigating these parts of the game improperly.

Visuals & Conclusion

If the GIFs don’t make it obvious, I have been focusing near-entirely on gameplay throughout this entire jam’s run. A practical thing to do, and the stickpeople I’ve been using have never been an eyesore, but it’s not what I plan for the game to look like when completed. I’m also 100% sure this is the reason my Xochimilco hasn’t been used in any promotional material for the game up to this point LOL. I’ve started making more concept art for the characters, and SmellyFishsticks has offered to do sprite art. 


Meet “Boxer” and “Zoner”. They will have real names in a month or so.

Suggestions during group playtesting have been quite modest; With most of Pico32’s dev team wholly unfamiliar with the design sensibilities of 2D fighters, they haven’t been able to give many suggestions regarding the actual game’s system mechanics. This is to be expected; I’ve made it clear I wanted the game to be less casual-friendly than what many other devs on this project have been aiming for. Still, I hold a great ambition in creating this game, which has thrown me in many unexpected directions while making it. Something I love about UFO 50 is that each game really is treated like an actual game; They don’t all expect you to understand them from the get-go, speaking a language which must be learned with time and practice. I want my fighter to be played as any other fighting game would, with nuances that take time to understand and fully appreciate. I want my game to be something which demands your attention, and asks you to really meet it at its level to find the fun in it.

Support this post

Did you like this post? Tell us

Leave a comment

Log in with your itch.io account to leave a comment.

Really cool read! 😄 Some very interesting choices you’ve made along the way. I’d definitely love to read more if you decide to keep these devlogs coming!