Physical vs Digital Prototyping

Sometimes in design you can’t just jump in and see what works. And for me, that is a bit hard. When people are standing around deciding the “best” way to do something, arguing the merits without seeing the result, I will often just go and do the thing. That way we have something tangible to compare, change, and discuss rather than abstracts. So finding something where that approach is… counterproductive, is a bit like hitting my head on a low beam: startling, annoying, and gets my attention.

So if I can’t just jump in and mess with things, what do I need to do instead? Simply put: I need to make a “prototype”. By which I mean, I need to make a rough draft of what I want the final product to look like. And that leads to three possible ways of doing it.

First is the option I use most often, make a mock up in program. For my game projects that would mean either making a new scene or rearranging an existing scene in Unity. The big advantage is that this is like putting paint on canvas, if it works no further work is needed. The two big downsides are that it can take a lot of time and suffers a lot from “good enough” syndrome, where you have it in place so it is “good enough”.

Next up is to make a mock up outside of the development software. My first instinct would be to make a Power Point “presentation”. This would mostly be an artistic representation of the final product, sometimes with screenshots of the game itself. Upsides are that it is fairly easy to edit a “completed” idea and doing repetitive images is as simple as copy/paste. Downsides are that, again, it can take a while to get things in the positions you want them. And once you have invested that much effort you might say “good enough”.

Finally is the solution I was resistant to trying, but now embrace: paper prototyping. Simply put it is drawing out the ideas on paper. Even if it is just prototyping a part of the UI design, it is so much faster and cheaper to test things in paper. That is the primary advantage of paper prototyping: the speed of being able to try things. So long as you can put aside the idea of needing the prototype to “look good” and simply accept it as “functional” it works wonders. But on the downside, if you need to wow someone with the looks… this isn’t going to do it. But that isn’t the point anyway. The point of paper prototyping is to get lots of ideas out rapidly. Then you can see what works and what doesn’t.

To loop everything back to the start, and my method of “just try it and see if it works”. I think I have come around on the idea of paper prototyping actually fitting that idea. It isn’t just debating ideas, but seeing how they could work. And doing it much faster than most other methods.

Results of Feedback

So I got some feedback from my playtest build. Several bits of feedback where simple bug fixes or graphical mistakes that were easily fixed. But there was one big bit of feedback I didn’t expect: people didn’t know what to do with the game.

Now I had kind of seen this coming. Several times I started making a tutorial level, only to abandon it as the design left the tutorial behind. I figured if I needed it I would get back to it when I was sure of the rest of the design. Well… turns out I need something.

So a simple plan formed: basically make a slideshow explaining the mechanics of the game. Each game mode would have its own collection of images to describe how that mode functioned, and the player could advance through them at their own pace whenever they want. No forced tutorial or “Now you do the thing” hand holding. Know what your doing? Get straight to the puzzles. Want to figure it out yourself? Go for it. Need a hand figuring out the new mechanics? I got you covered. Completely lost? Simple explanation just a click/tap away.

When I was first making my tutorials I was doing “all the things”. Slowly introducing concepts and elements so as to not overwhelm. Showing patterns in the puzzle without going “Here: see this!” But in all that I forgot one of the first design principles I was ever taught: K.I.S.S. Keep It Simple Stupid. And that is what the new design is: simple and too the point.

Setting up for More Playtests

Last time I talked about feedback from playtests. But that is actually putting the cart before the horse a bit. Because obviously before getting feedback you have to have a playtest. And before you have a playtest you need a test build. And… well let’s pop the stack and start at the beginning.

First step in getting my game ready for playtesting was to remove the development objects. In short I have an object that keeps track of a bunch of data between scenes. This object gets created when you start the game, never unloading. But when testing my game during development I don’t want to navigate all the way through my game just to test a minor fix. So during development I just put that data holder object in all the scenes. There are a few times I have to remove it in order to test some things, but they are few and far between.

The next step was shoring up the “in progress” items. This time it was the settings tab in the main menu. I ended up removing a part of settings that I had thought might be a good idea, but latter developments had rendered unneeded/clunky/over complicated. This left me with a slap dash UI design, but everything is functional so good enough for testing.

After a few more last minute fixes/finishes It was time to make a build. This part was easily the most straight forward. Just click the button labeled “Build Game”, give it a name, and wait for it to finish. Installing it on the target platform was a little more involved, but only marginally so.

