Game development is a space rich in creativity and ingenuity – after all, you get to imagine and create entire virtual worlds, the limits really are the imagination… provided you’re willing to negotiate with your idea and certain realities. Yes a “metaverse” sounds amazing but perhaps jamming a bunch of people in a networked high-graphic-fidelity environment opens up some unique challenges. Things to negotiate may include: variable regional network quality, availability for high-end equipment to draw those fantastic high-quality graphics, and rulesets to help curb bad faith behavior that would create a disproportionately bad time for users not exhibiting crumby behavior.

In my personal experience it’s very rare for big ideas to take into account these certain realities up-front. In fact, I’ve witnessed the exact opposite where reality is willfully denied, where on-the-ground workers (in games usually software engineers) who try to raise warning flags are told to “stop being a roadblock” or that they need to “be a better team player”. There’s options in this particular scenario!

  • Drink the kool-aid and also deny reality
    • most positively reinforced choice, improved chances of promotions
    • increases chance of project failure
  • Malicious compliance
    • enthusiasm of this route may be perceived as being a “team player”, a higher chance of positive reinforcement
    • added risk of someone seeing through the snark/sass and thinking you’re a jerk
    • potentially dramatically increased chances of project failure, encouraging aspects of the project to jump down rabbit holes
  • Bare minimum compliance
    • least amount of effort to keep getting paid
    • project suffers from “missed opportunities” – basically have a robot instead of a human at this point, providing exactly the expected outputs yet in the unique position to understand implementation details to know how to bring out special attention to detail which players tend to enjoy (but don’t really fit in a pitch document)

I’m sure that’s not an exhaustive list of options – after all, I was there when a Lead Designer walked off the job in protest of demands handed down. The trend is that in each case the project will suffer, the project is much more than just the idea.

I’ve discussed my own approach when in a leadership position and it’s centered on empowering the developer rather than providing them a detailed task lists. This means I release my hierarchy-granted “idea power” to others and the results have been overwhelmingly positive. This also helps distribute problem solving agency when a big idea may have particularly large challenges, ensuring the people doin’ the work are talking about these challenges rather than pretending they don’t exist – dramatically raising the chances someone on the ground with the power to tackle a particular challenge will be inspired to provide a concrete solution.

So here’s an idea

I was originally inspired to write an online journal entry (writin’ these things doesn’t come easy for me! need motivation) by a little idea I had while in the shower, rather than let it sit in the back of my mind or jot something quick down in my on personal private document storage… why not just post it in my journal? Could someone “steal” the idea? Sure, why not. I’m in no position right now to make it a reality, why not give someone else a shot (feeding the idea that more than myself or close loved ones reads these, ha). Heck, I don’t know what one year will look like from now, at this point I don’t know if I’ll ever be able to find the space and energy to execute on any of my ideas.

More importantly, an idea by itself may possibly live pristine in imagination, but reality will always shape how it’s experienced by anyone else. Did endless Match-3, MMO, Fortnight, or any other endless clone-feeling games ever take away from your joy of your original experience? Sure, you may already be bored of the general experience so the latest-new-thing (which is a safe derivative of another popular thing), but to me that situation sounds like a great opportunity to expand the horizons and see what else is out there! Anyway, ideas are cheap, final outcomes are complex and varied even when trying to be a copy/paste experience, and I do believe variety is the spice of life.

Let’s start with the most surface-level aspect of an idea, a label! What kind of name do I think would set the stage for this idea…

Emotional Beings

There it is, that’s what jumped out at me. Alright, the idea is rooted in Emotional Beings, how can I best nourish these roots and articulate the overall idea? More importantly, what can I do to get my idea across before I’m interrupted enough times and lose my motivation? These words don’t bring me revenue, and there’s something I need to do that does bring in revenue, so where’s the path of least resistance… aha, flagrant screen-snips of content found on the internet!

visual guide to human emotion
the general concept is an “Emotional Wheel” – this was the most legible one I found in less than a minute of searching, I found it on this website! https://www.visualcapitalist.com/a-visual-guide-to-human-emotion/

Alright, I now have some context that I can refer to while laying out my idea, the emotional wheel, a tool to help visualize labels we can put on feelings and how those labels can relate to one another. I’m just going to jump in and see if I can bullet-point summarize the idea with a name and one referenceable piece of context:

  • The player is a disembodied entity that doesn’t exist in physical reality
    • Can interact with the physical world in limited ways, imagine haunted house movies
    • Ability to interact with the world improves over time
  • Player forms a bond with a living being
    • Their ability to interact with the world may be tied to proximity of those things to the living being they’ve chosen to bond with
    • Being a big fan of choice I think it’s important the player chooses whom they bond with
    • Living Being is now a proper noun that’ll be referenced with the expectation that it’s the particular one a player has chosen
  • The Living Being is completely automated, run by a dynamic AI that is constantly reacting to their Emotional State
    • One goal here is to emphasize how feelings can start to feel very big, and when that occurs other feelings kind of get… smaller feeling in comparison
    • Like the Emotional Wheel, I think a visualization will be very important to help convey these concepts
      • Must be able to show a number of different Emotional Contexts (ex: something may happen that causes the Living Being to feel Amazement and Confusion, but that still shares space with Lonely and Irritable which was already sittin’ in there)
      • Real-time feedback to perspective also important, an idea that the lens of view for Emotional Contexts can shift, some strong feelings may still exist but we’ve temporarily focused on something else, so our Living Beings attention has shifted away from it
      • Yet, as time continues and circumstances change something may occur that snaps attention back to the big emotion that’s been hiding outside of perspective, conversely shifting attention away from other emotions that may have surfaced
  • The Living Being starts with very simple basic needs it’s having a hard time meeting
    • The Player needs to be able to “nudge” the Living Being towards fulfilling those needs (simple ex: hunger is causing them to feel very Scared, the player could search nearby cupboards for them and make a noise on the one with some food in it)
      • Perhaps through observation the Player finds the Living Being has food preferences, Scared in the example can be reduced by providing any old food but Joy may also erupt if you point them to a favorite
  • That’s it, that’s the last bullet point, it’s 2pm and dinner starts at 5pm and I need to swiftly transition to paid work

