<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Z Space Blog - Guides</title><link href="https://zlg.space/blog/" rel="alternate"/><link href="https://zlg.space/blog/feeds/t/guides.atom.xml" rel="self"/><id>https://zlg.space/blog/</id><updated>2022-12-12T21:25:00-08:00</updated><entry><title>Box Pusher » Level Data for Solvers</title><link href="https://zlg.space/blog/box-pusher-level-data-for-solvers.html" rel="alternate"/><published>2022-09-12T22:17:00-07:00</published><updated>2022-09-13T21:37:00-07:00</updated><author><name>zlg</name></author><id>tag:zlg.space,2022-09-12:/blog/box-pusher-level-data-for-solvers.html</id><summary type="html">&lt;p&gt;Back in 2012, I bought this cute little game called &lt;em&gt;Box Pusher&lt;/em&gt; [DSi]. It
features gameplay from a 1982 game called &lt;a href="https://en.wikipedia.org/wiki/Sokoban"&gt;Sokoban&lt;/a&gt;. In Sokoban, you
are a warehouse worker and push boxes around an enclosed area onto target
squares. This is the entirety of its gameplay. Think of ye olden Zelda block
puzzle, on crack, and you get Sokoban. Box Pusher contains 250 levels worth
of this craziness, and features a level editor, in case that's not enough box
pushing for you. It was certainly enough for me. But, you don't have to do the
work needed to get some Box Pusher solutions; I did it for you!&lt;/p&gt;
&lt;p&gt;&lt;a href="https://files.zlg.space/s/jWYwyFSBMtXCaCi"&gt;Box Pusher » Level Data for Solvers&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Hook it up to a solver, and you're good to go! Putting this together was a
journey.&lt;/p&gt;
</summary><content type="html">&lt;p&gt;Back in 2012, I bought this cute little game called &lt;em&gt;Box Pusher&lt;/em&gt; [DSi]. It
features gameplay from a 1982 game called &lt;a href="https://en.wikipedia.org/wiki/Sokoban"&gt;Sokoban&lt;/a&gt;. In Sokoban, you
are a warehouse worker and push boxes around an enclosed area onto target
squares. This is the entirety of its gameplay. Think of ye olden Zelda block
puzzle, on crack, and you get Sokoban. Box Pusher contains 250 levels worth
of this craziness, and features a level editor, in case that's not enough box
pushing for you. It was certainly enough for me. But, you don't have to do the
work needed to get some Box Pusher solutions; I did it for you!&lt;/p&gt;
&lt;p&gt;&lt;a href="https://files.zlg.space/s/jWYwyFSBMtXCaCi"&gt;Box Pusher » Level Data for Solvers&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Hook it up to a solver, and you're good to go! Putting this together was a
journey.&lt;/p&gt;


