add the atelier phooebe article

main
Shoofle 1 month ago
parent ab662d2991
commit 39cf6b4354
  1. 16
      articles/atelier-phoebe.article.html
  2. BIN
      articles/atelier-phoebe/screenshot.png
  3. 56
      index.html

@ -0,0 +1,16 @@
<style>
</style>
<article>
<p>In January and February of 2024, I made <a href="/static/atelier/ateli8.html">a game!</a> It’s a bite-size fangame for the <a href="https://en.wikipedia.org/wiki/Atelier_(video_game_series)">Atelier franchise</a>, and it takes 15-20 minutes to play. I made it in <a href="https://www.lexaloffle.com/pico-8.php">Pico-8</a>, a fantasy console themed around the 8-bit consoles of eld. In Atelier Phoebe you play as Phoebe, a young alchemist who has inherited her grandfather’s workshop in a town down on its luck; can you bring back the fireworks festival that used to light up the skies?</p>
<figure>
<img src="screenshot.png" alt="a screenshot showing Phoebe saying 'when i craft, i pick which of each ingredient to use with left and right,' above a workbench-like crafting interface">
<figcaption>It's even got tutorials!</figcaption>
</figure>
<p>I feel like it’s almost overstatement to call this a whole entire game sometimes. The whole “story” is about eight quests long and has maybe two major beats. Nevertheless, I’m really proud of it, because I’m not sure I’ve ever made a software project that feels as finished as this on my own. I’ve made a lot of things, and some of them have been pretty useful, but it was rewarding to actually put this through multiple rounds of bug fixing, finalize a title screen, and so on. And as short as it is, Atelier Phoebe does have a beginning, middle, and end – it has everything a “real” game should have. The parts are just extremely short.</p>
<p>One of my goals with Atelier Phoebe was to make a game somewhat incongruous with the Pico-8 environment. Pico-8 really lends itself to simple platformers and shoot-em-ups, and doesn’t usually make people think of story-based RPGs. I really wanted to include talk sprites for dialogue in this game, specifically because Pico-8 is so poorly suited to them, with its fixed 16-color palette and limited sprite sheet. I’m proud of them – they were fun to draw and really contributed to the feeling of using everything available to me. See…</p>
<p>One of the constraints for Pico-8 games is that they have to fit within 16 kilobytes, and your space for visual assets (there are built-in tools for drawing, designing maps, and arranging music and sound effects) is limited to a 128×128 bitmap field. The bottom half of that is also shared with the tile map data (also 128×128) so in practice one of your graphics data or your tile map data is limited to 128×64. That’s pretty constrained! Most of the projects and demos I’ve done in Pico-8 haven’t come close to using all of either one, but Atelier Phoebe really maxed out the sprite data, in large part due to those precious talk sprites for dialog. In theory I think they could have been compressed somehow, but that would have meant interfacing with external tools, which I decided early on I was going to avoid.</p>
<p>I say “avoid”, but I did use one external tool – a compression tool called <a href="https://github.com/thisismypassport/shrinko8">shrinko8</a>. See, Pico-8 has a simple limit on graphics data, but the overall package of your game “cartridge” is limited to 16 kilobytes (after built-in compression), with a supplemental limit of 8192 tokens and 65k characters (pre-compression). By the time I was finishing up Atelier Phoebe I was damn close to all of those limits, and I was over the character and compressed data limits. Fortunately, I’m not the first person to have made an ambitious project in the limits of pico-8, and shrinko8 will supply some more intelligent static analysis-based compression. This allowed me to export the game in its finished state. The limits put the kibosh on some further expansions I had planned. I would have liked to write more dialogue and a more complicated and full-featured alchemy system, but I have the ultimate excuse – there was no room for any more!</p>
<p>The whole project was split over 16 different files, the bulk of which were separate files for each character’s scripts and separate files for each screen’s behavior. I did edit code and text in Sublime Text rather than Pico-8’s built-in editor – as much as I love the vibe of the environment and dedication to the bit, I can’t stare at 3×5 pixel fonts for more than an hour before my brain melts out my ears.</p>
<p>I pushed myself to get this to a finished state, in the mind that finishing projects is itself a skill that I want to get better at. However, the artificial time pressure meant that I discarded plans to make music, which was okay by me because music is by far the component I am least familiar with. Maybe Atelier Phoebe 2 will have music. I don’t know.</p>
</article>

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

@ -7,6 +7,11 @@
<link href="./static/bootstrap/css/bootstrap.css" rel="stylesheet" type="text/css"> <link href="./static/bootstrap/css/bootstrap.css" rel="stylesheet" type="text/css">
<link href="./static/bootstrap/css/bootstrap-responsive.css" rel="stylesheet" type="text/css"> <link href="./static/bootstrap/css/bootstrap-responsive.css" rel="stylesheet" type="text/css">
<link href="./static/shoofle.css" rel="stylesheet" type="text/css"> <link href="./static/shoofle.css" rel="stylesheet" type="text/css">
<style>
body {
padding: 1em;
}
</style>
</head> </head>
<body> <body>
<div class="row-fluid"> <div class="row-fluid">
@ -40,18 +45,7 @@
</div> </div>
</div> </div>
<div class="row-fluid"> <div class="row-fluid">
<div class="span4">
<div class="small_project art">
<p class="description"><a href="miscellany#spinning">Performance Art: Skilled Manipulation of Inertia Props</a></p>
<p class="name">I <a href="spinning">spin Poi and Staff</a> in my spare time</p>
</div>
</div>
<div class="span4">
<div class="small_project game">
<p class="description"><a href="shoof-shoof-revolution">DDR Clone in Javascript and SVG</a></p>
<p class="name">Shoof Shoof Revolution?</p>
</div>
</div>
<div class="span4"> <div class="span4">
<div class="small_project writing"> <div class="small_project writing">
<p class="description"><a href="miscellany#lambdamoo">Worldbuilding is Fun, Or: Adventures in LambdaMOO</a></p> <p class="description"><a href="miscellany#lambdamoo">Worldbuilding is Fun, Or: Adventures in LambdaMOO</a></p>
@ -59,44 +53,6 @@
</div> </div>
</div> </div>
</div> </div>
<div class="row-fluid">
<div class="span6">
<div class="small_project web">
<p class="description"><a href="play-for-x">An Alternative to Rolling Dice in Tabletop RPGs</a></p>
<p class="name">Play for X</p>
</div>
</div>
<div class="span6">
<div class="small_project coding">
<p class="description"><a href="distributed-speakers">Free Ad-Hoc Sound Systems</a></p>
<p class="name">Project idea: Distributed Speakers</p>
</div>
</div>
</div>
<div class="row-fluid">
<div class="span3">
<div class="small_project writing">
<p class="description"><a href="tamari">Ever heard of a Tamari Lattice?</a></p>
</div>
</div>
<div class="span6">
<div class="small_project writing">
<p class="description"><a href="language-for-games">If you were writing a language for game dev, what unorthodox features would you include?</a></p>
</div>
</div>
<div class="span3">
<div class="small_project writing">
<p class="description"><a href="oauth">I wrote about how I use oauth to make tumblr bots.</a></p>
</div>
</div>
</div>
<div class="row-fluid">
<div class="span4">
<div class="small_project art">
<p class="description"><a href="miscellany#guitar">I try to strum a guitar now and then. Spoiler: there are no recordings.</a></p>
</div>
</div>
</div>
</div> </div>
<div class="span4"> <div class="span4">
<div class="about"> <div class="about">

Loading…
Cancel
Save