Crop and ClawDev

Dev Log 8 – Crop and Claw

Find Us

Recently, a Discord was opened. I don’t like Discord, but annoyingly, it’s what everyone relies on. You can access it here. https://discord.gg/D3ttpCkmyk. There’s also an XMPP server at [email protected]. Our own server registration is probably not open, so you will want to use a federated XMPP server elsewhere. If you’re using XMPP, you probably know how this stuff works.

There’s a forum at https://forum.dinoleaf.com, which will probably find some use eventually. It requires manual approval when registering. It will probably be a more indexed and useful resource for our stuff in a communal sense.

ActivityPub is the best place to find us. We have our own instance.

Returning After The Content Grind

As of writing, it has been about seven weeks since the last dev log and major public update. It is also less than 24 hours until Crop and Claw releases to the public on Steam and Itch. The silence has been from a lot of “content grind”. Now the last real playtest and final touches are being rushed in. Though the project is probably going to get a few extra updates for notable bugs, and maybe a randomizer feature (no promises) in the future, Crop and Claw is effectively in Release Candidate.

RPGs are complex systems. The first commits of a Godot project was December 12, 2023. It is currently May 2, 2024. This just about six months of development, including the very short pre-production phase that early December had a part of. The code is somewhere between surprisingly flexible to extend and a lot of scrambled eggs and pasta in a bowl. The structure worked for the scope we were going for, and I’d say things are semi-competently put together enough for such a short crunch where a lot of unknowns had to be dealt with. It isn’t an easy (nor well documented) game to build and extend, but it didn’t need to be. Rather, it was a chance to quickly prototype some ways to structure a turn based RPG, before we move into the next project.

As we’re riding into release, I figure a final dev log can be used to place where the project and our game development operations are standing, and what’s coming next.

The Scope Is Just Right

Crop and Claw is a relatively small game. Many shortcuts were implemented. We also don’t have all the tools and tricks we need to handle some design decisions. The choice for Crop and Claw to be an NES-styled game is as much of a design decision as it was stylistic. It influences the expectations of the game’s design, and our limitations are baked into the game’s identity.

While it doesn’t stylistically mimic NES limitations perfectly, we had them in mind most the time. VRAM allocation isn’t perfect, and palette fading has some rough fakes. I don’t know enough about the NES nametables, cartridge RAM, and scanline techniques to know if the menus are possible to do the way we do. The Japanese localization of the game is especially apparent about it, with all the characters that would have to be loaded at once, some black magic would have to happen. We also don’t manage individual NES audio channels. This is most apparent in combat as sounds that would use the same channels as music can play simultaneously. There were still a lot of tricks we employed to stay roughly in line with hardware limits, however. Combat sprites use the background and sprite layer to create more colors than otherwise feasible. Appearing, disappearing, and damage deliberately desync the sprite layer to help hint at this limitation. Many combat animations are just screen shakes and changing the background’s clear color. Constraining ourselves to the NES gives us some leeway to the player that goes in expecting an NES-style RPG. They are more likely to understand what they are playing, and really, that it is a niche game for a certain player type.

… But Only Barely

Additionally, six months is not a long time to make an RPG. If using an engine like RPG Maker, it could’ve gone somewhat faster, but RPG Maker is closed source and, for archival reasons, it is good to have source code available in our records for the far future. Godot was workable enough, but part of the point was so I could build the code infrastructure as a prototype and feel things out (I elaborate later in this log) which this project was successful for us. In a way, we couldn’t even really do this in six months, and the only reason we’re hitting the deadline of Greenery Day, May 4 (in Japan) is because of some major crunch at the end along with preparations ahead of time to ensure we can get the project to launch on the target day correctly. In a way, it’s surprising we got as much as we got done in six months, because the original scope of Crop and Claw was far closer to Dragon Quest 1, with less complex mechanics and equipment. The codename was even “Dragon Grind” because it was more going to be about making numbers go up during mindless grind. But the code I wrote was easily able to expand “just one more feature.” This was even an interesting subversion of a small studio’s scope creep in a game. Usually it’s design scope creep that gets pulled back by various limitations. But we rather had a harder time wrangling the design possibility space than we did feature implementation. Various things like AI, skill, and item behavior were easy to extend. In a Godot specific example, the use of “meta” properties for resources made things even more powerful, because initially I didn’t know about them until late into development. This made some initially painful special-case code far faster and easier to write. I didn’t go back and change some old stuff, so there’s actually some rough legacy code with hardcoded values and resource loading baked in.

To give an idea of how tight hitting the release schedule was: the last three weeks prior to this dev log was a huge burst of near-daily work to fix bugs, add a few small features, and fix more bugs. Argil, the artist, had to do entire runs for balance testing in just one week, and even came up with some theoretical balance numbers to streamline balancing as fast as possible. Even as of writing, he is currently doing a final, in depth run to find localization text errors, bugs, and final balance tuning. (Reminder, this is less than 24 hours before the game goes public.) A large amount of text had to be written within a few days, along with Argil’s Japanese localization. Angora had to compose and adapt the last half of the soundtrack within a week or two. Truly, Crop and Claw follows in the footsteps of a NES RPG: we crunched hard to get all the last pieces together. This is in spite of constantly working on the game throughout the six months consistently. If you wish to make a JRPG, you best pick your battles wisely. The only reason we had this limited time was because Crop and Claw was intended to drop on Japan’s Greenery Day. One may say deadlines are good since they can increase the likeliness of a project actually getting done, but games are slow to make properly and we’re a pretty small studio with little momentum. That being said, I personally prefer slow burn to do things right, and the bugs and issues that arise from the need to rush projects is very draining. This gets elaborated on a little later, as the next project is going to be slow burn but highly optimized development workflow.