&lt;p&gt;About halfway through the puzzles, I realized "I'm an adult and have other shit
I want to do. It'd be cool to beat this game, though." So I decided to make it
a little fun, and use Sokoban solvers. I used a combination of &lt;a href="https://www.sokoban-online.de/"&gt;JSoko&lt;/a&gt;,
&lt;a href="https://computerpuzzle.net/english/sokoban/ver740/index.html"&gt;takaken's Sokoban Solver&lt;/a&gt;, and &lt;a href="https://sourceforge.net/projects/sokobanyasc/"&gt;YASC Solver&lt;/a&gt; to get solutions. I
then used JSoko's optimizer to shorten those solutions. Between these tools and
a few strays that I was able to solve on my own, it only took raw determination
to see it through.&lt;/p&gt;
&lt;h1&gt;Building the Levels&lt;/h1&gt;
&lt;p&gt;The first part of this task was transcription. I started this project in March
of 2022. Due to the game's design of only allowing you to play 5 levels at a
time, I had to rely on the small level previews (and my phone camera's zoom) to
get level layouts ahead of where I was, or solve puzzles as I transcribed. It
was an arduous process, but Vim's &lt;code&gt;virtualedit&lt;/code&gt; setting was a huge time saver.
It allows you to move the cursor anywhere in the buffer, which is key to making
text-based diagram creation approachable.&lt;/p&gt;
&lt;p&gt;To make matters worse, my &lt;a href="http://typematrix.com"&gt;TypeMatrix&lt;/a&gt; Dvorak keyboard got a sticky key and
I was unsuccessful in reassembling it after I cleaned it, damaging the keyboard.
I tried everything I knew to do to keep the silicone/rubber membrane to stay in
place; even glue, but in the end, the key is permanently mushy. Unusable to me,
so I kept it around for parts. Being stuck back on a staggered, QWERTY keyboard
sucks, but I'm glad that the muscle memory is still there.&lt;/p&gt;
&lt;p&gt;Getting back to the game, I enjoyed the variety of skins and music, and the
camera options are cool, too. Ultimately, I feel like the game has way too
much content, and some puzzles are really similar. A better curated set of 100
puzzles would be more palatable, and a more realistic goal for someone to meet.
Perhaps that wasn't the goal in developing Box Pusher, though. If you are a
hardcore Sokoban player, Box Pusher has it in spades! As it turns out, I'm not
super into Sokoban.&lt;/p&gt;
&lt;h1&gt;Sharing the File and Looking Back&lt;/h1&gt;
&lt;p&gt;I appear to be the only person out there who's finished this game. I wasn't able
to find any guides, FAQs, solution lists, blog posts, &lt;em&gt;nothing&lt;/em&gt; to indicate
anyone else had played or beaten it. To remedy that, I'm sharing &lt;a href="https://files.zlg.space/s/jWYwyFSBMtXCaCi"&gt;a text file
containing level layouts for Box Pusher, in machine-readable form&lt;/a&gt;,
ready for use by all the major Sokoban solvers.&lt;/p&gt;
&lt;p&gt;Comments at the top of the file contain advice for usage, and certain levels are
commented where I had issue with the solvers. Level 225 and 232 are particularly
rough for solvers. None of the solvers that I ran against those levels produced
a result, even after 2 hours of running. I ended up following the solution shown
in-game by using a solution credit, recording it with my phone, and playing it
back at 0.25x speed so I could follow it. Publishing solutions would require me
to do 250 puzzles again, and that's just &lt;em&gt;not happening&lt;/em&gt;. I've seen enough
variations of UDLR to make my head spin.&lt;/p&gt;
&lt;p&gt;Despite the slog of completing the puzzles, I did appreciate the different
strategies required to solve the levels, and I got to learn about an entire
hobby group that uses automation not only just to solve levels, but to gain
knowledge of AI techniques and get programming practice. Some levels were solved
lightning fast in one solver, but timeout in another. It appears that Sokoban is
a game that requires an adaptable AI that relies on numerous algorithms to make
its choices, to get best results. Single algorithms can work, too, but it was
the variety in algorithms that helped me clear &lt;em&gt;Box Pusher&lt;/em&gt;'s levels.&lt;/p&gt;
&lt;h1&gt;Final Thoughts&lt;/h1&gt;
&lt;p&gt;I think parallel processing would improve the solvers that are the current
state of the art. The most I could get for a solver were 2 threads! I have a
6-core, 12-thread CPU. How much faster could I have solved these, if I had a few
cores assigned to a few algorithms, so they could all "compete"? Threading is a
hard thing to program correctly, so I understand why someone might want to keep
things simpler. Perhaps next-gen solvers will integrate parallel computing in
some way, to improve performance for modern hardware.&lt;/p&gt;
&lt;p&gt;Please enjoy using this file to solve Box Pusher levels! Big thanks to the 
hackers putting together solvers for the rest of us to use. My file would be 
useless without them.&lt;/p&gt;</content><category term="Projects"/><category term="Video Games"/><category term="Guides"/><category term="Nintendo DSi"/><category term="Sokoban"/></entry><entry><title>Metroid Zero Mission » Zebes Map</title><link href="https://zlg.space/blog/metroid-zero-mission-zebes-map.html" rel="alternate"/><published>2012-11-14T06:26:41-08:00</published><updated>2022-12-12T21:25:00-08:00</updated><author><name>zlg</name></author><id>tag:zlg.space,2012-11-14:/blog/metroid-zero-mission-zebes-map.html</id><content type="html">&lt;p&gt;I recently got into the speedrunning scene and decided that my first serious
speedrunning game would be &lt;em&gt;Metroid Zero Mission&lt;/em&gt;. One of the most important
aspects of speedrunning Metroid games is planning your route through the game.
Logically, it's important to have an accurate and useful map, often more
informative than the in-game map. Years ago, I made a simple map for &lt;abbr title="Metroid Zero Mission"&gt;MZM&lt;/abbr&gt; that
was designed to be printed and display the expansions, nothing more.&lt;/p&gt;
&lt;p&gt;Revisiting it with a new goal for route planning in mind, I present to you the
map of Zebes for &lt;abbr title="Metroid Zero Mission"&gt;MZM&lt;/abbr&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://files.zlg.space/s/rozPPcMrnzz4k9k"&gt;Metroid Zero Mission » Zebes Map&lt;/a&gt; (864 × 1216 pixels, 84 KB)&lt;/p&gt;
&lt;p&gt;The entire image was self-made except for the Creative Commons license indicator
in the bottom right. The only information it's lacking are indicators for which
power-ups you need to get past certain areas. To be honest, if I added that
information the resolution would be doubled, easily. I have also omitted boss
icons (for now), since all speedrunners know where the bosses are. :)&lt;/p&gt;
&lt;p&gt;If you want to distribute it, I don't mind as long as the file is unaltered and
I'm informed of where it was posted. It's cool to see where it ends up!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2022-12-12 UPDATE:&lt;/strong&gt; The text that I made for this map ended up inspiring the 
styling of the 'ZLG' logo! &lt;a href="https://zlg.space/blog/handcrafted-svg.html"&gt;Check out my post on the 
subject.&lt;/a&gt;&lt;/p&gt;</content><category term="Projects"/><category term="GameBoy Advance"/><category term="Guides"/><category term="Metroid"/><category term="Pixel Art"/><category term="Video Games"/></entry><entry><title>Izuna: Legend of the Unemployed Ninja » Advanced Gameplay Guide</title><link href="https://zlg.space/blog/izuna-legend-of-the-unemployed-ninja-advanced-gameplay-guide.html" rel="alternate"/><published>2012-09-23T18:15:45-07:00</published><updated>2022-07-28T19:36:00-07:00</updated><author><name>zlg</name></author><id>tag:zlg.space,2012-09-23:/blog/izuna-legend-of-the-unemployed-ninja-advanced-gameplay-guide.html</id><content type="html">&lt;p&gt;&lt;em&gt;Izuna: Legend of the Unemployed Ninja&lt;/em&gt; is a fun roguelike produced by Success 
and published by Atlus. Like most roguelikes, &lt;em&gt;Izuna&lt;/em&gt; is tough and comes with 
its own system of advancement. At first glance, it's not clear how to improve 
one's equipment. A friend and I sat down and tried to locate some more specific 
information on the game, and came up empty-handed. In typical fashion, I 
proposed that we figure it out and make our findings available to others. The 
result is this guide!&lt;/p&gt;
&lt;p&gt;&lt;a href="https://files.zlg.space/s/qoecAi8GQtpFFFG"&gt;Izuna: Legend of the Unemployed Ninja » Advanced Gameplay Guide&lt;/a&gt;, 
version 1.2 — updated 2011-10-15.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2022-07-28 UPDATE:&lt;/strong&gt; I'm quite proud of this guide, and fondly remember the 
time I spent with said friend.&lt;/p&gt;</content><category term="Projects"/><category term="Nintendo DS"/><category term="Guides"/><category term="Video Games"/></entry><entry><title>Mario Kart DS » Game Mechanics Guide</title><link href="https://zlg.space/blog/mario-kart-ds-game-mechanics-guide.html" rel="alternate"/><published>2012-09-23T18:11:25-07:00</published><updated>2012-09-23T18:11:25-07:00</updated><author><name>zlg</name></author><id>tag:zlg.space,2012-09-23:/blog/mario-kart-ds-game-mechanics-guide.html</id><content type="html">&lt;p&gt;When &lt;em&gt;Mario Kart DS&lt;/em&gt; was released in 2005, I was impressed by the amount of 
detail in each kart's stats. As I began playing more seriously and taking part 
in Nintendo's first global online game, it was clear to me that there was more 
than meets the eye and somebody needed to cover it. Thus, the Game Mechanics 
Guide was born. It enjoyed some mild popularity on GameFAQs and Neoseeker while 
I was a part of those communities.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://files.zlg.space/s/Jz8B422rammCyaJ"&gt;Mario Kart DS » Game Mechanics Guide&lt;/a&gt;, version 1.7 — updated 
2011-10-15.&lt;/p&gt;</content><category term="Projects"/><category term="Nintendo DS"/><category term="Guides"/><category term="Mario Kart"/><category term="Video Games"/></entry><entry><title>Etrian Odyssey » Class Skill Trees</title><link href="https://zlg.space/blog/etrian-odyssey-class-skill-trees.html" rel="alternate"/><published>2011-10-15T08:09:53-07:00</published><updated>2011-10-15T08:09:53-07:00</updated><author><name>zlg</name></author><id>tag:zlg.space,2011-10-15:/blog/etrian-odyssey-class-skill-trees.html</id><content type="html">&lt;p&gt;I've been playing &lt;em&gt;Etrian Odyssey&lt;/em&gt; and was looking around for
skill trees so I could plan a proper party. Nowhere I looked offered what I was
looking for, so I gathered the data and made my own diagrams! After a little
sprucing up, it turned into a FAQ.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://files.zlg.space/s/stPRgitCS6z722q"&gt;Etrian Odyssey » Class Skill Trees&lt;/a&gt;, ver. 1.1 — updated 2012-08-06&lt;/p&gt;
&lt;p&gt;It features fairly easy-to-read diagrams and skill cost highlights so you can
plan your skill spreads accordingly. Enjoy.&lt;/p&gt;</content><category term="Projects"/><category term="Nintendo DS"/><category term="Etrian Odyssey"/><category term="Guides"/><category term="Video Games"/></entry></feed>