October 2020


October 11, 2020

Today I re-started my Unreal Engine education. Since it's dangerous to talk about things that haven't been done, I won't say much more than that.

The fear is palpable. I've said it before, I'll say it again: game development is a death march across a hellscape. All throughout my 7-year career as a full-time independent developer I believed that it would be possible to craft a fantastic game on evenings and weekends. I also came to believe that the 70-odd thousand Canadian dollars I'd spent on a formal education in game design had been largely wasted. The more games I made, the more I realized that I was relying on Google search results over what I'd learned in school. I felt that a dedicated individual could teach themselves how to build a game. I guess this current endeavor could be classified as an "experiment" to prove my theories wrong or right.

I haven't made a game in over five years. I don't know if I'll end up making a game when I'm done with whatever this is. Only time and effort will tell.

Completed today:
✔ Introducing Unreal Engine
✔ A Tour of the new Unreal Engine Learning Portal
✔ Your First Hour with Unreal Engine


Home

October 12, 2020

I should probably be timing my progress through the Unreal learning modules. I believe I spent around 4 hours studying today. I watched all of the videos at 2x speed, and scored 100% on the quizzes. It's a pretty nice system, and so far the modules have been mostly review. Turns out that, despite my best efforts, I've retained a lot of prior gamedev knowledge. It also helps that the Unreal Engine hasn't really changed all that much in the last 5 years.

Just think of all the games that could've been made in that half decade of feeling sorry for myself. Perhaps it's best to just not.

On a non-Unreal related note: I'm leveraging my current status as a student to take advantage of the free Substance licenses. If you're not familiar, they're texturing products that I used throughout my entire career and I always found them indispensable for producing the highest quality "skins" for my 3D models. I'd had no idea that Algorithmically had sold out to Adobe, but it's fine. Free is free.

I think to get a little more well-rounded with this re-integration into the development pipeline I'm going to start balancing the time between Unreal and 3D modeling. To that end there's a bunch of 3D tutorials I have kicking around that I never completed, mostly because I felt like I knew everything they had to teach. There's actually one in my Steam Library, a grenade model, that I might as well do.

Completed today:
✔ Getting Started in Unreal Engine (Learning Path)

Tomorrow's plan:
Start Unreal Engine Kickstart for Developers (Learning Path)
Start Ultimate Grenade Tutorial
Watch Substance in 3DS Max (Foundation)
Watch Substance in Unreal Engine 4 (Foundation)


Home · Previous

October 13, 2020

Woke up to thunder and rain, so I brewed myself a cup of lemon tea and dug into Substance. The plug-in stuff for both 3DS Max and Unreal was straightforward, though I don't know how much I'd use the Max pipeline. It did introduce me to Arnold rendering, something I'd never done in Max before. The Unreal plug-in works, and it works well. I was also pleasantly surprised to learn that the big Substance packs I'd previously acquired were all still on my licensing page in my account. There were also a handful of substances in the Substance Source panel of Unreal. I almost crashed the editor logging in, though. It just took a little patience for everything to recognize. Without going any further I can already tell that my old pipeline of concept → Max → Painter → Unreal is going to work as expected, if not better. I think Substance integration in Unreal wasn't the greatest 5 years ago, although I don't recall diving too deep into it.

The bulk of the day was spent swallowing the Unreal Engine Kickstart for Developers (Learning Path), and I gotta say that it's really well done. Epic has managed to simulate a classic-style higher ed course with this one, and the way it's broken down is excellent. It's a lot like drinking from the water hose, and I'd recommend that anyone interested in what Unreal Engine has to offer start here. The main course lectures are an hour long each, and I didn't have to take any notes to pass the quizzes. It's interesting, too, that a student has to get 100% pass on the quiz before the next segment unlocks, so there's a real sense of progression. This course is also filling my head full of ideas for games, and reminding me of all the projects that I started when I was full indie and never completed.

To break from the force-feeding of Unreal, I acquired an educational copy of 3DS Max 2021. Max has always been my weapon of choice when it comes to building 3D models. I actually first cut my teeth on Maya when I took a year of Foundation Art and Design at Vancouver Film School, but when it came time to take the Game Design degree we got Max. I like both programs. Heck, I've even spent time with Blender. But Max was where I've completed the most work, have the best work-flows, and just feel the most comfortable. Best of all, I trained myself to use (mostly) the default key bindings, so a lot of the muscle memory is there.

As an exercise, I pulled up an older tutorial I'd gotten through Steam. It's not a beginner-friendly tutorial (despite purporting to be) but it's been ideal for jumping back into Max. It was exhausting, though, and I only ended up doing about an hour's work before needing a break. I'll pick it back up tomorrow and really work hard at re-acclimating myself to the work-flow. It shouldn't take much.

Completed today:
✔ Substance in 3DS Max (Foundation)
✔ Substance in Unreal Engine 4 (Foundation)
33% Complete - Unreal Engine Kickstart for Developers (Learning Path)
10:51 of UGT - 1. 3DS Max Modeling - 1.1 (Grenade)