The biggest hiccup I encountered was attempting to install the game on one of the target devices. It was an older phone no longer in active use (no sim card) and just getting it set up was a bit of an ordeal. But then the real problem showed up. It just refused to install the game. So, bad news: the main device I was going to let people test the game on won’t work. Good news: I could install it on my main phone, and might be able to find another device to use.

Feedback Feedback Feedback

There is something I have always “known” but only recently began to truly appreciate. That is: when making a game get feedback from an outside source whenever practical. The reason for this is simple: as the creator, you aren’t going to see things as clearly as someone outside of the project. And I had always “known” that, but only in my last project have I really lived it.

I have frequently been trying to get playtest feedback from people. But it was always in limited amounts. And the feedback I got didn’t have much in the way of substantive changes to make to the overall experience. But just recently I got my game in front of a slightly larger group than normal and got some feedback that made lots of sense. Things that I hadn’t been thinking about, but when I gave them 3 seconds of thought made perfect sense.

The feedback you get from people outside your project helps give you a new perspective. In my case I am applying the feedback I got pretty directly. But in many cases feedback can serve to force you to ask a critical question: Why did they have that response? By reflecting upon that question you can find issues that you have been blinded to by your familiarity with the project. These problems might not even have any direct relation to the thing the feedback was about. But changes elsewhere could have cascading effects that eventually change what was complained about.

Overall, feedback isn’t about “You need to change thing X because Y” but about seeing things from a new perspective. That way you can pull back and take in the whole thing, rather than getting lost in the weeds.

Have ads… Now where to put them

So I have ads working in my game. But where do I put them? You might think this a simple thing. Until you yourself actually start designing something that needs ads and have to find the space and time for them. So lets go through the three types of ads and discuss where I might put them.

Firstly we have the most simple of the ad types: Banner Ads. They are very simple, a bar at the bottom of the screen displaying an ad. Somewhat like a billboard on the side of the road, but in a game. The simplicity of this ad spills over into the simplicity of where I will use it. Banner ads will appear in the game modes, but not on the main menu. Putting them on the main menu feels tacky somehow, but just passively having them sit at the bottom of the screen during play feels fine. Next up is an ad type that took some thought.

The next type of ads are called interstitial ads. These ads are full screen video style ads that can be skipped, usually after X seconds, much like ads you see at the start of YouTube videos. These are a bit harder to figure out as they need a real trigger to play, and I don’t really want them getting in the way of the play. What I settled on is having them play when you go from a game mode back to the main menu. That way they don’t interrupt play (as the player was interrupting play to change things up anyway), don’t pop up an annoying amount of the time, and can still be skipped. And now for the annoying one.

The final ad type is rewarded ads. These ads are very much like interstitial ads with two big differences. Firstly, these ads can’t be skipped, they play to completion every time. Second is that, as the name suggests, after the ad plays the player is supposed to be rewarded with something. But the big question for me was always: what could I possibly reward them with?

For a while I just thought I wouldn’t use them. Not like they are required right? But then I figured out something I could “reward” the player with: the hint system. I haven’t figured out the specifics yet, but a way it may work is that you start a session and want to unlock hints. So you watch the ad and get hints unlocked. The real questions are: Does this unlock ads for all modes this session? Does it unlock X hints? Hints for X levels? I still need to figure this all out… and then program it.

Out of Date Tutorials

One of the greatest strengths of my generation (and the following generations) is that, by and large, if we don’t know how to do something, we just look it up. The internet has put most skill sets a few searches and minutes or hours of research away. Don’t know how to format that file for your presentation? The internet can tell you. Don’t know how to make a resume? The internet has plenty of examples. Don’t know how to change the oil in your car? The internet has plenty of tutorial videos, probably even has one for your make and model.

So why do I bring this up? Because there are plenty of programming things that I have no idea how to do. And so I go look it up. And I usually find a way to do what I am trying to do. Or a way to do a similar thing that gets the job done. Along the way I usually find at least one thing I wasn’t looking for, I didn’t know, and could be very useful.

