[Blah Blah] Learning to Develop

I haven’t written much about Blah Blah here, but I wanted to capture the excitement of our work during the moment. I am learning about Git/GitHub, Unity, Visual Studio, and have actively contributed to the game with mainly customized dictionaries so the typing will actually be narratively relevant and interesting. We have a tight-knit team that believes in the game. We are ramping up to demo the game and it seems like it’s all …klicking.

There’s plenty interesting to do.

The most significant thing I can talk about is becoming less apprehensive about programming. For 32 years, it has been an elusive field that has caused some of my worst headaches, and yet now I can approach these mindbenders with the help of the team or even just clicking around until I can figure it out. It feels good to have this last frontier of industry or even reality itself become more possible.

Career-wise, it’s more of an eventuality.

My career path by degree, technical support, is drying up. There’s still work, but it’s more deranged. It’s more difficult than before to find good quality work and I’m often stuck on contracts that are often ruinous, but programming to any capacity seems to be the future. There is a positivity to it, from my perspective, and perhaps there will be more opportunities? I never really fit in with fellow IT people. Maybe programmers will be more friendly?

Because we’re all friends on the project.

Hanging out with everyone is like having an extended work/life balance with people you can trust. It might be because we’re doing it all voluntarily, at a financial loss, but the rewards are out there. We’re all hard workers. Last week’s meeting had five of us in a debate over a key component of the game. It got a little heated, but that’s what happens when we all care.

I was running off the fumes of excitement when I wrote most of the above.

Minus the career stuff, I was jazzed to be finally contributing to this project after nearly two years of being just a side member, of sorts, where the work I was doing couldn’t really be implemented into the game. Story ideas require massive architectural overhead to achieve. Flavor text in menus requires a little bit of change to the code. Adding in text boxes or things that show a story requires more changes. Characters walking around on-screen, talking to each other? Let’s not even go there yet.

By necessity of career and causality, I’m learning all this.

If I want to tell stories in a format where people will care, sure, my WordPress clone gets about 1 to 3 visitors per day, so that’s becoming a solid source of readership. It’s taken over 800 entries to get to that point, but it’s getting there. I am not interested in producing video content. I’m fine with being in front of the camera, but I have no interest in editing video or being involved with much more outside of written content generation.

There are necessary side bits to writing, however.

To publish on WordPress requires some fundamental elements of tag-editing in HTML. This isn’t really coding, but I will argue this is a change in thought patterns surrounding words, grammar, and language that provides a simulacrum toward understanding basic coding. You could probably get away with not doing much HTML, but then it just won’t look right. I’ve also needed to learn more in the CSS realm to understand how my templates work and hosting a domain with a WordPress instance requires some architectural understanding bigger than just “I’mma postin, lol.”

Game development requires more necessary bits.

Before Blah Blah, this was all an obscure blur, some sort of fantasy where I imagined things would happen that would cause stuff to occur. I wrote that vaguely because that’s the thing with life. While you can envision anything and how their processes might work, but until you start to define and redefine what you want to do, you’ll never achieve it. Compared to when I accidentally dropped into a hardcore, badbutt Java class in high school and now, it’s like these tools actually want you to learn how to program rather than provide a difficult wall to climb just to start comprehending what you’re doing.

Here’s an example of my learning to “code.”

Someone I once knew and I brainstormed out a Credits mode in the game during a December chat. What you see is a list of people’s names that you type through to continue. I wouldn’t even know where to begin to implement such a thing, but after it’s built, I can go in and poke around to figure things out. On the backend, there’s a script that runs through a customizable set of text fields. You can add or subtract these text fields, and each text field will be a screen that the player will see. After being shown where this was, taking a screenshot, and looking around with it, I could better understand how to interact with it going forward.

Now, this isn’t coding by any stretch of the imagination.

The reason why I bait-and-switched was that’s something lost in the teaching process of programming. I’m finding as I interact more with programmers, there are the ones that love their jargon and have sacrificed parts of their sociality to thinking in these shortcuts and there are those that still remember their context of reality. The former will always lose me within a sentence, similar to if I were to explain a concept using words exclusively over twelve words in length, whereas the latter always use simpler language. The latter would see me poking around Unity, opening up Visual Studio to make changes to larger documents, pushing changes within the game as commits to GitHub, requesting pull requests of those commits to be vetted for implementation into the game, and perhaps be impressed. The former would see that, express some impressions, then communicate more freely in words that are simulacrums of English: programming terminology.

Maybe eventually I’ll get there, too.

Until then, I’m happy to be learning what I can when I can. I’ve written about two game jams now, the first as an outsider and the second just approaching game development without fear. Hopefully, for this third game jam, I can join someone’s repository and capture their development as it progresses. If not, hopefully, it’ll be for the fourth jam or the fifth. I feel like I’m starting to become better at conveying information, translating it for a more general audience, and if that includes this last frontier – programming, game development, and 21st-century digital labor – then I’m all for it.

If I can get long-term work out of it, even better.