Tomorrow's plan:
Look into Megascans Unreal Engine plug-in
Continue Unreal Engine Kickstart for Developers (Learning Path)
Continue Ultimate Grenade Tutorial


Home · Previous

October 14, 2020

I was tired all day. I took a look at the Megascans Unreal Engine plug-in, and the tech seems solid. It's always been a bit of a pissing contest between Substance and Quixel. Both tool suites have their uses, and before Substance Painter was ever a thing Quixel had a superior product. They've since discontinued their version. Either way, I was able to install the Megascans plug-in but I didn't have the energy to mess around with it. We'll try for that tomorrow.

Other than that, just never quite got into the mood or the groove for the gamedev. The season is changing, and October's always been a hard month for me. I'll get to sleep early tonight and attack the day with unbridled ferocity tomorrow. On the plus side, I've come into quite a bit of cash this week for my ongoing education efforts. It's funny how a positive cash flow does wonders for the overall anxiety levels.

Completed today:
✔ Installed Megascans Unreal Engine plug-in

Tomorrow's plan:
Continue Unreal Engine Kickstart for Developers (Learning Path)
Continue Ultimate Grenade Tutorial
Do a few paints with Megascans in Unreal


Home · Previous

October 15, 2020

Despite the siren call of the Call of Duty: Black Ops Cold War beta I managed to knuckle down and get some stuff done today. The energy levels were much better than yesterday, and I believe it's due to getting almost 8 hours of sleep. I keep saying that sleep is the primary pillar in the "good health temple", but often fail to practice what I preach.

The Megascans pipeline took a bit of work to get going, but once it was in place it was very straightforward. The raw use of scans seems very resource intensive, however, and I'm not sure how useful it'll be for games. For fast texturing with some fun little world-building aspects, though, it's a great tool to have under the belt. Here's an example of 10 minutes of effort:

10 minutes of work with Megascans vertex painting in Unreal Engine
Quixel Megascans Export Live in Unreal Engine 4

Also made some headway in both the Kickstart and the grenade, so all in all a pretty good day for progress. It's not much to look at, but it's taking shape:

Stage 1 of Ultimate Grenade Tutorial
Stage 1 of Ultimate Grenade Tutorial

Completed today:
✔ Do a few paints with Megascans in Unreal
56% Complete - Unreal Engine Kickstart for Developers (Learning Path)
UGT - 1. 3DS Max Modeling - 1.1 (Grenade)

Tomorrow's plan:
Continue Unreal Engine Kickstart for Developers (Learning Path)
Start Ultimate Grenade Tutorial 1.2


Home · Previous

October 16, 2020

Path and purpose. This is what I'm feeling as I re-embark on the gamedev journey. The road ahead is clear, the milestones marked on the map, and the destination well-known. All that I have to do is keep moving forward and we'll get there, eventually.

Though it wasn't part of today's plan, I decided to pull Tekinbas and Zimmerman's "Rules of Play: Game Design Fundamentals" off the Dark Acre bookshelf and re-start it as well. It was one of the few things of value I got with my official game design education. A fantastic book that's still very relevant today, and contains enough to give even the most clueless game designer some direction.

I took a short detour mid-way through the day's Unreal classes. There was some mention of the new Niagara particle system that replaced Cascade, the last one I was familiar with. I did a quick Google search for "create smoke in Niagara", and that led me to a series of tutorials that produced these results in roughly 30 minutes:

Results of Unreal Niagara smoke tutorial
Simple Niagara Particle Smoke in Unreal Engine 4

I think it's important to not slavishly follow a regimen of learning materials when you've got the freedom to deviate whenever you want. This was a good example of that; a quick application of some inspired desire to learn a very specific thing. It also highlights the fact that a Google search can indeed produce real in-engine results in rather short order.

The Unreal Engine Kickstart for Developers was really great. It's not a tutorial, or even a hands-on kind of thing. It's just two developers discussing the history and present status of the myriad systems that make up the tools. It was refreshing to get this comprehensive "surface scratch", and I think the takeaway is that there's a lot of stuff going on under the hood. It's definitely inspired me and highlighted which aspects I need to focus on. Blueprints and Character really stood out as areas I want to explore.

Jack's record of completing the Unreal Kickstart course
An Example of Unreal's Free Education Offerings

Unfortunately, no time allocated for 3D modeling today. Will start tomorrow up with the grenade.

Completed today:
✔ Rules of Play, Chapter 1
✔ Simple Niagara smoke in Unreal Engine
✔ Unreal Engine Kickstart for Developers (Learning Path)

Tomorrow's plan:
Start Exploring Blueprints (Learning Path)
Start Ultimate Grenade Tutorial 1.2
Read Rules of Play, Chapter 2
Read Greg Costikyan's "I Have No Words & I Must Design"
Read Chris Crawford's "The Art of Computer Game Design"


Home · Previous

October 17, 2020

Good sleep really makes all the difference. Woke up this morning, had a quick round of Modern Warfare before getting back to the grenade.

