Updates for Work Environments

So… I have been working on this game for a while. Naturally, during that time updates have come out for Unity. And almost every time I downloaded the latest version as soon as I could and updated my project. With one glaring exception. I am still using the 2020 build of Unity.

That build is still getting updates, and I install those whenever I can. But there is now (what appears to be) a fairly stable 2021 version and even a 2022 version available for download. So why wouldn’t I use the latest and greatest version of the engine? For a few reasons as it turns out.

Firstly, when you are in the middle of development you don’t change up the version of a program you are using without a very good reason. Updating always has risks. Perhaps that system you are relying on got tweaked just enough to break one of you mechanics. Or maybe a feature you relied on got changed out for a new one that works differently. Learning these new systems and idiosyncrasies takes time and can bog down a project to the point of an all out stop.

This is not to say you never update a program to a new version. Sometimes those changes that can bog you down? They might be exactly what you need to make something work or speed up production. Or perhaps your target platform changed somehow and the new version can handle that change better. As such, one shouldn’t  dismiss newer versions out of hand. But only done after long consideration.

With all that said, even if the newer version had something that would benefit design work game, I wouldn’t update at this point. The reason is quite simple: I am too close to the end. It makes no sense to refamiliarize myself with the new placement, layout, and controls of the various Unity systems at this point in development. Updates to the current version? Certainly, in fact I downloaded one as I wrote this. But, frankly, rather than speeding up development, at this point the time taken learning new systems could as much as double time I need to finish this project.

So the newer versions of Unity will simply have to wait for my next game.

Nothing Like a Finish Line

When the finish line of a project is in sight a lot of things start coming into stark relief. The first, of course, is the relief you feel that it is almost over. But the next few are the important ones. The next thing you realize is that all those “good enough for now” solutions you had? Yep, need to deal with those. Any niggling doubts about design sitting in the back of your head? Better bring them out and examine them now before its too late. Had any last ideas? Better hurry and figure out if you even want to try them.

In short the finish line, or any kind of deadline, can force you to make decisions about a project that you otherwise might put off as “less important”. Not unimportant mind you, just things that can wait for a bit… and then a bit longer. And before you know it, the finish line is in sight and you haven’t gotten around to them yet.

And sometimes, this deadline can even help you find things you didn’t know you needed to address. For instance, I have been happy with my scene transitions up to this point. But in light of the finish line fast approaching I thought “Could I do better?” And so I tried something new… and loved the effect. And in deciding on that new effect I also chose to change a few other effects I was using.

As the saying goes “limitation breeds innovation.” And that limitation can be almost anything. Limit on the medium used, on budget, style, or even time frame. And nothing is quite as effective a deadline, and therefore a limitation, as the finish line.

So much to check and so many fiddly bits to bop

I have “finished” pruning the levels for my game. In truth I could spend a great deal more time fine tuning what levels I include, but what I have will suffice. And now I move onto the next step. Now I am going through each scene and checking for any scripts I left in place “just in case” but are now unneeded or redundant. In addition I am checking to see that everything is connected properly. While some scripts can find the objects they need themselves, other scripts need to be pointed at the objects they are dealing with. And now I am in the tedious process of ensuring all those links are correct. On top of that a few scripts need to have these lists updated to account for new or changed objects… Which is even more tedious than simply checking that they are correct.

Next up is an effects review. First I will be checking the scene transition animations to ensure all are acting correctly. Then check the various settings for speed and placement to ensure I am happy with it. With that done, I will move onto the question of if I will be keeping a particle effect on button press for the play area. The central question being if it should remain and be updated to a more theme appropriate design. Or if it should be removed entirely.

And the final short term goal: If I should rework the hint system. Currently, hints are given out in a grid pattern starting from the top left and working across each row. Each press of the hint button gives the next hint in line. This makes the hints fairly predictable. Which can be good. But with a certain method makes the puzzles very easy to solve with minimal hints. The solution? I am not sure if it needs one. But if I was going to change the system I would make the hints come out at random. But… that will take a fair bit of tinkering with systems to make it possible. And I am not even sure if it is needed. So for now I just need to think about it while I work on other things.
And even writing this I think I worked out a solution for the “how to make them random” problem. So progress I guess.