I put in about 20 hours worth of work for all of the text prior to our deadline for making a stable build of the game prior to our big realize today, the day this essay publishes. I did a lot. I became a lexicographer for five dictionaries, per se, in that I studied each of the five dictionaries from a text difficulty perspective. Prior to this, we looked at the in-game difficulties to see how this all worked. Balancing the difficulties currently is applied to all five modes, and adjusting this too much will require more engineering and programming than should be expected from the main writer or narrative designer, but there are certain realities that must be considered for game development. On small projects like this, you take on many roles. Larger studios might have more money to throw on specialized roles, like writers, whereas for passion projects like this, being a team’s creative writer implies everything from press to marketing to advertising to copywriting to in-game text.

The dictionaries are done as of yesterday, the 21st.

When we did our preliminary tests on the 20th, one of our teammates noticed that my second dictionary was a little absurd, with some words exceeding 8 characters. This is what happens when you work within an echo chamber, as I did for 20 hours, without stopping to consider the player. I could see this happening on a larger scale since in a sense my lexicography was like the programmer entrenched in code, communicating to an end user. The end user will know if something is excessive, whereas the lexicographer or programmer engineering a change will just work until completion. So I figured out an alternative, using some websites to sort by character length, then exclude duplicates, to create a dictionary that was more refined and focused. This took about 3 hours but I’m proud of the results.

I’m quickly learning more and more about these processes.

Part of it is becoming comfortable making small changes. I have a lingering idea to add in more flavor text. I’m debating when I should actually make this change. I could do it now to get it done and off my plate, but my original intention had always been to include more flavor text – in between levels, specifically, where I could include everything from fun trivia to content related to the eventual Story Mode and build-specific shout-outs – so if I defer it will be less controversial and will allow me time to cook up more sentences. I believe I’ll wait, but I’ll have the time until then to write more sentences that I think players could enjoy. I already received positive feedback from including fun trivia in these almost inbetweens.

Now we’re arriving at a fundamental truth.

As I learn more about Unity and familiarize myself with these processes, as I experiment more with changing letters and numbers within the game, at what point will I become a programmer? Have I passed the precipice into programmer after I have written from scratch some engineering task? Is that where the exclusivity begins? Did I already pass it after I became familiar with programming processes? How about once I registered my GitHub account? Is it after I ship my first game? This is a question I’ve heard from non-programmer game developers and my answer is always: You are a game developer if you help develop games. If they take your content and add it into the game, you’re a game developer. It might be more ideal to add the content into the game yourself, but you’re just forcing your content into the game, whereas otherwise, they could just ignore it for another sprint because it’s trivial.

Is this how programming is like in companies?

If so, this seems like a nice change of pace from technical support, where we still would use things like GitHub to document our work, and poke around in Unity to make changes based on requests within GitHub, but there’s also a concern over quick turnaround time versus thorough throughput of work. There is no better motivator for learning something than having someone mad at you over the phone because you can’t complete 20 tasks instantly. Ten years of working under that fear may have, perhaps, decreased my lifespan insignificantly but may have also increased my efficiency. Ten years of banging my head up against walls in short cycles can help with the longer cycles, perhaps.

These loquacious thoughts hopefully could help others.

I will never be a non-programmer again. I will never approach a situation with that sort of brain-buster mind-bent knot that prevented me from continuing, both in programming and in life. Everything else is easy in comparison to programming. There is no more difficult a field. Without a Rosetta stone to guide you into “the code base,” you must sacrifice many parts of your self in order to understand its inner workings. Now it is OK to be an annexed part of this whole working monolith without having to necessarily generate new code based on new logic for future implementation. It’s been great working on Blah Blah to learn all this. I’m excited to work on it more.

I’d work on more now, but it’s all about balance.

Quotes: None.
Sources: My personal and professional experiences.
Inspirations: I wrote the first part after meeting up with someone and chatting about the game at length. I presented my plans for the dictionaries and I couldn’t sleep, so at 3AM, I started writing out the first few hundred words. I continued that out as a thorough dissection of everything I’ve learned and everything I’m “about” related to this project at this point in my life. To dissect everything about one’s self on a public platform like this hopefully could inspire others to realize that, no, dude, like, uhh, you don’t have to be a master at programming like they are, you’ve just gotta jump in, try, and ask for help. That’s it. That’s all there is. If they’re intimidating or rude, then fuck em. Find a different group. I’m happy that this group is a good working group for learning about programming and project management as a whole.
Related: Other Blah Blah essays.
Picture: My GitHub account
Written On: April 16th 2019 [15 minutes], April 22nd [1 hour]
Last Edited: 10/17/19 [Blah Blah’d, otherwise – Other than editing the parts from the 16th, first draft; final draft.]
My big goal is writing. My most important goal is writing "The Story." All other goals should work toward that central goal. My proudest moment is the most recent time I overcame some fear, which should have been today. I'm a better zombie than I was yesterday. I'm not better than you and you're not better than me. Let's strive to be better every day.