I really wouldn't call Bergholz's tutorial a good resource for learning how to model game-ready assets. There's a lot of shortcuts happening here. I'm tempted to override his instruction with my own good habits, but I've been sticking to following his method. It's not a terrible practice to imitate another artist's techniques, but be aware that they may not be engaging in best practices. The use of the Chamfer modifier beneath a Turbosmooth in the stack is actually interesting, as I was used to hand-chamfering all the edges of my low-poly models to prepare them for high-poly. I recall another technique, though, that lets you jump from low to high without any intermediary chamfers. It involved careful use of smoothing groups, and I'm going to have to dig up either my old notes or try to remember the tutorial I followed years ago to acquire that work-flow. At any rate, after a couple of hours we're at what Bergholz calls "ready to high poly model":

Front, top, and left views of an untextured low poly model of a hand grenade
Stage 2 of Ultimate Grenade Tutorial

I'd never read Costikyan's essay in my previous time as an indie, and I hadn't needed to. But reading it now served as a great reminder of what game design is. There's an excellent definition of what a game is in there, "an interactive structure of endogenous meaning that requires players to struggle toward a goal" (p. 24), and the overview of Matt LeBlanc's taxonomy of game pleasures (pp. 36-30) was not so much eye-opening as eye-rubbing. I'm not one for the academic side of games; it's hard for me not to feel overwhelmed by the pretentiousness of it. But there is value in these readings, if only to see things from the viewpoint of those who've dedicated themselves to the granular study of the field. Always remember that there's a huge divide between talking about a subject and actively engaging in practice, and be wary of those who talk more than they act. Costikyan, to his credit, has done quite a bit.

The start of Crawford's "book" on game design is an interesting fish. Written in '82, it literally describes computer games as a "fad" (p. 3). That should tell you what kind of terms are being brought to the table. Crawford's story as a game developer is fascinating. He was one of the first to gain some notoriety in the field, and produced several commercially successful games. I think this may have gone to his head just a little. He believed very strongly in a formula for producing hit games, and if anyone tells you they've got the secret sauce like that it should start alarm bells ringing. He dramatically "retired" from commercial game development during an impassioned presentation where he likened games to a dragon, and saw himself as some kind of knight errant out to slay the impossible. At any rate, the first chapter was an interesting look at how he defined games. Whether those definitions still stand nearly 40 years later is a question I'll leave to more academically-minded readers."

Chapter 2 of Rules of Play boiled down to distinguishing the difference between game design and game production. It highlighted the importance of iteration, or the cycle of design → play → design to determine what's working for a given game. This was one of the things that Vancouver Film School managed to drill into my head, so the chapter was pretty easy reading. And I do still agree with this. It's critical to get a working prototype up and running and have as many people as humanly possible testing it early in the production. I had brief flashes of confidently launching something into Early Access on Steam, fully justified that I was making proper use of the system for iterative purposes. It would be amazing to reach that stage.

I'm going to have to leave some time tomorrow for providing feedback to my fellow creative writing students. While I'm supremely motivated by this whole game development undertaking, I can't lose sight of what's still putting rent money in my pocket.

Completed today:
✔ Ultimate Grenade Tutorial 1.2
✔ I Have No Words & I Must Design
✔ The Art of Computer Game Design, Chapter 1
25% Complete - Exploring Blueprints (Learning Path)
✔ Rules of Play, Chapter 2

Tomorrow's plan:
Continue Exploring Blueprints (Learning Path)
Start Ultimate Grenade Tutorial 1.3
Read Rules of Play, Chapter 3
Read The Art of Computer Game Design, Chapter 3
Read "Rules, Play, and Culture: Towards an Aesthetic of Games"


Home · Previous

October 18, 2020

Unreal Engine has a visual scripting, node-based programming "language" called Blueprint. It's a graphical abstraction of C++, and it's very powerful. It makes it possible for a solo developer to create a fully working videogame without writing a single line of code.

When I was first introduced to coding for videogames back in the 2nd month of my Vancouver Film School game design education, I immediately became obsessed with learning how to program. I fell in love with the absoluteness of it. You may have heard the phrase "garbage in, garbage out", or GIGO, when it comes to instructing a computer to do something. What this amounts to is "if you give the computer bad instructions, you'll get bad results". This means that there are ways to program well, and get great results. The trouble with "classical", non-visual coding, is that there are an insurmountable number of rules that you have to learn and abide by in order to produce this "holy grail" clean code. Especially when starting out, and having the goal of "produce a working videogame" supersede that of "write clean code", most neophyte programmers end up with "spaghetti code". Broken (but often functional!) instructions that actually make things happen on the screen. It may surprise you to know that the vast majority of enterprise-level programming is this way. The systems that run banks, hospitals, military defense, and other critical aspects of society are all built on foundations of toothpicks and Popsicle sticks held together by chewing gum and rubber bands.

So chasing the ideal, clean code is a pipe dream. We end up settling for whatever works, and in doing so sabotage our future selves with unmaintainable and inflexible code. One of the key things about good coding is that it can be reused and re-purposed if written well. So there's all these caveats, rules, and best practices that take years of dedicated learning and revision to nail down. In my 7 years of writing games "by hand" in C# code, I never reached that level of proficiency.