To me this paints a pretty clear path in my brain to get started if I were to create a whole game experience around this idea. These details are just what I used to try to articulate it though, they’re not set in stone, the goal is to just try and get the idea across – if it makes even a little bit of sense I’d happily consider expressing it a mission accomplished.

Now I have no intention of manifesting this idea in any way right now, it was really just a shower thought. If I felt I had the resources to create something with this idea, well that has a wide array of how that looks. I could try investing energy into creating a visual pitch document to try and secure investor money to pay people… 🤢 no I won’t be doing that. Thanks to > 15 years of making games and a wide variety of experience there I’m also in a unique position to create the entire thing myself, and I have options. Unity could help me create an intimate single-player experience, or I could pivot to Roblox as a platform for wacky and weird multiplayer interactions. In either case, I just don’t have the time/energy to even think of pursuing it further, so I’m alright with letting this paragraph be the final tombstone of this resting idea.

I started writing this online journal post to procrastinate solving a bug that only rears its head with multiple people playing in my Arena Defense Roblox project, not to discuss the bug or much around it really (after a shower mulling it over in the shower I’m pretty sure I know what’s going on and how to fix it), but rather to sort out my thoughts and observations about Roblox Development in general. While learning an entirely new engine (for me) that’s uniquely suited for online multiplayer experiences was suuuuuper exciting… I’m having a hard time finding a realistic Roblox path to a reliable source of revenue (aka: helpin’ pay them bills and rent). Things have changed in the Roblox environment since this post, contrasted with other things that didn’t change in a way I expected which may have given solo devs like me a little bit of an advantage.

Arena Defense

The project idea itself is pretty simple: a combat game where players defend against increasingly difficult waves of enemies, get defeated, rinse/repeat. Many years ago a small team of us (3 dedicated devs, a couple part-time helpers) put together The Last Stand for Dawn of War 2, as an homage to that fantastic time I used it as inspiration for the general theme. Added in a monetization route and simple drop in/out play more friendly to Roblox with rogue-like mechanics helping the simple core loop flow.

It also has some really cool elements, overall the polish level is quite low, I emphasized figuring out the difficulty of expressing game mechanics in Roblox over the polish/presentation of those mechanics – lots of rough edges in there that need smoothing (hint: unless I’m proven wrong about how this won’t help pay the bills them edges probably won’t receive the smoothing). ANYWAY the cool stuff!

  • Unique Tools (weapons really, ways to defeat enemies and progress with different styles)
    • Each tool has uniquely available upgrades/bonuses that can be chosen between successful waves
      • Bonus unique upgrades can be purchased/unlocked with GG Coins!
  • Fun/Silly enemies
    • I was testing enemies who were just basic geometry with my own image attached (Rolly!) when our resident 7yr old (at the time) asked if they could make an enemy
      • While the art was being constructed I quickly put together my own 2d art and experimented with how to present it with aFace
      • Resident 7yr old art complete! Combined it with my strategy found for aFace to create the Fire Cpirit
      • Seeing it live in the game sparked excitement from Mom! Mom put together art for EyeCU and Polka Dot
    • Took a unique AI approach with “Stacked” behavior which I haven’t tried before
      • I’ve built adaptable/modular AI before (The Last Stand AI was written by me in Lua, it was able to competently use any/all abilities a player may uniquely obtain through their choices during Wave 16’s Clone Wave)
      • This extends that mentality, not only is the AI extensible by adding or removing different behaviors (ex: ‘Movement’ or ‘Targeting’ or ‘Attacking’ or ‘Helping’) but those behaviors can be “Stacked” to temporarily change (or adding if that type of behavior didn’t exist) based on various circumstances
        • Ex: Equipping a tool may add a permanent ability type behavior (with its own conditions and evaluations when it’s best leveraged), while engaged that ability may change the movement behavior to something better fitting for the ability for the duration of that ability, when the ability is finished it’ll remove that unique movement behavior from the stack reverting to the previous one
  • Robux (real-money) purchasing flow
    • Okay this might not sound as cool as the above stuff BUT let me tell you that to make something purchasable for Robux I…
      • …didn’t have to run each individual item through 2+ departments
      • …didn’t spend more than a couple minutes for each item to enable purchase-with-Robux (instead of GG Coins)
        • from the moment the bonus is created and functional in the game it’s only minutes away from being added as a purchase – to contrast this, working with real-money transactions in even small companies requires several hoops to jump through even if you don’t consider the social/hierarchal hoops
      • …didn’t have to make considerations for multiple platforms! (no iOS, Android, Windows, or Steam integrations, if it’s available for Robux it’s available on every platform Roblox is available on)
    • That’s really about it – aside from the fact that this is a crucial step to converting the stuff I make to money that can pay my bills (so the fact I could streamline it down to minimal effort is actually really, really cool)
  • Reusable Roblox Systems!
    • Roblox may not be a path for payin’ the bills but it has great potential to make fun multiplayer experiences as a solo dev – if I find a sustainable way to get the bills paid I’d love to dedicate time to making fun unique things for Roblox
    • Sample of some completely reusable systems I ended up building: AI, Display Helpers, Asset Management, Inventory, Store/Merchant, Dynamic Gameplay Text, State-full and Stateless Progression, Dynamic Probability System, Choices (same principles as the core choice mechanic of Read Play Game! very generic, used by players to choose initial tool and bonuses), and Conditions
    • Handful of super handy utility bits that saved me a bunch of time

