Sit down and grab a cup of your choice of beverage; this month’s a long post!
After getting back from GDC and the successful publisher meetings I’d had, the next step to move things further with them was to provide a playable build. The first week or so was spent getting one ready. I focused on providing more on-screen prompts and info for new players so that it was easier to understand how to play; I fixed up a bunch of bugs, and also properly implemented animations that I’d quickly pushed in for the gameplay footage last month.
I also added a first implementation of fishing into the game, as this was a large gameplay area that was missing and I wanted to get it in for the publishers. The gameplay borrows bits and pieces from various other games that I enjoyed and tries to make something that’s simple but still a bit challenging. In the first implementation you cast your line into a body of water, where the fish are swimming around. If a fish sees the bait they’ll swim towards it and start nibbling. After a random number of nibbles the bob will sink showing the fish has been hooked. You then have a short window of time to press interact and start reeling the fish in. During reel-in, you play a short mini game to determine if you manage to catch the fish or not. In this mini game your goal is to keep the fish within a moving target that progresses from a start to a finish line. The fish will randomly swim away from the target and you need to mash the interact button and pull in a direction to pull the fish back into the target. If the fish is outside of the target area too long you lose. The fish needs to be inside the target area when it crosses the finish line to win. After a bit of testing it felt fun enough and captured a bit of that struggle involved when reeling a fish in while it’s trying to get away. I felt the first implementation did a good job at showing where fishing was going so this went into the publisher build.
Once the build was all tidied up and a basic implementation of fishing was in it was sent off to the publishers I chatted with at GDC.
I was now free to get on with a whole bunch of bits and pieces I’d been meaning to do for a long while. As the focus for ages had been on fixing up builds; tweaking gameplay etc ready for GDC and now publishers; I’d hardly had a chance to work on the game itself, or had space to fix a load of niggling little issues. So as some sort’ve weird reward to myself I implemented a few things that had been on my mind that would make my life easier.
I implemented a quick level-selection panel in Unity. Who knows why Unity doesn’t come with an “Open Recent” file menu option, but its absence means switching between levels is a far longer process than it should be. So, like many others before me, I made a quick panel that lists all the levels in the project and gives me a button to open them; saving a bunch of time.
I finally sorted out the repository* for the project. In the beginning I had added the wrong folder to source control, which meant that although Assets were synced between computers, things like project settings weren’t. This meant that when working on my Macbook or another computer, I’d be missing important things like physics and rendering settings. Not cool. So I set up a new repository with the correct structure and everything’s hunky-dory now. Nice!
*(a repository is a location on a server where all the project’s files get stored over time, keeping them safe if your computer breaks, and allowing you to to see a history and other cool things)
I had been meaning to sort out an outline shader to better highlight your selection when editing things while designing. I failed first time round and unfortunately didn’t get time to fix it up before all the demo work; so I got back on this when I’d returned to the project. I got it all working and so now you have a nice soft, lovely outline around parts of furniture when you’re picking them, about to edit or paint.
Something that had been bugging me for a while was my current implementation of localization*. From very early on I wanted to make sure that everything was getting localized; this comes from many lessons learnt from previous projects (shoe-horning localization later on in a project is a pain in the backside) and so an implementation has been in for a long time. Over time I realized that the way I’d set up the files containing translated text wasn’t great for localization teams (or myself either); and it was a little bit of a pain to add new translations whenever new content went into the game. If I added a new t-shirt for example, and wanted to give it its English name, I’d need to leave Unity and add this manually in a text file. With the improvements I made everything is now saved in a format more easily editable later on, and I added an interface to Unity to allow me to add and edit all languages for any selected object. This means I don’t have to leave Unity when I add new content, and instead can just click a button and type a name and it’s all done and saved for me; a whole lot smoother!
*(localization is used to show text in a game in different languages)
Moving more onto the game I got player customization working this month. Although I’d done a quick test-run a while back to see how difficult it would be (turns out it’s mega simple) I hadn’t done anything with the setup since. As I may be getting external help in the future creating outfits I decided it would be a good idea to get this whole thing working properly. I created prefabs and a set of scripts in Unity that made it quick and easy to create wearables from a texture and a mesh, as well as getting equipping/unequipping clothing items working from your backpack menu. I also set up the changing of eye, skin and hair color too; and made sure saving and loading of it all worked.
After spending so long fixing bugs and doing code stuff I wanted to get on with some art, so for a change I set about finishing up the mesh and texture the workshop building. For a long time it had been a rough mesh following the concept I had done ages ago, so this month I tweaked the mesh a bunch to make its proportions feel better, and also UV mapped and painted the texture for it.
I implemented villager routines during April too. Villagers now have a place of work that they will go to, and remain at during their work hours. When their work shift is over they’ll leave the building and wander around until it’s time to go home. When they’re not at work, and have a day off, they will pick a random hangout location to go to and wander around. This has been a bit tricky implementing, and currently has a few little bugs, but it’s very rewarding to see residents leave their homes, walk to work, or hang out on the beach or by the pond when they’ve got time off. Buildings are also now closed if their worker isn’t inside, which means shops and cafes can behave a bit more like real-life and have open and closed hours.
So. Despite not having a full month on the game itself I actually feel I still managed to get a lot of stuff done!
Near the end of the month I got to hear back from the publishers after they played the build I sent. Unfortunately these all turned out to be “no” responses; with a few different reasons from each. As my approach had been a very casual one regarding setting up meetings etc I was genuinely happy and surprised that they had taken the time to access, and were interested in the project. I had to a large extent expected to get a “no” reply from them anyway, so none of it really came as a massive shock. Considering I only contacted a few publishers in the first place, I averaged about a 50% success rate in getting interested replies and things being taken further, which far exceeded expectations and gives me hope for the future, when doing more rounds of pitching and publisher stuff.
At the end of the month, along with getting replies from the publishers, I sat down and aimed to do a rough time estimate covering what was left to do for the game’s first release. It’s good to do this every now and again to get an idea of where you’re at, and how much is left as it helps prioritize what’s important and remove the unnecessary stuff. After adding up a quick run through of what was left I started hitting numbers that were a higher than I would have liked. By first estimates the amount of time left was over a year; this wasn’t accounting for the fact that everything takes about double the amount of time we estimate and so this was a bit scary. Absolutely fine if it was completed as a team of 3 people, but as a sole developer this wasn’t going to work.
With a bunch of “no thanks” responses from publishers; a schedule that was far over what I wanted if I were to be a solo developer; and returning stress symptoms from the last few months I decided it was time to take a step back; take a deep breath, and really look at what was going on; where I was going and what I wanted to achieve… time for some serious talk!
Over the last couple of years I’ve been in and out of some pretty stressful projects and situations and they’ve all taken their tole on my body. I now have pretty obvious signs from it telling me when it’s not doing so good due to stress. These symptoms are both physical and mental and when they flare up I know I need to stop what I’m doing, sit down; and put projects and goals in perspective relative to my health. With all the work leading up to and after GDC; dealing with publishers, putting together budgets and the prospect of hiring staff, my body started tugging me by the sleeve and yelling “hey!!” at me louder and louder until I gave it some attention. Leaving a job and starting my own thing was never going to be a stress-free endeavor, but I felt that taking things into my own hands would mean I could take control of the stress far better. I’m in the extremely lucky situation where I’m not scrambling around to find investment and can work quite happily by myself for quite a good while; long enough to release more than one game at least. My overarching goal has always been to start a games studio, and over the past months this goal and the reality of it moved very much from its “sometime in the future” location to a distance of about 2cm from my nose. Reality got all up in my jam, so to speak. The prospect of adding a publisher to the project, and hiring/being responsible for staff brought my stress levels up into the uncomfortable zone, and so I figured I should perhaps maybe not do these things; at least not right now. With a residual amount of stress still lingering over from some pretty dark times, I really don’t think adding a tonne more stress over the coming months/year would be smart; it could even be dangerous. With this in mind I’m now going to continue working on Wonderville solo. I may bring in some contractors here or there for help, but my goal will be to finish this by myself within 12 months. This feels like a much healthier approach right now; I have no one financially invested adding pressure, and I don’t have two staff members relying on me to make sure they have an income. I can be free to screw up along the way, with only really myself affected. A whole metric butt-tonne less stress (that’s quite a lot).
So, what does this mean for Wonderville? Well, I’m going to be re-scoping the game, cutting it right down to a fun core, focused on player creativity. The game will most likely become more gamey and less “floaty”, with clearer goals, progression, and unlocks. I will strive to maintain the charm, though character interactions likely won’t be as deep; and I’ll be working on simplifying the art style to make creation of content simpler and therefore quicker. My goal is to release a smaller, streamlined core game, that can then be added upon further after its first release, should there be enough players and demand. I’m going to be writing a follow-up post a bit later in the month with info on what gameplay changes are being made, once I’ve figured this stuff out a bit better.
In other news I’m trying to figure out what’s best to do with these devlog updates. Whether or not to keep them on Patreon, or to move them to a better blogging service. I’ve been working on my own blogging site on-and-off in my spare time for a while now, so maybe I’ll use that instead; who knows. I’ll most likely keep Patreon going for those who want to support my work, but perhaps host the updates somewhere else and provide a summary and link instead. Hopefully I’ll have figured this out by next month. I’ll keep you posted!
But in any case, to make sure you don’t miss an update you can subscribe to the mailing list by clicking here
Also, let your friends know about what I’m up to! Sharing what I’m doing really helps grow the game’s audience; all and any help is suuuuper-mega appreciated!
That’s all from this month’s journey, thanks for reading!