Fast forward to the 3-ish years I spent learning actual computer science. While I never graduated, I did manage to put some best practices under my belt. I learned how to properly manage memory, how to format my code to make it human-readable, and how to properly test and document my programs. One of the biggest hurdles that I had to jump, and one that I see so many others trip over, is the vocabulary of programming. What's a method? How is that different from an algorithm? What's inheritance? It's kind of shocking how (and I want to say easy, but it's not really easy) much less painful the process of learning to code becomes when you open your mind to the vocabulary. Being committed to learning what the different accepted terms mean makes all the difference in the world. It's like any esoteric pursuit, and make no mistake: programming is an arcane art with its own language and pass phrases that one must make second nature in order to effectively communicate.

So where am I going with all this? Well, Blueprint makes coding somewhat easier to comprehend for the visually-minded developer. Yet it has the same fundamental caveat that "classical" programming comes with: you gotta learn the darn language. Know what the various terms mean, and how they modify each other. I don't believe that this practice takes forever. I think a dedicated student of visual programming can become proficient with the right mindset and attitude. Heck, that applies to most disciplines. With where I'm at now, in this new approach to game design and development, I'm committed to getting Blueprint in the toolbox. And so far the available learning resources have done a fantastic job of lodging it in there.

Lantz and Zimmerman's essay on game aesthetic almost immediately uses the term "rhizomatic" (p. 1), meaning "a philosophical concept developed by Gilles Deleuze and Felix Guattari, used to describe theory and research that allows for multiple, non-hierarchical entry and exit points in data representation and interpretation." That should give you some idea of what you're in store for. I'll never understand why so much academic writing has to go so far overboard with the use of highfalutin' words. Abstracts, or summaries, are even worse offenders! Something else I'm learning while absorbing the written side of game design is that most of these writers are terrified of committing to their ideas. Many of the proposed definitions for what games are and how they contribute to society are prefaced by "these [definitions] are not absolute or distinct" (p. 2). Listen, I get that you're dealing with theoretical propositions, but by disclaiming every idea put forward all that you accomplish is weakening the position. But again, I'm not an academic and I'm kinda hateful when it comes to this sort of stuff, so take what I say with a grain of salt.

I don't know when the essay was written, but it mentions that computers have yet to master the game of Go. Google's DeepMind AI beat Lee Sedol back in '16. This is not to undermine the point being made: that when simple rules are iterated across a play field they increase the amount of complexity in a game (p. 4). Later, the paper asks "should we consider Quake as the ultimate embodiment of male computerdom's phallocentric obsessions?" and "[is Quake the] ironic product of a generation of young men with no war to fight?" (p. 7). This is invariably where academic investigation of games goes, and it's not territory I wish to walk upon. The more I read introductory academics of game design, the more it seems like importance is being placed on having a definition of "game". What is "game"? How does "game"? Why does "game"? And while I think it's important to have a personal set of definitions that try to answer these questions, I believe there is no universal answer, just as there's no "all-game for everyone". When the end product becomes a communication between a designer and players, just as how a book is a communication between a writer and readers, or a movie a communication between a director and an audience, there are far too many vagaries involved to real nail down a hard and fast ruling on "game". There are only brief alignments of ideas and ideals. To me, the discourse is as uninteresting as hearing about someone's thoughts on religion, or their ideas about what constitutes art. And of course this is hypocritical when weighed against my complaints that these writers disclaim every definition they come up with, but that just serves my point. Doesn't it?

The paper closes by admonishing the god-like game designer to "explor[e] the experiences of games [by] taking fun seriously". I went for a long run in the rain after closing the document.

The 3rd "chunk" of the Exploring Blueprints learning path was the first hands-on tutorial I've come across. It was very well structured and in about 90 minutes I had a great refresher on how to build user interface in Unreal. The UMG (Unreal Motion Graphics) UI designer is really powerful. I never got a chance to deploy a working Unreal game when I was (last) an indie, and for my Unity game solutions I'd always relied on Aren Mook's "NGUI". There are a lot of similarities between the two tools, but right off the bat it feels like Unreal's is more user friendly. It's the Blueprint integration that really seals the deal. UI/UX is a whole discipline unto itself, and I've always treated it as such. I'm really looking forward to crafting more UI as I start in on some actual projects.

Grabbed some Chinese takeout but only had appetite for a little. I'll save health-related stuff for a separate page on this site, but I'll mention that I've been really buckling down on the calories. I've been stuck at 101-103 kilograms for about month now, and it feels like I should get more aggressive with the diet and exercise. At any rate, after a quick dinner I stuck back into the grenade tutorial and realized that the whole bottom section of the body was messed up. After meticulously cleaning the vertices and faces I was exhausted, so I called it a day there.

Completed today:
✔ Rules, Play, and Culture: Towards an Aesthetic of Games
75% Complete - Exploring Blueprints (Learning Path)
10:08 of UGT - 1. 3DS Max Modeling - 1.3 (Grenade)

Tomorrow's plan:
Continue Exploring Blueprints (Learning Path)
Continue Ultimate Grenade Tutorial 1.3
Read Rules of Play, Chapter 3