Aside from the things that can be experienced in the game I got to personally refine and improve some of my development skills – regardless of the tools, platform, or language, some skills are universal.

Next Steps

Right now I have guesses that the Roblox advertising ecosystem is far too competitive to get a reasonable return for my effort. Unlike social media platforms (like Twitter) Roblox doesn’t offer ROI predictions (ex: how much you spend vs. how many people will see vs. how many will click through), this lack of transparency is already eyebrow raising.

Aside from that, one of the advantages I saw as a solo developer on Roblox was that there was a massive marketplace of assets made by other developers, much of it made available freely. One of the other advantages I saw was that there seemed to be rampant copyright infringement which would likely start drawing attention of copyright holders now that Roblox is a multi-billion dollar ($38 billion USD according to google as of me writing this) publicly traded company.

…I tweeted out this snip the other day

worth noting Squid Game was *released* on Netflix September 17th 2021, it is currently October 26th 2021 – looking at the most popular games none of them are associated with or have a license from Netflix (the property owner)

So turns out I was completely wrong on the whole part where copyright holders would vigorously defend their works. I guess that’s just for EBay, Etsy, or small-time developers. Without action from copyright holders, assets for popular things get hyper propagated on that developer marketplace, this is colliding with entire studios of teams cranking out games heavily inspired by mobile monetization trends. Many of these games are asset swaps of previous games, this asset swap process kind of organically has the developers iterating on their core game experience as well creating a bit of a competitive snowball effect.

Basically, what originally looked like a very promising environment for small (or independent! like me!) developers has rapidly evolved via a snowball-like-effect where bids for advertising are heavily influenced by the current highest-earners on the platform or well-funded new studios.

My guesses could be wrong, so I’m going to find some validation for’em first. In my past professional experience one team I was on tested a theory: a pre-release game (in this case, ‘beta’) is less likely to convert free-play users to spenders, and that the ones converted are less likely to spend money. Seemed like a solid theory, why would people put trust into something that isn’t “complete”?

Welp, we were paradoxically wrong but also the success of our Retention, Average Revenue Per User, Average Revenue Per Paid User, and Life-Time Value metrics were attributed to the fact that it’s because “it’s in beta” and apparently users willing to participate in a beta will be more loyal. Or something. Doesn’t matter, that was the excuse why the project was canceled despite exceeding targeted Key Performance Indicators (above in bold) ¯\_(ツ)_/¯

Anyway. The point is we learn the most when we identify we can be wrong, so what are my next steps despite my guesses?

  • Change anything giving the impression it will be a ‘full game’
    • This could be true one day if I invest months of full-time development effort on it – but it’s not looking likely if my guesses are validated
    • I think it’s fair to call it a playable experiment, and if fun is had there’s still opportunities to support it with Robux purchases
  • See how far $40~ will take me with Roblox platform advertising
    • More money would provide more reliable data, but also my savings are dwindling and I’d like at least one more kick at this bucket, it would take orders of magnitude investment to get incrementally more accurate predictions to results from spending more money
    • There’s hints that could be found even with this minimal investment as to whether I should look at a next-step in advertising spending
  • Attempt to bring in organic players to the playable experiment
    • This is not my forte, in general all advertising streams are so integrated (including what seems organic, like through influencers) with… well integrated with everything, that spending floods out traditional ‘organic’ where (depending on our echo chambers) up to more than even half our interactions that seem organic are actually fueled by some kind of funded marketing or PR campaign
    • I’ll make the cost-less attempt though, found a subreddit community for Roblox that may be interested in trying a unique Roblox combat experience

Roblox provides Developers some basic metrics, I should be able to combine those with community interaction to see an impact from the above. Expectations are low given the incompleteness of the experience, but hey, any data is better than just assuming I’m correct. If I can get any traction on an experiment, or if that traction indicates enthusiasm, then perhaps my guesses will have been wrong and I’ll dive in and dedicate the time required. Otherwise, I think this experiment may simply end up being a positive learning experience while I pivot my energy back over to the project I put on hold to explore Roblox.

