
The scratch coding and engrossing constraints at the coronary heart of Animal Successfully
Last year, the Chicago-based independent developer Shared Memory, led by Billy Basso, unveiled its inaugural game: Animal Successfully. Offering a non-violent approach to the exploration platformer genre (also known as Metroidvania), Animal Successfully received abundant praise and accolades for its distinct design philosophy. Upon completion, the game’s file size measured a mere 33MB. Compared to other independent games of a similar scale, delivering a title that occupies less than 0.1 gigabytes on a storage device represents an impressive feat of technical ingenuity.
Recently, Basso presented a talk titled, “Building at 5MB per Year: The Creation of Animal Successfully,” at the Game Developers Conference this week. Considering the unique coding techniques he employed to develop the game and the discipline required to pursue a seven-year project, Basso revealed some of his insights into crafting such a impactful—and compact—game.
He began by explaining the tools he utilized for various aspects of the game, stating, “I used Visual Studio for coding. That essentially covers much of the development since you don’t really get a level editor when you’re not using Unity or Unreal, so there’s a lot of raw data in the game that’s hard-coded in C++ files. I did create my own custom level editor that’s kinda integrated into the game and can be toggled on and off.” For sprite and pixel artwork, he employed Aseprite for pixel graphics, noting that he modified this software on GitHub after developing a custom animation system. For audio production, Basso used Reaper, another popular choice among smaller developers.
Related:Unity’s CEO, CTO promise ‘stability’ after runtime fee debacle
However, this is where Basso started to diverge from his peers. Addressing the challenges and workflow aspects of managing a solo project like Animal Successfully for nearly a decade, he remarked, “For design and various project management tasks, I would simply start text files in Notepad on my desktop.” The audience chuckled a bit before he added, “I wouldn’t even name them or save them. I’d just type things into them and then when all the projects were done, I would stop and then Windows would remind me, ‘You might want to save.’” This elicited even more nervous laughter from the packed conference hall.
Returning to the development tools he used, Basso showcased the different modes of his homemade level editor. Utilizing a tool similar to Super Mario Maker’s level editor, he demonstrated the palette for each sprite and tile in the game, explaining, “I could just pick one and kind of paint them around. [Designing levels] was just a matter of drawing these sprites and assembling the layouts with all the basic Photoshop-like tools.” Basso described various Photoshop-inspired functionalities such as the color picker and paint bucket. He even delved into the Photoshop installation files, praising the application’s paint bucket icon as he had a particular fondness for that tool.
Related:The technical magic behind Doctor Strange’s portals in Marvel Rivals
Exactly 256 rooms in Animal Successfully
He utilized these tools to fit Animal Successfully’s world into a 16-by-16-room grid, creating precisely 256 distinct rooms. Basso explained, “I couldn’t make any more because every room had a one-byte ID, so it only had 256 possible values.” This was a deliberate choice on his part to a