Home · Previous

October 19, 2020

I purposely gave myself an "easy" day for today, yet after finishing the morning's Twitch broadcast and doing a 400-calorie run I was exhausted. Took the rest of the day off from development and watched some of Tarkovsky's "Stalker". Interesting film.

Tomorrow's plan:
Continue Exploring Blueprints (Learning Path)
Continue Ultimate Grenade Tutorial 1.3
Read Rules of Play, Chapter 3


Home · Previous

October 20, 2020

Jumped right back into Exploring Blueprints and made a fair amount of headway. Because it's the first "hands on" tutorial, there's a lot of stop-start going on: watch a bit, do a bit in the example project, watch a bit more. This makes for a slower pace than simple absorbing and answering quizzes. One new thing I've found is the ease with which we can now import .csv (comma-separated value) data sheets into Unreal. It used to be a real headache, one I ended up breaking down in a YouTube tutorial. That tutorial is now woefully out-of-date, given the new system. Basically, a developer can create a spreadsheet of data, export as .csv, then drag-and-drop into the editor. That data is then easily accessible to Blueprint. I had some specific needs for this in my last few designs, mostly in dialogue and item descriptions. I'm looking forward to using this once more.

Mid-morning I got inspired to write a short essay on my feelings about the way player progression and the new player experience is handled in Call of Duty.

The more I follow the UGT, the more frustrated I get with the way it's delivered. I'm now in the UV unwrap process. This involves mapping the surfaces of the 3D model so that when a texture is applied it "fits", i.e. not stretched or distorted. It's a complex procedure and one for which I had a really good work flow. The one presented in the UGT is convoluted and, for lack of a better term, weird. I'm tempted to skip through it, but I feel the need to stick with it and get it done. I think to offset some of the frustration, I'm going to do some simple models of my own.

Chapter 3 of Rules of Play boiled down to "the goal of successful game design is meaningful play" (p. 33). I like how this is a multifaceted axiom, too. Play can have meaning on many levels: to the player, the the observers, and to the culture that surrounds a game. Also the moves a player makes in a game should have meaning. The systems that wrap the game up for player consumption should mean something, as in they should be understandable to the player. I'm just glad this chapter was short and to the point.

Completed today:
✔ Exploring Blueprints (Learning Path) - Configurator Part 1
✔ Rules of Play, Chapter 3
✔ Analysis Essay: Call of Duty Progression

Tomorrow's plan:
Continue Exploring Blueprints (Learning Path)
Continue Ultimate Grenade Tutorial 1.3
Read Rules of Play, Chapter 4


Home · Previous

October 21, 2020

I was so frustrated with how long it was taking to digest the grenade tutorial that I went into it immediately after finishing the morning's Twitch 'cast. Against my better judgment, I went in and started optimizing the low-poly model. After I was satisfied with that, I started re-organizing the UV work from before. This took the entire day, and was a great reminder of how long it takes to produce a single static mesh. Before I closed down for the night, I followed through with a "bake" in Substance Painter. The baking process involves projecting the details from the high-poly to the low-poly model, as well as simulating shadows and other features. The grenade tutorial is almost 5 years old, yet the fundamental process was exactly the same six versions later! I'd also never performed a bake in Painter before, and it was amazingly good. I'm going to have to make changes to my process going forward. At any rate, the bake came out poorly. The high-poly model hadn't been modified with the changes I'd made to the low, so there were all kinds of errors. I'll have to fix that tomorrow.

Completed today:
✔ Ultimate Grenade Tutorial Modeling

Tomorrow's plan:
Continue Exploring Blueprints (Learning Path)
Repair High-poly Grenade Model
Continue Ultimate Grenade Tutorial 2.1
Read Rules of Play, Chapter 4


Home · Previous

October 22, 2020

Slept in this morning. Woke up and compiled a version of Unreal from scratch. It was easy. Now, why would I do that?

When I gave up on gamedev in 2015 I was in the middle of a project. I had spent three months putting together a proof of concept in Unity, and it was on its way to a working prototype. I don't want to talk too much about what this game was, but I was as interested in seeing it function as I was in quitting development. The design relied heavily on physics, and I was having trouble scaling it. Imagine my surprise when, 11 days into my return to game development, I find that Unreal has recently introduced a new experimental feature that could do what I wanted! The only trouble is that it's not a part of the official release of the engine, and it requires a special version. This involved downloading the 2019 version of Visual Studio (VS), something I'd hoped to avoid. Once VS was installed, I used it to build what I needed. This took more than an hour, during which I couldn't use the development machine at all. There are 16 gigabytes of RAM in there, but I figured since I was ramping up production I'd need to double it. I put the order in on Amazon and it should be here tomorrow. It will benefit pretty much everything I'm doing.

While the engine was compiling I went for a walk and took a few photographs. I hadn't taken a picture in even longer than my last gamedev project, so it was kind of surprising that I felt the need. I've always been interested in photography, to the point where I hand-developed from film when I was living in Japan.