It’s election season in Canada! If we hadn’t already been inundated with everything happening these last two years this would be bringing in a smorgasbord of bad faith arguments over every imaginable topic. Instead it’s the year 2021 and we’re living in a dystopia where bad faith arguments are consuming enormous amounts of energy and public discourse, so really it’s just an extra seasoning this year, but maybe a good excuse for an online journal entry.

Politicians tend to be the merchant royalty of bad faith arguments, there are examples worldwide of political decision makers that do their job pursuing honesty while striving for accuracy, and they’re amazing – but they seem to be the exception and none of them personally represent me so I’m just bitter. Observing their peers (and the comments section of… anything) did showcase one pattern: the tendency to invalidate an argument on the presumption of an agenda.

Super common in game development, as my project responsibilities increased I found myself spending more and more time in meeting rooms. Over the years I found this inefficient and problematic enough that at first opportunity at a department leadership role I explicitly re-designed expectations for all layers of that department to promote personal autonomy, accountability, and creative agency. It was win-win! All the folks reporting to me ended up being more productive, generally enjoying their work more (unless they didn’t, which is a good time for me to step in for support), and I spent less time in meetings (I wasn’t the sole representation of “Design” – the designer working on content/feature would be in the meetings and we could catch up after) allowing myself to be productive developing and not just “managing”.

Anyway, that small success story aside I have spent more time in meeting rooms than I would wish on anyone. Not all meetings are soul-draining, collaborative meetings can be energizing! Though for a successful collaborative meeting you either need everyone acting in good faith or at the very least to step aside and just listen – otherwise the meeting can be derailed very, very quickly by a loosely related (or in extreme cases a completely un-related) agenda.

One strategy I’ve used to generally combat the hijacking of meetings is to pre-empt a focus on goals – what are we trying to achieve? This strategy has had mixed success, enforcing the goals (ex: “hey that sounds cool, but it’s off-topic and we need to be working towards [goal reference] right now”) can end up in its own spin-off argument of how [agenda] fits in the goal (bad actors gonna bad act), depending on who is moderating the meeting this may or may not be an acceptable use of 5-10 peoples next 20-60 minutes. When not moderating meetings myself I made a habit of doing the math of when meetings were completely hijacked (0% productivity, no new action items other than to schedule more meetings), # of people multiplied by the number of minutes. I would then present this data to the moderator, in hindsight this may have made me unpopular at that company (like, actually – when doing ‘coaching training’ one of the company directors made a joke about how some of the other directors ostracized me, I didn’t find the joke funny).

There’s another strategy I’ve seen deployed where there may be assumptions someone has an agenda but won’t speak openly about it, those people then get excluded from the decision making process. That’s one method of disempowering an unhelpful agenda, but you may also be doing the group a disservice – just because someone may have an agenda doesn’t mean they can’t provide useful input to a conversation. In fact, sometimes a focus on an agenda (gaming example: someone may be so hyper-focused that the Player vs. Player experience fits their vision that they may neglect other facets of the game) can provide insights to help make better decisions, as they can be most deeply connected to a cohort of the community than others available.

Gate-keeping conversations is a very poor solution, people who have good intentions may act in bad faith purely out of a passion for the topic – you don’t want to cut out your passionate voices (just need to keep bad faith arguments from taking up everyone’s time!). Taking the reigns of moderation can be effective in helping keep progress towards a goal, and that’s as far as my hands-on experience goes. BUT! I have seen something really cool come out of Taiwan, the idea of leveraging tech to filter out all the noise and find consensus in a conversation. While in a real-world environment that strategy can help find consensus in a wide-array of conversations, I can imagine the same principles apply on a smaller scale (like say, game development!). Asynchronous conversations can happen over time (which works well with work-from-home mentality) and an automated service could be pulling out consensus for evaluation by decision makers – decision makers can be freed up from having to moderate conversations allowing them to get back to directly contributing. Win win?!

Maybe, it’s all a theory but the fact that the software used is open source is very promising, the mechanism for pulling out and analyzing conversation text for consensus could even be added as a plug-in for task tracking software (like Jira) or communication software (like Slack or Discord), reducing friction to the conversation contributions. Timeframes and milestones tend to be set months if not years in the future, all sources for conversation (internal to the company or even crowd-sourcing from fans) could be collated for consensus giving decision makers reliable conversation data to base their decisions on when the time comes (rather than having bad faith arguments consume disproportionate amounts of their time).

That’s the thing about bad faith arguments, they don’t need to be on topic and they tend to create more division than consensus. Someone with a goal of “winning” their argument at all costs (logic and goals out the window) can be a massively disproportionate time-sink in decision making – that time can be offloaded to this machine learning AI! Would be curious if explicitly bad faith arguments could be dumped into analytics as well to tease out agendas causing the bad behavior – maybe one day if I’m absorbed back into corporate development I’ll have a chance to find out, ha!