Design Philosophy – Now That We’re Basically Done

As part of our classic RPG design, we deliberately vague direction on where to go, and allowing the player to go just about anywhere that their skill and meta-knowledge allows. We also have multiple character classes, so that a player who replays with their meta-knowledge can still have a different tool kit for the encounters they do. This is a short RPG that can be played once or four times lets the player decide how much is enough for them and when they’re done. We also encouraged multiple playthroughs with the timer and step counter, for that one player that somehow becomes so addicted they want to minmax, speedrun, or build optimized routes. We also included an optional dungeon, two secret bosses and a surprise superboss random encounter (think Final Fantasy 1’s WarMech) so players that really want to do everything can try for 100% runs if they really want to. There are very few progress gates in the game, which means different routes can also try to get certain equipment, or even the collectible story items, in a different order. In fact, with exception to two story dungeons at very different points in the “standard run”, the player can walk just about anywhere their meta-knowledge and ability to fight or flee encounters allow. This is also part of why we brand Crop and Claw as niche. This is frustration for a player not adept to it, but a player that tries to find things on their own makes them feel like they ‘own’ the secrets. Additionally, it is more than likely people will look up things they don’t know, or ask friends who are playing alongside.

We don’t know how well things are put together. This game could be too easy, it could be too difficult. It could be both or neither. There was very little time for full playtesting, and not enough manpower for outsourcing playtesting to random players. (This makes sense since we’re nobodies.)

The Future of Crop and Claw

Crop and Claw is intended to get a sequel or two eventually. This won’t be for a long time though. As for this specific entry, there are a few fun things that might get done. A randomizer is the biggest feasible feature, but won’t be added for a while. I do want to make some physical release CDs for those who really like it and like having physical copies of games, but we will need to make a manual and, more ambitiously, we’d like to make an official guidebook akin to old Prima Strategy Guide type stuff. Dinoleaf has a lot of ISBNs and the network to print some nice hardcover books (see Weald Tales on IngramSpark or Amazon) so we mostly need to find time and resources to make fixed-layout books which present the information in a fun way. This is also where a lot of these dev logs and extra design insight might go, so it serves as much of a guidebook as it does a project recap for readers. A lot of our interests is in not just making products, but making them last forever. Physical game releases and guidebooks would really help. But on top of that, we need to start shifting focus to more portable codebases. Godot helped a lot with Crop and Claw’s dev, but as mentioned below, we’re looking to make something leaner and easier to eventually sustain for the long, long term.

One thing I can say, aggressively, is Crop and Claw will leave the NES era limitations now that we got what we needed out of it. This wasn’t too bad, but certain quirks with modern engines and technology gave a lot of headaches that, as of tomorrow’s release, simply aren’t going to be fixed. The biggest issue that was miserable was the Japanese text display is not properly aligned to the 8×8 background tile grid. Despite all my efforts to force both English and Japanese to be aligned, I couldn’t get it perfect. As a result, the Japanese localization has some very strange rendering. すみません.

Another issue that won’t be addressed in release is the framing mechanism. There’s actually two display modes. The default is Framed, in which the game renders with a widescreen resolution in mind, and frames a 512×512 display viewport with a decorative border based on the cover art. This is somewhat to mimic old games on different screens such as the Super Gameboy playing Gameboy games on a CRT. The other display mode is Raw, in which the game displays the game view without a frame and stretches. This was originally supposed to just output to a 256×240 resizable window, but resizing the window or project when it boots in this mode just kept causing various rendering problems. Viewport stretching is just awful and the end result is just the framed resolution with the stretched ratio. Even then, this doesn’t matter much in the end. The real reason for Raw mode is so someone can output Crop and Claw to a CRT TV (HDMI to RCA works well) and play it with the truest CRT look. CRT filters don’t do justice.

Onto a New Engine

Godot has been good for rapidly putting Crop and Claw together and identifying pain points in the process of putting a monolithic RPG together. This especially goes into the realm of “finishing” games, because the final sprint to completion becomes more difficult the less workable the tools are. Godot is great for general game development, but it is a large engine with a heavy codebase for multiple game genres and implementations. Its editor has a lot of knobs and buttons, and version upgrades will probably break maintainability over time. Consequentially, we’ll probably take the insight from Crop and Claw to move into the next RPG with its own engine.

While exact decisions aren’t finalized, I’m going to be building up a specialized RPG engine in C++. SDL3 is looking promising and would be future proofed for a while, so I’ll be spending some time in R&D to figure out different ways to break up this theoretical engine. In the meantime, we’ll be doing some early pre-production for the RPG that will be used to build and test this engine. Nothing’s ready to be announced, as this project’s still in a high level concept phase.

This also means that we’ll be slow to push out games. Dinoleaf still has some unreleased stuff, not just in digital games, that we may quickly finish up and drop to fill some of the dead time. Additionally, there will probably be a few small revisions to Crop and Claw just to top it off before we potentially consider it “complete enough”. If the new RPG engine is works out, we’ll probably use it for bringing Crop and Claw off Godot. Its sequels will certainly use it, at least. That’s not to mention our biggest project concept, which will most certainly rely on our own tech stack and design insights to be refined before it will be feasible to create.

Now Go Buy Crop and Claw.

Hi, I’m pyral

Pyral hates videogames and doing things.

Leave a Reply

Your email address will not be published. Required fields are marked *