After some tinkering that involved actual programming, I was able to get my special version of Unreal running. The system is working, but I don't want to get to heavily involved with using it until I'm a little more up to speed with Unreal. I've been neglecting the fundamentals learning path for the past few days and it's time to get back on it.

Completed today:
✔ Establish Custom Unreal Engine Build Work-flow

Tomorrow's plan:
Continue Exploring Blueprints (Learning Path)
Repair High-poly Grenade Model
Continue Ultimate Grenade Tutorial 2.1
Read Rules of Play, Chapter 4


Home · Previous

October 23, 2020

I didn't sleep well last night. Woke up anyway and delivered the Friday sermon. After a little flip-flopping over whether or not to exercise, I cleaned up a poetry assignment then got busy with the Exploring Blueprints. As I've said, the section I'm on is a much more hands-on tutorial, so the going is a little slow.

After clearing half a section of Blueprint I decided to open the grenade model and see if I couldn't hammer it into shape. I'd been trying to remember a specific technique that I had for creating a high poly model, and it finally returned to me today: double smoothing. The tutorial video I watched didn't feel exactly like how I'd used to do it, but it was close enough. I ended up spending another late afternoon-to-evening session on messing around with UV maps and attempting to get clean normal map baking in Substance Painter. No huge successes yet, but I'll keep at it. A lot of this is experimentation, and I'm trying to go into more detail with the tools by looking up some of the more foreign settings and sliders.

I haven't picked up the Rules of Play in a few days, I'll read the chapter first thing in the morning.

Completed today:
✔ Some Blueprint practice
✔ Some 3D model baking practice

Tomorrow's plan:
Read Rules of Play, Chapter 4
Continue Exploring Blueprints (Learning Path)
Repair High-poly Grenade Model
Continue Ultimate Grenade Tutorial 2.1


Home · Previous

October 24, 2020

I started a Friday the 13th marathon before going to sleep, and stayed awake longer than I should have. Still got a decent 7 hours, but burned 3 hours of the morning. Do you ever feel guilty for going to bed and getting up late? I've always felt that way. My father used to wake up at the crack of dawn. He'd make himself a cup of coffee, and I remember the teaspoon ringing off the inside of his cup as he stirred in his milk and sugar. Maybe that's got something to do with it. I should have woken up earlier more often as a kid and joined him, but now that I think of it maybe that was his time of solace. I've certainly come to appreciate the quiet of the early morning in my own way.

Just to recap the Rules of Play so far: the goal of successful game design is meaningful play. Meaningful play happens when player actions have tangible results in the game's space. The results affect the game system and can be felt by the player. Chapter 4 defines what role design plays in game design:

Design is the process by which a designer creates a context to be encountered by a participant, from which meaning emerges. (p. 41)

Someone or something crafts a game. That game has a system of rules and is somehow represented to the player, via physical pieces, digital assets, evoked in the imagination, and so on. The game has players who interact with it, and those interactions have meaningful effects. Pretty straightforward, yeah? This is another thing that rubs me the wrong way about academic study: this need to define everything. All throughout my life I've been zealously passionate about writing and videogames, so it's hard for me to strip the emotion out of those things and just talk about them rationally. Yet to have a level-headed discussion of these topics with other people requires that kind of cold logic. It's a tough reconciliation.

Chapter 4 goes further into semiotics, the study of how meaning itself is created and communicated. This should give you a pretty good idea of how granular we're getting with the exploration of game design. From questions like "why does this button need to be blue" to "how does this player choice affect them on an emotional level", semiotics informs all levels of design choice. It's probably enough for the average designer to be aware of why they make the choices they make during the production process, and how those choices will in turn affect the player's choices. It's the difference between doing something "because it's cool" and "because it's the thing that needed to be done". The latter has been forefront in my process ever since getting my formal education in art and design back in '09. I've found that making intelligent, well-reasoned choices in design more often than not produce "cool" results anyway.

Game designers are responsible for creating meaning within their designs. What does the blue button signify? How does pressing it affect the game? Going further, is it necessary to give the blue button and the results of pressing it specific names? As designers, we are crafting systems that have to be interpreted by players. It's our job to make this process of interpretation as meaningful as possible.

We're about halfway through the last segment of the Exploring Blueprints learning path. It's been very instructive, and the enterprise module gives a very good overview of how functions, variables, and other bits and bobs of the visual scripting system work. I'm even managing to get ahead of the instructor and producing more efficient scripts! I'm really looking forward to constructing some of my own.

This marks the 14th day back pursuing game development. I think I may be tunnel-visioning a little hard here. I took the 6th day off, so it's not as though I've worked non-stop, but I need to build in regular holidays. To that end, I'll be taking every Sunday off from anything gamedev-related going forward. There will be a Sunday-shaped hole in this journal every week. I'm no longer a full-time indie game developer, nor have I been since '15, so there's no need to kill myself with work this time around. Solid advice for anyone pursuing a hobby: don't let it burn you out and murder your enthusiasm for the craft.

Completed today:
✔ Rules of Play, Chapter 4
✔ 50% Blueprints for Enterprise