After nearly two decades of workin’ in the games industry no two job-hunt stories I have would be alike. The most recent evolution is with recruiters, companies seem to be leaning more and more on third-party recruitment services… and it’s very telling those services aren’t terribly familiar with the wonderful world of game development. Recruiters tend to focus on very “traditional” employment (please sign this contract to devote a minimum of 40hrs a week to this corporation but in reality it’s closer to 60-80 averaged out over the year), and I tell ya, I’ve been on some journeys with recruiters this last year. Those journeys were unfortunately as dreadfully boring as they were confusing for everyone involved, probably make for poor content to pad out this online journal entry.

Okay okay, just one. Short story. Sometimes a group of people needs a really specialized person to fill a role, it’s good to be up front about this. I like to suss out any important expectations right away, so in this particular case the very first time I talked to this particular recruiter I discovered the company they represent really wanted someone super passionate about American Basketball. That very first time I told’em: I’m familiar with the rules, I could write them down without reference, but I don’t actively watch it so I don’t think I’d meet those expectations.

…so several conversations later the recruiter is telling me that my salary expectations are totally fine, and I’m thinking “huh, I guess that basketball thing wasn’t as big a deal as I originally thought”, so we kept talking, even updated my digital paperwork based on what they recommended from feedback from the client, cool cool. Things seem to be progressing (I’ve noticed this is a common theme with recruiters, regardless of reality everything is making progress), and after over a month of entertaining this particular recruiter…

I was informed it was really important they have someone very passionate about American Basketball fulfilling the role so they’ll be looking elsewhere.

That was the most interesting recruiter story, time and energy investment certainly don’t make a better story. Now contrast that with a fascinating scenario I find myself in: a studio has a problem, someone who does work with them understands the problem and what they need, they suggest to both studio and myself that I help them with their problem.

Rather than acting like a recruiter the person who made the observations and connected the dots just got us all in a video chat to discuss the problem and how I could help, how long I think that would take, and what I would need in support + financial compensation. It’s a format that may shift my attention away from my personal projects for a short time but wouldn’t have me abandoning them completely, slowing the drain on my savings so I can put more effort into hopefully creating my own financially stable game library. Win-win!

I’m super intrigued by this new (for me) idea now that I’ve been engaging in the process and having it go so smoothly. My next step will be to not divert all my limited energy, make sure at least one personal project continues to make progress (sorry Roblox game! back soon I promise). Hey look, I’m doing better! I’m on round-two of this fascinating new experience and I’ve updated my online journal 😉

Sure! Usually, unless they’re saying something dishonest hoping for a specific outcome, then they’re intentionally misleading – but when that’s not the case, the customers feelings are definitely valid. That doesn’t make them the best problem solvers, though.

Maybe I’ll take a step back, maybe some people who are reading this haven’t heard the phrase “The Customer is always right!” (because I’m probably old and “cheugy”), but growing up when and where I did this was statement pretty popular. You did not question the statement, you followed the statement. The statement can be retroactively used to justify past actions taken, the statement shuts down all arguments because “the customer is always right” and you’ll find that justification in places you would never expect as our lives became more blended with earning an income (sometimes called “entering adulthood”).

This statement was basically treated as a rule, and of course once you know a rule you know how to take advantage of it. When a rule is poorly written the potential for it to be taken advantage of is much higher, and the idea of a rule that gives someone ultimate authority in a situation is clearly ripe for taking advantage of. Personally, I don’t blame people playing my games for taking advantage of rules I made – I believe the onus is on the rule-maker to ensure their rules are designed in such a way that the rules in-and-of-themselves prevent players from creating horrible play experiences for other players. After all, Bad Actors exist and should not be ignored.

Coping with a flawed rule

You may disagree with the flaws I’ve hinted at in what I’ll call the customer rule, just like players may disagree with various rules in a game (from limitations in social interactions to perceptions on difficulty), but I’m going to go forward with it as my example. In this particular case, I’ll still interact with various people in life who subscribe to the customer rule, if I pointed out how I felt this rule was flawed every time it is used to “prove a point” it would just escalate a needless conflict.

There’s nothing I can do about the rule itself or other peoples choice to subscribe to the rule, so instead I choose to find a way of interpreting the customer rule that applies to all cases. When a customer is upset, excited, bewildered, or just plain angry – there is no value in dismissing their emotions. In this respect, the answer is yes, the customer is always right.

This is especially true as the one making the rules within a game. As the rule-maker you had intent behind the rule in the first place, if the rule is making people upset it’s important to at the very least audit the rule to ensure it’s doing what you expected it to do in the first place – or if it is accomplishing what it’s set to do, if the negative consequences outweigh those accomplishments. It’s very possible accomplishing what the rule set out to do while also mitigating negative consequences can be achieved by updating or replacing the rule.

Having valid emotions does not make someone a better problem solver, and if a topic ends up with a lot of attention chances are there will be a barrage of proposed solutions (potentially contradicting each other). As a developer if feedback is feeling overwhelming, chances are it’s because some of the proposed solutions sound like a lot of hard work. Don’t let the idea of hard work get in the way of validating the customer, you may not feasibly be able to do exactly what is wanted, but doing exactly what is requested is a pretty extreme method of validation. It’s not required!