What Does A Game Need To Be?

Recently I saw a post online stating that a game does not need to be “anything”. And this argument has some merit, but I think games (and all art) actually have one requirement: they need to be “interesting”. But what does that mean? Because some people don’t seem to understand what I mean when I say that. So here we go.

Lets start with a simple definition of what interesting means. Interesting: Adjective, arousing curiosity or interest; holding or catching the attention. So in short it means to hold attention. But what I mean has a little more nuance to it so lets dive into that.

Lets start with the obvious, games that seek to be sold for profit need to be interesting in order to do that. This does not mean the game needs to be “fun”, “thoughtful”, “challenging”, or “complex” but it absolutely needs to be “interesting”. If it isn’t it gets rightfully left in the dust and forgotten. A game can be a bombastic action piece or a somber reflection on depression. Totally different games for which the only thing they likely have in common is that they are both games and therefore interactive but both can be just as “interesting” for totally different reasons.

In writing this I now see what the “Games don’t need anything to be called games” crowd is talking about. And it is fairly simple. The games that fail to capture attention… are still games, even if they aren’t commercial successes. But my counter argument is that those games were still at least trying to be interesting. However they lacked something, whether that be budget, vision, timing, graphics, playtesting, whatever, that prevented them from capturing the attention of their audience.

But you may have noticed I have made a point of talking about games “seeking to make a profit”, and that is because there is another type of game creation. That is when a creator makes a game for themselves. And I would argue that this game still needs to be “interesting”. Let me explain. When I say interesting that comes in many forms. Yes the primary form is that the final product finds the experience interesting. But when discussing a creation without an “end user” what needs to be “interesting” about it? The process itself. If neither the process of making the game nor the envisioned final product are interesting, I honestly cannot imagine someone creating that piece. (This of course ignores making the game as a job or commission)

And I would apply this to all forms of art. If an artist is making something for their own enjoyment/betterment I can only imagine them doing so if they find the process or goal to be interesting. That could be a painter wanting to use a new type of paint and playing with that. Or the same painter might just really want to paint that one composition just to have done it. Or a rapper might be experimenting with new rhymes just for the joy of the craft. And a game maker might challenge themselves to use a new tool or work in a new genre to get a new experience. But all of these endeavors are sustained by the artist’s interest in their craft. Therefore the craft itself or the final product of said craft must be interesting to, at minimum, the one creating it.

But this might all just be my ADHD brain not processing something that others find blindingly obvious. Perhaps I will try to defend the “games don’t need to be anything” angle next. Perhaps I should, after all it seems to be a shockingly niche opinion for something so demonstrably true.

So close to the end and still so much to do

So for a while I have thought I was so close to the end of my project. But then I sat down and actually listed out all the things I still have to do. And even then it was not a short list, with several of the steps having long sub-lists. So what are some of those things to do?

The first obvious thing is to check all the scripts in the project. Remove anything unneeded, make sure all the pointers are looking where they need to, and a few final checks on scripts to see they are working the way I want. While this is the first step, I will also likely repeat this near the end. Firstly as a final percussion in case I messed anything up in the meantime, but more importantly so I can make a new project folder that includes only the files needed for the end product. As of now my project folder holds archives of most of the old scripts, scenes, and assets, in case I ever needed any of them. But once I am ready to publish that won’t be needed anymore and in fact might get in the way.

Next up is a review of the effects I am using. Part of this is linked to the script review as much of the effects are controlled by scripts. But I still hold them as different steps because of their different purposes. This step has two objectives. Firstly to check all the transition effects to see they are happening at a speed I want. And secondly to review an effect I added and almost forgot about: a spark effect on activating a play area button. This effect was included to highlight the button the user selected and make it stand out against the other buttons that also changed. However the spark effect was decided on long before my theme was decided and I need to decided if it still fits in the theme, needs to be changed to fit the theme, or needs to be removed entirely.

Next up is fairly simple and to the point: final sound design. Just need to do a review of all the sound effects and make sure I don’t want to replace them.

Then I will be implementing something I have been meaning to include for a while: an options menu. This will include at least three things: volume control, credits, and an option to reset completion data (with a confirmation selection). There is one thing else I might include that effects game play… but I still need to do a lot of thinking about that one.

