This blog isn't for you. It's for me. I treat it as a cataloging of my progress that I can look back on to find motivation when I'm feeling like I've done nothing.This project is a single player, party-based, rogue-like, collect-em-all, space RPG, designed to be played in the form factor of a Game Boy Advance.It's just a hobby project - but the dream of building an actual playable RPG-style game has been kicking around in the back of my head since high school.You can find the source code here:https://github.com/fisherevans/project-f
Don't wanna be here? Send us removal request.
Text
Small iteration in the combat state. Health is now fluid - damage adjusts a target, but the actual health takes time to reach that target. This means the health bar updates smoothly and it technically allows you to recover from death. I want to add skills that change how quickly (or slowly) the effective health updates.
I also added a pending animation on the next skill, and some UI button hints for canceling the pending skill.
Next up, I want to show both the "target" and "current" health in the stats bar.
2 notes
·
View notes
Text
This update was a bit tedious, and less game focused - but hopefully it will let me iterate on my UIs quickly as I flesh out my combat state.
Text boxes are now fully configurable with width/height, render origin location, and vertical + horizontal alignment.
With those, plus the 9-box frames I added a while back, I created a generic collection of "badges" that can be used for small UI elements. In this example type badges, a la Pokemon - and button input tool tips!
5 notes
·
View notes
Text
I was struggling to find a 5px tall font I liked for some of my more detailed UI elements. So I made my own! It was way simpler than I expected thanks to the PixelForge tool I found. I love some of the more stylized letters, like A, C, G, O, P, S, and U (specifically the "lower" case letters).
This also opens up an awesome opportunity to create custom icons as part of the font that I can easily include in text :)
Sadly, it's not easy to make special kern pairs (like for LT) with bitmap fonts. It kind of bugs me (look at 'HEALTH' above). But maybe some day I'll circle back and see if I can make it work with glyph pair substitutes. It would require a much more feature rich tool to achieve.
3 notes
·
View notes
Text
I spent a lot of time recently on non-visual work recently, which is hard to demo. I've revamped my asset & sprite atlas engine to allow states to filter/specify which assets they want to load into a shared sprite atlas. This shared atlas (a single giant image containing all the sprites I might want to draw) is used with a batch rendering engine to greatly reduce the amount of resources it takes to run the game. It's currently sitting pretty at ~30MB of RAM. Most importantly, this work required me to fork the pixel v2 library to support this batching with the built-in text package. After that, I did the work to render the opponent health in combat, and got rid of the debug text rendering. It looks much better now!
Next up, I want to continue to add UX features to combat to make it easier to see what's happening (and what's happened), and add the tempo counter.
2 notes
·
View notes
Text
No new changes to combat, but I've been working on the health display. I mocked it up, then did the work to dynamically render it. Hopefully I can get the opponent health states added pretty easily now.
1 note
·
View note
Text
This update is a mixed bag. I added the ability to render outlined text, shown in a text box here. I plan to use it in the combat state soon. In the combat state, I added a skill selector component. I plan to add some iconography for buttons. I also want to highlight the active and queued up skill in some way. I rotated the active skill ticker, which visualizes what skills are currently being processed and stuck it in the middle. I plan to add a tempo counter that increases when you have a skill queued up when the current one ends, encouraging you to not "pause" combat. My next goal will be to add the "combatant cards" with their names, and health bars, instead of the debug text I currently have rendered.
1 note
·
View note
Text
First, now you can run by holding down B :)
Second: Dashing (over gaps)! This is a mechanic I plan to have the player unlock down the road to make areas accessible that weren't before. The animation style isn't my end goal, but was easy to make and fit well enough with my current stand-in tile sheets.
0 notes
Text
This video starts with me "showing off" my home-spun map editor. It did what I needed earlier on - had swap-able swatches, layer rendering controls, copy/paste abilities, entity property management, and more. Then, it shows me opening the same map in TIled, changing the position of some entities, and finally walking around in the edited map.
When I first started this project, my instinct was to use Tiled to map editing. But I really didn't enjoy the libraries available, so I developed my own internal data format for maps, and also wrote my own map editor. That was fun, but ultimately stupid.
I still like the map data format I landed on, it integrates nicely with my rendering engine. But I finally bit the bullet and wrote a converter that can parse a Tiled map and convert it to my internal format. Now I can stop worrying about implementing quality-of-life improvements for my bespoke map editor, and instead focus on building the game itself...
PS: I also bought @snowhex's tileset to use as a placeholder for my sprites - letting me focus on implementing the game engine instead of attempting to draw decent looking pixelart.
0 notes
Text
The first stab at combat. Player skills are on the bottom, opponent skills on on top. Each skill lasts a number of "ticks" - each tick can do something. Currently, the white dots are damage ticks, the black ticks are idle time. The color corresponds to the skill type.
0 notes
Text
My inaugural update. A little Walking around, chatting with NPCs, and some "advance" dialogue.
3 notes
·
View notes