So, onto the point. I have been getting close to the finish of my game… and finding these last few steps the most annoying, mostly by virtue of going in blind. The step I am working on now is integrating adds into my game, so that I can hopefully make some money from this. But, as the title suggests, the first tutorial I found to do this was out of date. The tutorial was less than a year old, and at first it only looked like some cosmetic UI changes had been made in the process since the tutorial was made. But… once I got to the coding part of the process, everything started returning errors. That is when I knew something was wrong.

But As stated above, I just searched again. Quickly I learned that the tutorial I was using was for version 3 of the integration and the current version was 4.3. Understandably the process had changed significantly. But a new tutorial was quickly found, and the fundamentals were largely the same. It just used different tools to accomplish the same thing. Importantly the new version did allow for more control. However even the old tutorial was not a waste of time. As I learned a useful bit of programming to do something I didn’t know how to do (but which I knew must be possible). And, as with the old tutorial, the new also taught me something I didn’t know. But more importantly this new tutorial explained why it would be useful. After all, simply knowing something is no where near as useful as understanding it.

Thoughts on Debt Forgivness

Seeing enough about this online that I feel I need to get my thoughts out somewhere. So please forgive me for dipping into politics for a hot second. I unfortunately cannot promise this wont happen again, but I will try to stay out of these fraught waters. So where to begin?

The start is usually a good place to start. Without diving into the minutia of the situation, Biden is authorizing debt forgiveness for a moderate portion of college debt. He is also implementing a few other relief elements for those struggling under the debts they incurred going to college. There are some limitations, such as income limitations meant to ensure those most in need of relief are those getting it. But with that base line established, why am I writing this?

Because so many people have so many stupid ideas about the situation. Plenty of people are/can have reasoned discourse on both sides of the issue. But so many loud, obnoxious, uninformed people are drowning out the reasoned discussion… and worst of all is that some of those people are in government. So second base line: where do I stand? I never had to go into debt for college, I was fortunate enough that my parents paid for my education, and I am unbelievably grateful to them for that. Even still I support debt relief for those suffering under the predatory loans so many got swindled into. Even with no direct benefit for me. I don’t think that one mistake, made between 18-20 years of age, should define the rest of a person’s life.

Now that we are all on the same page, for the reason I am writing this. I see two arguments against forgiving student debt touted around a lot. And both are just such vile garbage. The first is the idea of “I don’t want to pay for people to get ‘worthless’ degrees”. First off this is a straw man argument, because of these nebulous people we shouldn’t help anyone. Secondly, please tell me what a “worthless degree” is. I never see this phrase defined in the argument. Is it a degree that doesn’t pull in a lot of money? A degree that you think doesn’t add value? A degree that isn’t being used? To all of those I say: there is no such thing as a worthless degree, just as there is no such thing as worthless knowledge.

On to the second “argument” I see. “It would be unfair to those that already paid off their student debt.” What utter garbage. You might as well say you don’t want diseases cured because it would be “unfair” to all those who already suffered from them. Or that no one should ever get a raise above minimum wage because that would be “unfair” to those that only make minimum wage. Or even that we shouldn’t have cell phones because it is unfair to people like me that didn’t grow up with them. Utterly ridiculous right? Well, some people are so afraid of progress and change I am surprised they are even able to use computers.

Things change, and it isn’t always fair. I missed out on several things before my time and wish I was still a child for several things that came latter. On the other hand, because of when I was born I got several advantages that those born even 5 years latter might not have gotten. Life isn’t fair. But we can, and should, try to make it better for everyone. Even if that means we don’t see any direct benefit ourselves.

Fear of Complexity

For a long time now I have been afraid of learning new things. That might sound silly, but hear me out, I only recently really figured out the source of the fear. For a long time I blamed my reluctance to learn new things on my ADHD. Just a lack of ability to focus making it hard. And while that is partly true I recently figured out another part of the problem. As the title suggests what I am afraid of is being overwhelmed by complexity.

When learning a new thing I am afraid it is going to be too complex or involve things I just don’t understand. Just a nice fun mixture of “the fear of the unknown” and a large dose of “fear of failure”. So, what do I do? Delay, distract, and do anything else. I know this isn’t what I should do, and am trying to get better about it. But recently I have started to realize just how unfounded these fears are.