Once I have everything pretty much the way I want it I will do a review of the UI design. I will be reviewing it with my father, whom I respect in this subject (even if I but heads with him rather often) and who has lots of experience in the field. This will undoubtedly lead to some redesigns and possibly the need to create some new assets, but most of my UI up till now has focused on functionality rather than design, so high time to change that.

After all that I need to get my game in front of some fresh faces for beta testing. Hopefully they won’t have any major feedback. But I also hope they have something I need to change so I don’t get paranoid about having missed something.

Just two steps go and they are fairly related, but one must start with: monetization. The first step will be figuring out how I want to monetize the game. A one time up front payment would be simplest… but with the number of “free” alternatives I would be unlikely to get many people willing to pay. Next up is a free trial that is unlocked by a onetime payment. More likely to get people to download it, but more complicated to implement. And finally is implementing banner ads. I need to look into this option, even if I don’t end up using it, to see how it works. Odds are that this option would require me to rework the UI to make room for the ads. But the advantage is that the game is fully “free” to play and therefore competes on an even ground with the other games in the genre.

The final step is the same for basically all games: publication. This one will require a bunch of tedious research and set up work. Deciding what platforms to publish on. In what order or all at once. What are the different rules and requirements? So on and so forth. Honestly this is the step I dread the most. Not for some “fearing the finish line” reason. But because it includes the most things I am almost completely uninformed about, and therefore most likely to screw up. But that is life, and I will deal with it when I get there… still a bit intimidating.

Sounds Effects

One thing almost no game can go without is sound effects. And my game is no different… but where do you get those effects? For some things the answer is simplicity itself and others take a bit more creativity.

First up was determining what needed sound effects. My basic first list was: changing level, new puzzles, restarting puzzles, and pressing a play area button. And the last shall be first, for I instantly knew what I wanted to do for the play area buttons, a simple click sound. But where to get it? I could look around online and get a sound generating program or look for free to use sound effects, but I had a better idea. I simply went into my room, pulled up my phone’s recorder app, and recorded flipping the light switch. Transfer the file to my computer, clean up the file format a bit, and presto I have a simple clean clicking sound for my game.

But that left a few other sound effects, and no real easy things I could record to get an sound for them. Which is where I go back to something I mentioned before: a program that makes sound effects. After a bunch of fiddling with that program (random generation within a genre and tweaking things here and there) I got the other sounds I am now using for my game. However I am thinking I might go back in and see if I can make new sounds, now that my theme is decided.

Pruning Levels

As I get down to the last few things I need to do, I occasionally find “new” things to deal with. One of those things is something I haven’t dealt with in quite a while: What levels I am including in the finished product.

Initially I had made several passes of generating levels, until I had well over a hundred for each game type (over two hundred for the classic). But, short of going back and generating the hints for each of these levels, I didn’t really pay them much mind while I worked on the other elements of the game (UI design, Backgrounds, transitions, If I would have a tutorial, etc.). So I have decided now to go back through all the levels and prune some of them out.

Mostly this is for the early levels, the levels that are supposed to teach concepts. I thought I had a few too many and going through them again I believe I was right. I don’t want to linger too long on the very early concepts and have the player lose interest in the game before they get to the more engaging levels. But even beyond that I am going through and just discovering that some of the levels are just uninteresting or too similar to other levels and have noted them down for pruning.

Part of my methodology for this is I am going to make a first pass of the levels, note down which ones are up for pruning (and why), and then leave them alone for a little while. After having a short break from that task I will go back in and decide which ones actually need to be pruned. This is so I don’t get overzealous in the moment and get rid of something that would be difficult to recover. Slow and steady, rather than making rash decisions.

Discord, Socializing, Moderation, and Events

Years ago I discovered the program Discord, a free server hosting software originally aimed at gamers but has since broadened its aim a bit. At first I was only interested in using it to keep in contact with a few friends and as a place to have voice chats during games, but as the years went on I broadened my own horizons a bit. I am an introverted person, as such putting myself out there and talking to people can be difficult for me. But eventually I found a community I clicked with. At first it was simply a server for a YouTube creator I liked, with several text channels relating to the various types of content they make (Overly Sarcastic Productions, if anyone is curious). But then the YouTuber started publishing their own webcomic, and shortly a new channel was opened for discussion of that comic. And my interaction began to ramp up.