Validation can come in small doses, and is much easier if your customer trusts you. Hearing “yeah that sucks, sorry, we’re looking into it” from a developer who has proven to act in good faith can be incredibly validating – but don’t lie, that breaks down trust. “yeah that sucks, sorry” may be all you’ve got if you know that either work can’t be accomplished, or will never be signed off on by the people who sign off on work. Dishonesty erodes trust, and saying “we’re looking into it” without ever showing your work addressing the issue comes across as quite dishonest.

Who is the customer?

I couldn’t let it go, so I’m going back to the customer rule to dig deeper. If you’re hired by a company to develop a game for them, groups of customers may look like (in no particular order)

  • Players
    • Tend to be sub-divided into categories (ex: “PvE”, “PvP”, “Crafters”, unique per game) due to groupings of potentially contrary opinions
  • Anyone above you in company hierarchy
    • If they can put a task on your list (directly or by proxy) their opinion on what that task means is important
  • Other developers
    • Either in their hearts or in their career, feedback coming from the perspective of someone who sees themselves as a peer
    • These can masquerade as players, may only sometimes identify themselves
    • This customer can come loaded with the entitlement of “I’m a developer, so what I’m saying matters more than all these other people”
      • Feedback from a place of entitlement is tricky to validate, always much easier to validate feedback that shows the work as opposed to “You do this thing, you should do this other thing”
      • Hint hint: If you feel you’re in the know, if you feel you’re a peer, show your work – it’s a lesson I still struggle to apply consistently myself
  • Investors
    • Their stake in this game is for it to make money
    • You and everyone around you have their jobs only because of these customers
  • Marketing
    • Their job is to get your game experienced by as many people as possible
    • This customer has a very unique and important perspective, their feedback may seem very strange when compared to other customers, this is because they are trying to do a very different job
  • C-level executives
    • Contractually obligated to ensure the investor-class customer is the only customer that matters to them
    • Reward mechanisms are based on opinion of their job being done, not reality, this can make feedback from this customer opaque in their intent, very tricky to validate
  • Media (including reviews)
    • Unlike marketing, it’s not their job to get your game experienced by as many people as possible
    • Very broad group here, going to be a lot of cross-over with other customer types
    • Due to the nature of this feedback being directly tied to a job being done, validation…
      • …is probably a conflict of interest
      • …is difficult! Is it the opinion of a person or the outcome of a brainstorming meeting of multiple people?
      • …is probably best shown in the form of an update to the game and a polite request to please give it another try to see if the opinion has changed

When you’re a developer in a company you have lots of sources for a large array of expectations and feedback. While game development is a complex process, even brick-and-mortar stores are going to have more “customers” than who walks through the door to buy a thing – parent companies or owners, distributors, layers of management or investors will have strong opinions that help shape the workplace thus impacting the day-to-day of everyone on the ground.

Crux of what I believe is the largest flaw in the customer rule – anyone is a potential customer. It’s a rule that gives absolute authority to a poorly defined group.

Nothing is lost in listening

It’s (too) easy to dismiss customer concerns because it feels like they don’t fall in what is considered a valid group, unfortunately when it comes to feedback reality will assert itself whether you choose to dismiss the information or not.

If you’re told people aren’t having fun in your game they certainly aren’t going to have more fun if you choose to segment out a chunk of the user-base and ignore them. Same if it’s not profitable, not marketable, or not feasible to complete the project at all! Willfully ignoring any feedback may not have negative consequences, but it also may, it’s a gamble. Consequences for ignoring feedback will tend to be several steps removed, and once even one step removed it can be difficult to draw a connection from past feedback given to current problems that are a result of ignoring information (that was dismissed).

On the other hand, once you’re presented with feedback it’s already been presented! There is no additional effort to acknowledge that what’s being said may be someone’s truth and mentally keep it on file to see if it checks up against other observations. That very act can help validate the source of the feedback which helps build trust, it’s a win-win scenario.

My general plan for January was pretty simple: Take some time off around Christmas, take my concepts and initial idea-proving work and come back at it refreshed and full of energy and pep!

Things did not go as planned.

I found myself just as exhausted as when I decided to put a proverbial pin-in-things in December. “This ain’t right” I thought – I mean, I explicitly stated I was taking time to relax, so I should have relaxed right?! That’s how it works!

That is, apparently, not how it works.

So I’ve learned at least one thing, I don’t know how to relax right now. That’s… a step, but doesn’t really guide me to how to, y’know, force that relaxation on myself so I can get back to the high levels of energy that I’m used to. The level of focus that in the past meant a new person at my desk interrupting me every 5-15 minutes with brand new questions, swapping topics to solve problems while threading in my own work without a hitch. I had it! I want it back!

I’ve swapped people at my desk to assist in questions around school or helping get a cup that’s in the high cupboard, but I find myself playing catch-up far more than I used to when I sit back down to get back at it. We’re living in some pretty crazy times with some massive disruptions in all sorts of things, I’ve even started a “scrapbook” of things I just stumble on in my day-to-day that really highlight the… casual insanity. I’m hoping years from now some of the massive problems that have been exposed lately world-wide are addressed and that I can look back on that scrapbook with friends and have some head-shaking reminiscing moments. The state of the world is occupying my brain space much more than I’d like, is that it?