Monday's plan:
Read Rules of Play, Chapter 5
Continue Exploring Blueprints (Learning Path)


Home · Previous

October 26, 2020

I took Sunday off from game development, as promised. It was the best idea I've had since re-starting this endeavor. I got a full 8 hours of sleep, delivered the morning services with gusto, cleared up some creative writing assignments, then stuck into the day's plan.

Chapter 5 of Rules of Play gave a brief overview of systems, and how they relate to game design. It's possible to frame systems a bunch of ways, and the book focuses on 3: formal, experiential, and cultural. There's a reminder that systems can be closed or open. Pretty straightforward but necessary introduction for what's to come, as the next chapter deals with interactivity.

A quick note on the pace of the readings: I have a feeling that an actual school would have me read an entire section of the book each week. Ironically, Vancouver Film School didn't ask us to read any of it. I'm liking the chapter-a-day formula so far. I'm no hurry to get through the material. I have no assignment deadlines to hit. It also helps with absorption, as I have more time to rattle the concepts around in the ol' brain-box.

Though this verges on "talking about things that aren't yet done", I've started documenting the projects I want to build in Unreal Engine. There are 4 of them, the last 3 that were open in '15 and a new one that I've been developing since '18. I just wanted to mention that here, as I always solidify my plans with documentation before starting production. This should serve to explain any "document" daily plans going forward. I'm using the same process as before, as I don't think there was anything wrong with it. What went wrong was external. I'll talk more about this in detail in the days and weeks to come.

Almost through the Blueprints learning path. I'll knock out the last section on camera control tomorrow, and that'll be that. I'm not sure what I want to focus on after this. Honestly, I feel like I've been given enough to start prototyping, and should probably make it a weekly goal to build some simple Blueprint-controlled games. There are several other learning paths on the site, including a monster 18-hour comprehensive overview from 2019. I think if I do that one I'll have exhausted the majority of broad-stroke learning resources.

Completed today:
✔ Rules of Play, Chapter 5
✔ Preproduction Foundation
✔ 75% Blueprints for Enterprise

Tomorrow's plan:
Read Rules of Play, Chapter 6
Complete Exploring Blueprints (Learning Path)
Start Preproduction Plan for Project 1


Home · Previous

October 27, 2020

It took me far too long to get started today. The colder it gets as we move closer to winter, the more inclined I am to shelter under the warmth of the duvet rather than face the day. I didn't finish the reading until about a quarter past 1 in the afternoon. Chapter 6 was long, but necessary. It boiled interactivity down to a basic unit of "action ➡ outcome" (p. 62), and provided some methods for analyzing "meaningful play" (pp. 64-66). The thing that struck me about this chapter was the idea that game designers aren't directly responsible for play. Play is the result of the interactions within the frameworks we design. It happens when players recognize the choices they can make within the system of rules we've defined, and make decisions that have tangible outcomes. This is a gross simplification of the concepts presented in the book, but it should give you a rough idea of where I've been. None of this was really new to me, and it's nice to have it spelled out. I've been preaching for years about how player choice is the "holy grail" of game design, and a lot of that preaching was pre-academic indoctrination.

I finally completed the "8-hour" Exploring Blueprints learning path. It took 9 days of part-time study. I kinda wish I'd tracked the time spent, but would it really matter in the end? It would be just another granular detail to keep track of, and one more thing to concern myself with. I'm happy it's done though, and I'm not going to lie: I watched the last 3 lessons at 3x speed and didn't bother implementing as I went. It was just audio stuff that mirrored everything else the instructor had been doing, and I'm pretty confident that I "get it". I'm going to give myself a day before starting the massive 18-hour Unreal Academy 2019 learning path. That'll likely end up taking most of November to work through if it mirrors the pace I've worked at so far.

I started laying the foundation for the first project I'm going to tackle in Unreal. I got about a paragraph written. I'll take it slow. There's no rush.

Completed today:
✔ Rules of Play, Chapter 6
✔ Exploring Blueprints (Learning Path)

Tomorrow's plan:
Read Interactive Theme Park Rides
Read Formal Abstract Design Tools
Implement Blueprints (UI sliders, audio, data tables)
Continue Preproduction Plan for Project 1


Home · Previous

October 28, 2020

I started off the day with the Gamasutra articles. I used to try to leverage Gama for exposure, much in the way a Twitch streamer might try to leverage official subreddits. I don't remember exactly why, but I caught a ban for posting something inflammatory. I always spoke my mind in social media when I was last an indie. The actual followers appreciated it, but it was a tough sell to anyone else. I never understood the "feel good, group hug" mentality of most indies. It always seemed like there were more developers more invested in the social aspect than in the actual business of making and selling games. Maybe that's how it is for any industry, especially now in the age of digital social media. The thing I've learned is that actions will always speak volumes louder than words, and there's nothing louder than producing amazing content.