Now that I had something I was interested in I could post more freely, and I did. Discussions of plot developments, talking about the world building, and giant posts about theorizing where things were going in the story. I was having fun, and finding people I got along with. Then one of the regulars told us all something fun: they were making a fandub of the comic, and had made their own server to organize it. Needless to say I shortly joined that new server as well. As time went by the server became more of a generalized “fan server” as the fandub went further and further on the back burner, firstly because the organizer needed to focus on college, but also because the pandemic complicated things. But the server’s shift meant it could keep going even without the fandub… with one small issue, the server master could no longer manage the number of members on their own.

With that in mind, Canine (the user name of the server master) put out a call for applications to be server moderators. I waffled for a bit on whether I would apply, finally squeaking in after the last minute. My thought process was simple “If I don’t like it I can quit. And besides, no guarantee I will even make it.” Not sure how other servers make the decision but on this server the mod candidates “campaign” for election, eventually culminating in the server members voting for who they want to be the moderators. However the final decision is in the hands of Canine, while he takes the vote into account (I think the vote and the final decision have always lined up so far) it is their server and they need people they can work with. As you can no doubt guess I made it, a bit under 2 years ago I became a moderator of the server. In the time since, a few changes have been made to the system: we added another election cycle  when we needed more moderators, leading to a twice yearly election with half the mods up for reelection each time. And Canine talking with the Moderators (not up for reelection) to decide who makes the cut. I have been the longest serving Moderator on the server and I seem to be doing a fairly good job.

Over time the server has taken on a bit of a life of its own. And one of the things we have started doing are semi-regular events. These range from holiday art events, to putting together a two year calendar spread, to several word games, and even book readings. And so, after gathering my courage, I started readings books for the server. twice a week I read from two books for an hour at a time, usually finishing 1-2 chapters per reading based on the book. I also record my readings… but for now that is just a “because I can” thing, as distributing those recordings could get me into trouble around copyright. But I have kept this up for over a year, so I am more than a bit proud of it… even if I only had one listener for a while, but an audience of one is enough to make it worth doing. In my capacity as a Moderator I have also helped a few others put on other events. Some were flops, most have been warmly received.

I am still an introvert. But I have found a place where I can be with people of like minds.

Finishing Touches

I once heard someone say something along the lines of “Finishing the last 10% of a project is harder than the first 90%” and, oh boy, am I feeling that. But why would that be? For me and my project there are several reasons, most of which feel fairly universal to creative endeavors. Even if the specifics get twisted a bit dependent on the medium.

The first bit is setting the details in stone. Throughout the project I have been putting in elements of the game and saying, “that is a temporary label/position/color, I can change it as needed.” But now that I am reaching the end those elements can no longer be labeled as “temporary” and need to have a final decision made about them. Now you might say “That is just putting off the work until latter. Why didn’t you do this stuff sooner?” And the reason is simple: a bunch of my “temporary” elements have changed significantly over time, some of them have even been removed all together. So, if I had “done it sooner” it would have been wasted effort. But now those decisions need to be made… And it is just as much fun as it sounds.

But now for the bigger problem: actually getting my product on the market. And this comes with a bunch of questions. What platforms do I want to target? Do I want to charge for the game? Do I want to put adds in the game? Do I want to make a demo version? All these questions and I haven’t even gotten to the real problem (for me anyway): I don’t know what steps I have to take to get onto a given platform. I know I can just look it up, and in fact have looked up the steps before, but I respond to the process in one of two ways. Either I look at the steps and get overwhelmed, either by the number of steps or by things in the steps that I just don’t understand. Or I look that the process and go “Is that it? You must be hiding something. I must be looking in the wrong spot. Where is the real process!” And I know… I just “need to get over it” … Believe me I am working on just that, these are me problems and I am working on handling them. But in the meantime, I just keep pushing it off. What I really need to do is subdivide the problem and tackle the smaller parts, so I don’t get overwhelmed.

More Games to Play

Time for some more games I recommend playing.