I don’t know. It could be a number of things, this is very new for me (a phrase I’m sure many people in their own scenarios can relate to in 2020 and… beyond…). Tackling new frontiers is very important in game development. Staring the unknown straight in the eye and saying “… I will google that” as opposed to passing-the-buck is a solid skill to have. To leverage that skill though, you really should have a basis of foundation to ensure you’re asking the right questions, to even know what you should be learning. Just try googling “how can I force myself to relax?“, there’s a plethora of suggestions out there, but also I don’t think I’d be asking the right question to begin with, I think the problem is more complex than I’m even able to articulate right now.

So where to go from there? Well, I’m trying to make Gilroy Games a sustainable source of income for my entire family. I’m my best asset, I can leverage my experience in both game design and engineering to accomplish any array of tasks generally assigned to a group of people, sometimes faster than the group. That’s not a flex, years ago when I was a single person assigned to a project (and only half my time at that) the progress of that project was praised and directly compared to fully staffed other teams in the company. It’s a phenomenal advantage to reduce communication time between workers to nothing (honestly, that praise is what planted the nugget that it’s a totally reasonable thing that I could just make my own games).

So the hard truth I need to accept: My best asset is not functioning at peak proficiency.

This is a problem I’m not familiar with solving. Just like I buy assets or modules to help speed things along in areas that I know from my experience would save me a ton of time (or in the case of assets, hit an artistic quality level I could never hit myself!) I think I’m going to need some outside help. I’m going to try something that is radically new to me. I’ve now had two chat sessions with a therapist.

Way I see it, it can’t hurt to talk to an objective human about this weird problem I’m having, a weird problem I’m having trouble even putting into words. I think this very post is an indication I’m doing something right – cause if I’m being real here the bucket of work that contains things like [journal updates, page updates, business administrative work, promotion] are for me some of the hardest things to do, requiring the most amount of energy. Here I am, doing it!

It’s a strange thing to ask for help when you don’t necessarily know what kind of help you’re even asking for, when part of the help is… defining what’s being asked for. I think that’s probably true when it comes to mental health in general, so all I can say is I encourage anyone reading this feeling any weird vagueness like I’ve described, just go for it. It’s a strange industry that weirdly specializes in that exact scenario.

Lesson learned this month: I need to keep working on and investing in myself if I want the games I make to be the best they can be.

One of the neat things about doing something on my own, as opposed to working for some corporate entity, is I can share whatever I want! Even ugly screenshots, even spoilers 😉

Here’s a snip of how this weeks roughly lookin’ like for new project

I don’t plan on doing regular updates or anything, I just realized *right now* that there was no one to stop me from doing something like this, muahahaha!

I’ve made a couple small personal projects before (one was when I got my first Android phone, made a simple native app with smiley faces that you could have bop each other, gradually making them become sadder and sadder emojis), but nothing outside the scope of a simple weekend-or-two. I thought I’d take the opportunity of unemployment time to make something a bit larger in scale.

First things first, I set myself up with a few goals:

  1. Gameplay that focuses on choices made
  2. Playable from a web browser
  3. Can be considered “Finished” within 2 months

Alright, goals. Good, I’ve set a loose framework to fit my next steps in.

I thought back to my early days, the days where I was standing up and doing presentations in front of the company with the fancy new things I wrote in C#. As a Systems Designer, it was important for me to be able to showcase the system working agnostic of the game environment. After all, on a team of people everyone has their prioritized tasks and it’s going to take many people doing many things before it all comes together in a lovely visualized game environment. So when I stood up and did my presentations they were 100% text from a custom C# Terminal program.

See, I would sit by people who spent their days working on their power-point presentations for their next meeting. Literally, days. I would estimate the ratio of work that was contributing to projects vs. the presentation of work they were doing for projects (images, dozens of iteration on wording, sometimes animations, etc.) would be around 2:99 – I’d watch this while seeing many co-workers pressured to achieve tangible results of very complicated or difficult things and think to myself… what a waste.

Myself, I would set a goal to invert that ratio, 99:2. Basically, I would build out my tools and tech and content in a way that I could do it live in front of the company. And it wouldn’t be pretty. But if the people who needed to be informed got informed, I felt it was a successful strategy.

There were many jokes and playful (or not so playful?) groans by the time I did my third presentation. In my mind, this was always offset by the thoughtful questions and genuine excitement I received from a few members of the studio – but, I’ll admit, when there’s 100~ people watching a presentation of just text it’s not the most exciting thing non-tech people will enjoy. Even if I can show cool things like: “Hey look, this combat system is 100% simulated and we can use it to shortcut reproduce bugs or tests faster than it takes to load the game!”. For the 6~ people in the audience who genuinely appreciated it, thank you, you were the reason I stood up in front of everyone 😉

As a call-back to those early days, and because it fits within that framework of goals I’ve set for myself, my first real solo project (that will be web-based, and I can send links out for people to play) will be a text-based game with an emphasis on choices.

As to what “Finished” means, whether it’s a solo endeavor or working for a company, games are never “finished” these days. If my text-based style doesn’t find an audience then it will probably just hang out in “demo” form. If I can find some people who enjoy it though, and are willing to pay for a more “complete” version… well then, maybe that’s how I’ll be spending my subsequent months.