The first article, which outlined the design process of a DisneyQuest interactive ride, spoke about the importance of building an experience that catered to a broad spectrum of players who were not necessarily gamers. When I was living in Japan, I dungeon-mastered a long-running Dungeons & Dragons campaign for a rotating group of players who'd never played before. I learned then how important it was to design the play sessions to both teach the players and retain them. The same mentality seems to pervade amusement park interactive designs. I've always held a belief that game designers fall into two camps: pro- or anti-player. Sometimes an anti-player design can produce solid gold, like in the case of Dark Souls. But if a designer hopes to attract the widest range of player to their game, and keep them, then they have to take softer stance. Nintendo is the reigning monarch when it comes to player-directed design. There's a lot to say on this topic, but the purpose of this journal is just to record my basic thoughts on the material I digest. Anyway, for a 19-year-old article it was worth reading.

I got distracted by several other things and couldn't get back to the development before late evening. I managed to do some quick photo manipulation to try and cobble together a visualization for the first project, but it's nothing worth showing off. Tomorrow's another day.

Completed today:
✔ Interactive Theme Park Rides
✔ Minor Preproduction for Project 1

Tomorrow's plan:
Read Formal Abstract Design Tools
Start Unreal Academy 2019
Continue Preproduction Plan for Project 1


Home · Previous

October 29, 2020

Today got away from me, at least in regards to game development. I didn't go to sleep on time last night, and my sleep schedule is all messed up now. I'm writing this at 11:30 PM, coming in just under the wire.

I don't want to use this journal to promote or talk about my other creative endeavors, but I'll say that today wasn't a total write-off. I got a new poem written and prepped for the transition from Twitch to YouTube. I put a few hundred words into a short story I'm writing, and got some things ready for NaNoWriMo. November is going to be a big test of discipline and resolve, as I dive back in to juggling gamedev, school, writing, and livestreaming. With a little focus and attention to the pillars (sleep, exercise, and nutrition) we should pull through just fine. Needless to say, almost nothing got done with game development today aside from a minor touch up to this websites presentation. Did you notice?

Completed today:
✔ Website Reformatting

Tomorrow's plan:
Read Formal Abstract Design Tools
Start Unreal Academy 2019
Continue Preproduction Plan for Project 1


Home · Previous

October 30, 2020

I slept just over 5 and a half hours. Woke up, made a cup of coffee, poured a bowl of Doritos, and decided to start refreshing my knowledge of Substance Designer. I loved the tool when I was last in full production. It's used to create textures. It has a node-based work flow that's very friendly to the visually-minded, and it's extremely powerful. I always wanted to use it in Unity because I could modify the values on a texture at run-time, which could be leveraged for powerful effects. There's full plug-in support for Unreal Engine.

Allegorithmic (or, I suppose, Adobe) has a full suite of learning materials available on their site, the Substance Academy. I put a solid 90 minutes in the "Getting Started" series and, much has been the case with all the other development tools, was pleased to discover that not much has changed in the 5 years I've been away. If anything it's more user-friendly and the overall quality of life has been improved.

basic rock shapes generated in substance designer
Basic Rock Shapes Generated in Substance Designer

Here was where I had my first grim reminder of the sheer volume of work that awaits the solo indie developer. Making a videogame is a Herculean task. Doing it alone just compounds that labor. I'm going to have to start dividing my time a little more effectively across the multitude of disciplines in order to reach a publishing state I can be proud of. At least now the pressure and anxiety is far less than it was before I first failed. Hindsight will be a huge boon for me as we go forward.

I took a look at some of the content of the Unreal Academy 2019, and a lot of it is just conference presentations. I'm going to focus on the pre-production stuff for the first project. I'll just look up whatever I need when come across it. The project will serve that "learn while doing" flow.

Modern Warfare is running a 2x XP weekend, with a Shoot the Ship play list. Since I've slept on that all year I'm going to be a little distracted this weekend. We'll get the Substance Designer stuff done, if anything.

Completed today:
✔ 1-1 to 2-09 Getting Started with Substance Designer

Tomorrow's plan:
Continue from 2-10 Getting Started with Substance Designer
Continue Preproduction Plan for Project 1


Home · Previous

October 31, 2020

Halloween. I haven't celebrated this day in forever, and today's no different. As predicted, Modern Warfare provided ample distraction today. It wasn't a total wash, though. I managed to complete the height map portion of the Substance Designer refresher. It's such an excellent piece of software, really. The possibilities are, quite literally, limitless. But again, the division of time and attention is such a precarious balance, and tomorrow makes it even more deadly.

The writing must come around to the foreground, at least for November. I'm participating in NaNoWriMo, and as such it demands I write at least 1,776 words per day for the entire month. I suspect this will take at least 2 hours of the morning, and I would like to do it immediately after waking up. Tomorrow will set the standard for the days to follow. I think I'm also going to postpone the debut livestreams on YouTube. There's just a lot going on right now, and if I've learned anything in the last 4 years it's that livestreaming has the lowest priority in a long queue of creative things I could be doing.

Completed today:
✔ 2-10 to 2-12 Getting Started with Substance Designer

Tomorrow's plan:
Establish NaNoWriMo Schedule
Continue from 3-1 Getting Started with Substance Designer
Continue Preproduction Plan for Project 1


Home · Previous · Next