Welcome to the world of Greek myth, the realm of the gods… or the realm one god in particular. You play as Zagreus, son of Hades, in your quest to escape the underworld and reach the surface, perhaps even go to Olympus to meet your aunts, uncles, and cousins. Speaking of your illustrious family, you won’t be tackling this challenge alone, the Olympians grant you boons as you progress through the levels of the Underworld. But… eventually you will die
And that is were the setting does extra duty, you see Hades is a rouge like game, meaning you are meant to paly again and again against randomized levels, getting different perks on each “run”. Most games in this genre have to somehow explain how you keep coming back to try again. But you are the son of Hades, Lord of the Dead, your “reresection” back home is treated as “another day, another death” by most of the denizens of the Underworld… Zagreus especially, who shakes off death about as fast as the blood from the pool he resurrects out of.
As you progress you will unlock new weapons to use, new boons to play with, and even make some semi permeant stat boosts between runs to make things more manageable. And on top of all that it even has some great interpretations of various Greek myths, and not just ones limited to the gods.

Slay the Spire
From one rouge like to another, but where Hades is an action packed brawler game, Slay the Spire is a deck drafting game. In Slay the Spire, you select a class that determines what strategies you can use in the run, for instance the warrior might go for a big armor or a high risk self damage strategy, where as the rouge might go with a cheap card strategy that relies on drawing a bunch of cards and unloading them all at once. But at the start you only have a basic preconstructed deck that shows off a few of the things your class can do, and as you progress (killing enemies, finding shops, and more esoteric encounters) you will have opportunities to add more cards to that deck… and even the opportunity to remove some cards to make your deck more consistent. But the spire has many mysteries, and many strange encounters.
For if you like the idea of rouge like games, but don’t like the twitch reaction speed elements. Or if you just like a well made deck crafting game.

Elden Ring
From the creators of Dark Souls, Demon Souls, Bloodborne, and Sekiro, comes the latest “Souls” game. For those that don’t know, this company has a reputation for making “hard” games where you die, drop your unspent experience/wealth, try to get it back and make more progress, die again, and repeat. Now you will notice I put “hard” in quotations, this is because the difficulty of these games is vastly overhyped. That is not to say the games are easy, far from it. These games certainly are hard… but they are fair.
Was there a trap that caught you off guard? Look for the telegraph and learn from it. Enemy came “out of nowhere”? Maybe dropped down on you? They were always there, and if you spot them early you might even get in some free damage. Boss killing you over and over? Learn their moves and the timings, almost no attacks are completely undodgeable.
But in Elden Ring a new wrinkle was added: an open world. In all the previous games there might be a branching path here or there, but the core game was pretty linear. In Elden Ring you can go off and explore for hours before encountering your first main story boss… or even skip that boss altogether if you explore enough. Or you might be out exploring and suddenly a dragon swoops down, taking out a bunch of other enemies, and starting up boss music. The good news is that these “overworld bosses” you can encounter at random can be run away from and they will stop chasing you… eventually.
As with most “Souls Like” games there is a top level story, a sub level story, and more world building than you can shake a stick at.
If you do decide to pick up this game I heard an anecdote that rings true in my experience: “You know you are in the right part of the game if the encounters are hard, but manageable. If the boss is beating you, but you feel you can win.”

Stardew Valley
And now for something on an entirely different wave length. Stardew Valley is a farming sim game. But don’t let the simplicity of that genre description fool you it is quite a bit more than that. To start the game, your character is tired of the city life and decides to take up their decides grandfather’s offer to take over an old farm in the town of Stardew Valley. To start off you are clearing the land of some weeds, planting your first crop, caring for them, selling them off when they ripen, and repeating. But soon you get enough money to start buying some upgrades to your land and house and you will start making some things to make your job easier, like scarecrows and sprinkler systems. Soon you will discover the mines that house ore for your crafting, but also monsters you have to defend yourself from in order to get that useful ore. Or maybe you got yourself a chicken coop or barn to raise some animals? Or maybe you are focusing on your relationships with the various townsfolk and seeing what stories they have to tell. Or perhaps you might have tripped over one of the more magical aspects of this town and started exploring where that leads. Plenty of things in Stardew Valley to keep ones attention.