Pokemon Walk Postmortem
Pokemon Walk has been out for a month now. I want to take a minute to do a postmortem analysis of decisions and outcomes. I'll keep tweaking it over time, but I want to start working on my next game at this point and I want to go over a few major points in its development.
Engine and Library Learning:
My PraxisMapper Godot Components library and my other games, have been worked on with a 1080x1920 baseline scene size. When I started getting pixel-art images imported in Pokemon Walk, They all looked very bad on my phone. The scaling was very off, and in order to make scaling work right I had to make the game small and let it scale up instead of down. The final resolution for this game is 360x640.
Godot does a lot of cool things and I got to dive in a lot deeper on this setup than in my demo app, and how it handles pixel art tells me that I should probably try to get away from that next time. 360x640 is not a lot of room to work with on a touchscreen, and it's probably worth not dealing with the UI headache this limited area gave me again.
I also realized my core map control was not at all flexible. I had to redo the layout to fit on the screen, reposition it via trial and error, mess with scaling, and recheck multiple times until I had it lined up. This was the motivation to make ScrollingCenteredMap2, which you can see in the demo app now. It will handle all of the issues around sizing and positioning on it's side automatically. All of my future games should simply be a matter of making the control the size I want and centering it where I want from now on.
Full-Combat Plans Abandoned:
Way back when I first started to implement this game, I wanted to use the full combat engine of the console games. The base combat engine itself wasn't too hard to implement. The moves, though..... There are 589 moves that require a special effect to be done via code, and the vast majority of them are one-offs unique to that specific move. I am a hobbyist developer, and only have so many spare hours for projects that I had to drop this plan. The recent announcement of Pokemon Showdown, which happened well after I went in on Go-mechanics makes me feel better about my choice.
But also, it would have been the wrong call to stick with the full combat engine. When I go out, I don't want to have my walk interrupted constantly with things that require my attention. I want a more passive setup, where I can look away and not miss anything. Or one where I can look at the map for a destination and not need to micromanage constant decisions.
Using Go style combat was both easier to implement, and trivial to automate. Go combat is just "mash the button", so why bother having the player do that when tapping the screen twice a second is all it takes to master combat? Automating that gave me what I wanted: a game where I can walk around, glance at the screen when I wanted to, and enjoy my walk focused on my surroundings more than my phone.
Re-focus on Walk
The initial setup for the game just used movement. I didn't use any sort of speed-lock, because that was usually an annoyance in Go. I quickly changed plans on that after actually testing out the game, which I did exclusively by driving to the grocery story because it was winter and too cold to do any walking. It did show the game was fun, but I did not want the optimal way to play to be to drive with the game open.
So I sat down for a minute and set up some stuff to make walking better. Everything still works when you're driving, but anything you catch is 15% weaker than baseline. When walking, everything you catch is 15% stronger than baseline, and you get 4x the resources when walking to pull closer to even with driving. If you jog real close to the limit, fast enough to get 2 tile changes a second, I think you out-pace driving on resource gain. You have to be at an angle for that to work, though. The math on PlusCodes prevents that if you're walking at a pure cardinal direction.
This is a thing I should have caught earlier. I missed this because of a focus on including all of the content I wanted, and I didn't consider it early on (because I initially though the full combat engine was going to be the main draw). If I had set out to be as casual about catching and combat early on, I probably would have done this from the start, instead of fixing it in Release 3.
Story Abandoned:
Earlier on, I had originally planned a story to include in the game. It was going to be a bit of a jab at the now-baseline pokemon story, where some Professor met some super-god pokemon that left them in a mixed-up ghost-like state, asking you if they were a boy or a girl as a fun throwback to Red/Blue, then running off for a bit. Their return would point out how most pokemon are just 2 ideas slammed together if they're lucky. And then go and start slamming pokemon together, allowing fusion pokemon to be caught in the wild. Sometime after that, you'd encounter the god thing they saw, which was going to be some kind of Spirit of Human Creativity that explained that all ideas, for all time, were just observations and things put together, and then some big unusual last fight with some wildly different setup. My last notes were to ponder using slot reels to pick pokemon to do attacks instead of using your preferred party. It was going to be a smart, witty parody that poked at lazy pokemon designs and poked at fans that would never be happy.
Then at some point, I remembered that I've never played Pokemon Go for the story, and barely cared about the main story in any of the pokemon games past Gold, when I was a kid. So I just didn't bother to include a story, and no one has complained. That might be the most biting satire of the story one could write.
Marketing Sucks:
I hate advertising with the burning passion of a thousand suns. I hate seeing ads. I hate how the entire internet is funded by them, and any other income for websites is a rounding error. I also hate trying to advertise my projects. It feels incredibly bad to me when I try to shove myself into a conversation about something, and that's all advertising ever is. I'm not paying Google or whoever 2 grand to randomly throw my app's link in front of people to get ignored. I can get ignored for free.
I mostly just post announcements on Mastodon, in between progress updates and random game-dev thoughts. I did try to find somewhere on Reddit that would want to know about a Pokemon fan game based on Go. A post on /pokemonfangames never went public because there are no active admins for that and posts are approval-only. A post on /pokemongo got drowned in the flood of other posts on the busiest topical subreddit available. I got a little bit of attention on /pokemongodev, which was setup to work out ways to scrape the game for info or make private servers and is now mostly dead outside of people asking about cheats. Most other subreddits are pretty strict about not posting links to stuff, and the ones that are tend to be game-dev specific. I already know well enough that game-devs are not going to play other game-dev's projects, they're there to post their own games.
Mostly on the power of keyword searches on itch.io, Pokemon Walk has 390 views over its first 30 days, with 70 downloads scattered across 6 updates. For the most part, it has not visibly caused a halo effect for my other locative games. Outside of the update to the PraxisMapper Godot Components library/demo app, view counts for my other projects are about the same ~10/week, with only 1 downloader for the Components demo and its source in the last month. This isn't a surprise. Locative games are a tiny niche, and making stuff for people who want to make these kinds of games is incredibly small. Maybe a dozen people a year take a crack at making one of these games on their own, and not all of them are going to use Godot and Android. I do appreciate the people that have reached out to me for help using my tools, so I know there is interest in it. I'll keep at it as long as I can.
Multiplayer:
Delayed. Had ideas, none of them immediately sounded particularly great. May implement something as multiplayer practice for future games. Maybe a basic "pick 6 pokemon to be your party, fight nearby players" kinda thing to work out how Godot ad-hoc mulitplayer works. I don't think I can do much to make online play hacker-free at this point. Particularly since it's an open source game. Anything I write in to validate can be easily modified by someone willing to read a few lines of code and apply the same plan to an edited save file. Mind you, I value open source code much more highly than secure multiplayer, so this will be a potential issue in all my games. My general idea for that in future games is to let servers decide who is and isn't cheating, and to let cheaters host their own servers if they don't appreciate being locked out or shadowbanned.
So Why is This Fun?
Despite all of these cuts and reductions, the game is enjoyable. My family pops it on in car trips for now, and soon we'll be able to go out into a nature reserve and spend an hour walking though with the game on in the background when the weather cooperates. I don't think this is quite as simple as "cut scope creep, keep to the MVP" that a lot of initial development planning says to do, but there's probably a lot of that there since this is a hobby game. I think its a little more about figuring out what you want and working on that.
I wanted a game that put most of the focus on moving and walking, with some incentive to go out to new places occasionally, and I have that here. If I don't want to play and just enjoy the walk, that's fine. The game does not demand attention or action. It's there for you when you want it. It's very hard to make a game that you want people to grow out of, but using it to build a healthy habit so it's not needed is my ultimate goal. Its why I work on locative games.
Get Pokemon Walk
Pokemon Walk
Explore the real world with Pokemon in this fanmade location based game
Status | Released |
Author | Cerol |
Genre | Adventure |
Tags | Casual, Godot, location-based, Open Source, pokemon |
Languages | English |
More posts
- Pokemon Walk Release 6 is out!7 days ago
- Pokemon Walk Release 5 is Out!18 days ago
- Pokemon Walk Release 4 is out!22 days ago
- Pokemon Walk Release 3 is out!32 days ago
- Pokemon Walk Release 237 days ago
- Pokemon Walk is released!42 days ago
Comments
Log in with itch.io to leave a comment.
Definitely having fun with it. Been playing since the first release.
Appreciate the fully automated combat, but I think with the increased levels that being in a car has passed up walking again. Getting more super high level raids per minute greatly outpaces how much you are allowed to level up a Pokemon manually. All of my strongest Pokemon come from just spamming the raid button while a passenger in a car. Can't level up Pokemon as high as you can get in a raid.
Also a couple Pokemon variants seem to be missing. Alolan Raichu and Marowak don't seem to be accessible? Even as part of Alola Week.
Also Zacian has its stronger form, but not Zamazenta?
Mega Rayquaza and Zygarde also seem to be missing their extra forms.
The only "major" feature I still want is a Pokedex of some kind. Gotta catch them all!
Pokedex is in the works. It'll include a scanner to help you find where to go to catch pokemon.