I think what really planted the seed of these fears is two fold. First is a longstanding fear of failure. Not too unusual, and something I have been at least somewhat aware of all my life. Gaming is both were I became aware of this fear, and a space I can fail safely to try and get over it. The second seed is a bit more unusual. That is when I tried looking up how to do various technical things in my programming education, it would seem that the articles I found would assume I new various things that I simply did not know. My most common response to these types of “help articles” was “If I knew that part I wouldn’t be here asking for help!”. And so I slowly associated looking for help with being made to feel stupid and incompetent.

But, throughout my time learning things I would occasionally run into a weird thing. I would be doing something and someone would take notice and praise my ability to do/understand that thing. But I would be confused. Because to me that thing wasn’t praiseworthy… it was easy. And it has taken me years to realize those praises weren’t empty platitudes, that I actually do have some talents. And nothing has underlined this more than when I pushed through to learn some new things recently. Rather than being overwhelmed or confused as I expected it was all so simple and easy to understand.

I am not completely over my fears yet. I still have a ways to go. But I can see the path forward. And who knows? Just as these new things may be simpler than I fear, the path forward may be shorter than I think.

What should a game designer learn?

What should a game designer study?
Yes.
But what experiences are beneficially to my game design?
All of them.

This was one of the more memorable conversations that took place in my game design class. Student was asking what supplemental courses to take (art, programming, animation, history, etc.). The teacher’s response could be boiled down to this: There are no experiences that can’t be useful to a game designer. So, what does that mean?

There are two main aspects to this, experiences and skills. I will start with experiences. Any experience can be used to influence game design. Perhaps a scene from a movie you watched gave you an idea for that nagging mechanic you are trying to figure out. Maybe your experience extending your running range influences how you design level up mechanics. Or you could even design an entire game to get across the sense of peace you experienced when sitting on a hill on a sunny day and got a whiff of some flowers. A designer, of almost any kind, draws on their life experiences to inform their design. So the more experiences you have, the more paints you have in your design paint kit. But where do you get the brushes to apply that paint?

That is where the skills you pick up come in. The broader your skill set the more of a game you can influence. For a very simple example a programmer with some basic art skills can make temp assets without going to an artist every time. Similarly a UI designer with some programming experience can figure out what the programming flow might look like while they are making the design. In short if you can expect what the next step in design is the better you can prepare for it and possibly save everyone’s time. Or even (as I am doing) create something completely by yourself.

What I have heard this skill distribution referred to is a T skill distribution. Meaning you have a basic understanding of everything in the pipeline, maybe even enough skill to help out on occasion. BUT that you have one or two specialties. The broad “base” of the T vs its tall central pillar. In this way, no skill you learn is wasted in the design space. Even seemingly unrelated skills can surprise you when they come up and are invaluable.

Hardware Maintenance

Early this week My long used laptop charger developed a fault. It still functioned, but part of the wire was frayed revealing the layer under the rubber coating. Not like it was sparking, but not something I wanted to take risks with either. So until I could get a new charger my work laptop couldn’t really be used as normal. So what to do with the day? Clean my keyboard.

 

I have a pair of mechanical keyboards for my two computers, and I had never cleaned them. I new the idea of how to clean them: remove keys, clean underneath, clean individual keys, replace keys. Fairly simple. But… I had no idea how to remove the keys safely. Then I got a special tool specifically for the job and it was off to the races.

Spent most of the morning cleaning my “work keyboard”. First removing the keys (carefully keeping them in order), then scrubbing under where they were. So much dirt, oil, and other detritus had accumulated that it took some work to get most of it out. Next up was blasting it all with a can of compressed air. As a side note, I’m not sure if I will ever get used to how cold compressed air cans get when in use. With the board itself (mostly) clean I moved onto the keys themselves. Nothing fancy for these, wipe them down with a wet cloth, then dry them with a dry cloth. Got the dirt rings off them and made them shiny again. Only took a few seconds per key, but that adds up for a full keyboard. Just put on a podcast and let the Zen of repetitive action take over.

While I was dealing with the keyboards a thought kept popping up in the back of my head. Near the end of dealing with the second keyboard I decided to check on that thought. And sure enough I was right. Turns out I had a spare charger that had been sitting in a box for several years. So now I have two clean keyboards and a charger in good condition. What happened to the old charger you may ask? Toothpick as a splint to keep that part from bending and some electric tape to keep it secure and safe. Not a pretty solution, but it works as a “new” backup charger.

With everything done, I replaced the keys and had a clean keyboard for the first time in… too long. The difference is like night and day.