One can dream!

Several weeks ago our small team was informed that funding has been withdrawn and the company paying us will cease to exist at the end of the month (yesterday). I’ve put together something I wish I had done on my previous project, a memorial to look back on in the years to come.

It was a project in its infancy, recently erupting from beta to a live audience, fresh off a fairly significant update just a month after its release. It always started from a… highly irregular place, to summarize: The boyfriend of my previous project’s Lead Engineer worked with a guy who knew a guy who acquired funding and was tasked with starting a North American game development studio. They weren’t quite sure how to go about that from the actual development standpoint, so they recruited us.

I haven’t been at the start of a studio before, but I suspect it was… irregular. So we had a studio of 5 people, and our first week on the job was to… figure out what game we were making! Up to that point, I’ll be honest, it was all very strange. When I received my first paycheque I was still quite surprised (despite: hey, they bought computers and we have an office) and also immensely relieved – I had been living off of a very generous severance given to me by IGG when they shut us down at my previous job, but it was running quite low. If this crazy start-a-studio-from-scratch thing didn’t pan out I’d of had to jump on a pretty aggressive job hunt.

The game had some fairly serious requirements: it was to be a 1 year project to a beta with live (non-development) humans playing. It had to be fully server-authoritative and have some hefty anti-cheat security. It was a mobile game that will launch internationally (including China), and it was expected to ramp up to some significant revenue numbers fairly quickly. That was December 2018, we spent the rest of December building up a technical foundation and determining art style. I got excited, I spent my Christmas “vacation” building our combat simulation and its various dependencies, throughout the entire project I took only a single vacation day for a long-weekend away.

I seem to have a linear narrative so far, I’m going to drop that and just type a bunch of words to indulge the whimsy of where my heart wants to meander.

So I’ve lost weight during the pandemic. Weird segue right? One of the perks of our office-sharing space was we had free beer on tap, and generally at least one pretty good one (though the sour they got in… so good, but also no other beer keg had been demolished so fast, so maybe too good?). Turns out when I stop drinking beer every day I shed pounds, hah. As a studio we had opted to work from home since the beginning of March.

In fact I made ample use of my own work-from-home setup back in November (2019) when I was suffering from what a doctor described as: “either a very bad case of bronchitis or pneumonia“. I was miserable for 8 weeks and absolutely wrecked for one of those weeks – but even during that week, the hours I spent out of bed were on the project for at least 40+ of’em. So I was accidentally very prepared to hunker down for a pandemic at home already.

One of my early goals was to design and create game systems that could be re-used across many game genres. To validate that these systems could be used outside of the Soulite Monsters project part of my process was to have them all working in a stand-alone C# terminal before integrating the library into the Unity project (and later, also the server). This had some really solid compound benefits, including the ability to rapidly reproduce bugs with simple text commands sent to a terminal, and verify those bug fixes without all the visual/UI overhead of the project.

We originally weren’t talking about building a single project, the goal was a sustainable studio. In month 2 I was already writing out plans and team structure on how we could evolve to both develop and support multiple projects (that shared technology that functions agnostic of any game project was one of the key elements of this). In fact, I got out of bed one night to have a conference discussion on what it would look like if we needed to immediately ramp up to 30+ people.

It was a wild ride. It sounds like people who have been part of a start-up can most relate. In a large company, responsibilities are dolled out, and if something slips through the cracks a meeting is held and by the end of it that floating responsibility would have a dedicated handler. We started with 5 people. There’s no committee to decide optimal work-load – you want that thing? No one else currently has the band-width to do the thing? You probably need to learn to do the thing.

This is also true for requirements passed down from the voice of the person funding the project. Need a trailer? Alright team! Who wants to put this together?

… no takers? Artists are busy? Errr… okay, guess I’ll make a trailer… that’s a first. I got to learn that Blender is pretty darn usable for making trailers, that was unexpected and neat. Context: I have near-zero aesthetic sense, probably why I’ve gravitated from Game/Systems design to blend it in with programming in general. So I’ve never, ever, had the desire to play around with video capturing and editing tools. My morning started with googling, and before lunch I sent out two 15-second trailers that disappeared into the ether that was some overseas business stuff that we weren’t exposed to.

It was an incredibly unique experience, and I hope a lasting learning experience for everyone involved. After all, whether it’s a risky start-up or multi-national company the games industry is not a stable place. I was told by recruiters many a year ago that the average life-span of an employee in the games industry is 2 years. I defied that by spending 7 of my first years at Relic Entertainment (until their parent company THQ declared bankruptcy), and continued to be stubborn by staying at every company I joined afterwards until they shut their doors.

Very rarely is there an opportunity to really persist with something lasting over a long period of time, though sometimes you’ll have your gems out there that you can continue to enjoy (I shockingly still see the odd news blurb for Company of Heroes crop up and my heart warms up each time), so there’s at least that. But when it comes to Mobile and more modern games… they get taken down, forgotten. As support dropped I’ve seen many of the games I’ve worked on just… cease to exist. That’s why I felt it was important to put together something of a memorial for Soulite Monsters, something I can selfishly look back on or to share with friends over the years.