Categories
Blog Blog Post

The 2019 Year in Review

I feel that 2019 has been a big year for me.

There are other cliche ways to begin a year in review, but that one is the most appropriate. The last year has been an odyssey of self-discovery, new experiences, and time management; 2019 carried me from a skilled, broke college student finding his way to a skilled, young adult with finances and a partner. I’ll probably always be finding my way.

I found art in drawing, refined in painting – and through it, myself – displayed in dazzling color and through curious, thoughtful aesthetic works that challenge me to think and learn in whole new ways.

I found a love of nature I had previously only appreciated at a distance – a love for atavistic rituals and natural lifestyles, ecology and hidden natural systems, and for trees, plants, and the multitude of growing things that make up our world (particularly mushrooms – and our friends, the whales).

And, indeed, I found love in Bailey – my loving partner – and all the small moments, activities, nuances of human experience, and breath of emotions, cognition, and sensations, that come with committing to another person.

There are countless things I found in 2019 that transformed me, making this review more personal than the last one.

It happens to be also the only thing I’ve written since the last one – so I suppose I was out for catching up on a lot from the start.

I’ll start with the beginning of the year.

spaghetti
Some early spaghetti from February’s game engine, where I first learned how to use blueprints.

Reconstruction – With Unreal Engine

Last year ended on an open note. Enneri had been made as a student project, with a very difficult crunch period during finals week burning me straight out of inspiration. Given a lot to reflect on, I published the year in review mid-January; I dropped Atavism and decided I could go back to working on Enneri if I had the courage, and in the meantime I’d learn Unreal Engine (and with it, C++). I made mention of honing my art and AI skills, and restrained myself from announcing a next project (which was probably wise).

What did I ever end up doing?

The answer was that I seriously studied Unreal Engine 4. I think I did it so well that it caught me by surprise to look back and notice the gap in productivity up to mid-February; all of that time was spent in a Udemy course doing nothing but catching up to in UE4 the skills I’d learned in Unity.

With winter break on my hands and a relaxed IT job, the study was time well spent, and I currently feel much more competent with the engine now than I ever felt with Unity – and not all of that is general growth. The engine is powerful, easy to profile and optimize, and supports its own features as well as it supports its developers – with a strong set of completed, supported features, a strong roadplan for future versions, and an excellent network and licensing model complete with a generous Megagrants program. The learning curve with C++ forced me to become a better developer, and I feel free to use those skills as well as possible. Most importantly – it was the perfect fit for my work at my internship, where I’ve continued to use the engine professionally in a fulfilling and endlessly instructive manner.

Screenshot

After putting months of work into using Unreal, it’s unusual to go back to look at my first complete project with it – Is It Enough To Net Positive?

The game was made during the Annual K-State Game Jam – where I’d previously made my first Unity game Khnum’s Emnity in 2017 and Bringer of Brilliance in 2018. I’ve tried in earnest to write a retrospective on the game since then, but – perhaps due to the crunchy nature of a game jam – I cannot remember enough details to make a significant recount.

To introduce the game – it was a short Isometric strategy game where the player would possess a ship in search of lost citizens on the way to an exit portal. You would become antagonized by robots and need to balance expending your collected resources into soldiers to defend yourself, but hopefully restrain yourself enough to make it out with most people intact. To really sell the moral center of the game – a report of the lost or abandoned citizens would show after you exit, citing obituaries for each and every one.

obituary

To review the jam in short – it was an invaluable experience that I’d recommend to everyone trying to learn an engine. Time kept me from developing any feature for too long, and I was forced to quickly and cheaply implement everything from AI to UI to graphics to level loading all at once. Doing all this – and packaging it at the end (something a developer is never forced to do when taking all their time on a project) is a good quick and dirty overview of how to start and finish a game.

It was not only a fun narrative project, given the obituaries and limited aesthetic budget, but a well-managed one. Bringer of Brilliance and Cursed Dungeon both have detailed posts about their difficult development, and those lessons were finally used sincerely to ensure Net Positive went smoothly. I ate enough food, got plenty of sleep, and finished the entire scope of the project with half an hour to spare – and there’s nothing more you could ask from a gamejam production pipeline.

Reconstruction – Enneri

Enneri_Terminal.PNG

I had resolved pretty early on in the year to continue work on Enneri (previously described here) in Unreal. Some time would be needed to port it, but there wasn’t much to port; it would – in any case – be faster than the laborious copy-pasting of dialogue in my poorly-planned dialogue system in Unity. My two-month budget resulted in a very messy Unity code base that I never wanted to go back to.

I restarted, but knew exactly what to do. Using a plugin dialogue system, I was able to quickly and visually get dialogue working – all the while taking time to edit what I was pasting in and cobble together a more cohesive plan for the end of the game, which is about what I expected. What I didn’t expect was just how drastic I would change it – leading me to axe the beginning and ending sections of what I had, triple the dialogue length, and cut some systems I never really wanted to program anyway.

It took a bit of time, but Enneri is almost done with a metamorphosis pre-production that should really branch into a fully-guided middle phase. With a large part of the dialogue more or less concrete, various puzzles designed, and Unreal primed to make the few simple mechanics that are necessary – it rests on whenever I have time to plan and build the world of the game and all the effects that go with it. It should mostly be a challenge of visual artistry and level-design – which excites me as much as it paralyzes me. I’ll need time if my skill in asset creation is to match my interests in the level design.

meandtheboy.PNG
Myself on the left, Dakota Baker on the right

Summer

In retrospect, what I accomplished so far isn’t so bad, but it did take… 8 months. Besides the game jam, learning Unreal, and porting Enneri (a 2 month project for school) into a new engine with some dialogue editing shouldn’t have taken that long, but I had… other things to occupy me.

I’ll mention first that the last week of summer was spent in Montreal, Canada. My long-time friend Dakota and I both hatched a scheme to check out the country in case we wanted to move there, so we accidentally went and then had a lovely time. Most of it was spent walking – in the art museums, the “mountain” trails, the botanical garden, and mostly the city – but we had a nice AirBnB to return to at night where we would read books and vibe. It was the intent of the trip to check out how nice it would be to live there – and I feel like we got an accurate picture of day-to-day life and Montreal character that I really did love.

Of my slew of life changes that happened to me last year, none were so lovely and fortunate as meeting my girlfriend Bailey (although getting a well-paying internship is a close second). I spent a lot of Summer doing things I’d never really done before – like travelling all over Kansas, going to every art museum around, eating dinner at nice places, and exploring the cities and the world that I live in with a faithful and loving companion at my side. While trying not to splurge too much, it’s the finest summer I’ve ever had, and sharing conversation and good memories with such an fun, smart, creative, pretty, and exceptionally well-dressed person was incredibly special. A whole new type of human experience became open to me, and I still don’t take a day for granted spent with her.

IMG_20190601_115437494
The two of us at the Wichita Art Museum

The travel and the fun was afforded to me by my other large activity – work. My software developer internship at Thunderhead Engineering (located in lovely downtown Manhattan, KS) was an excellent one in it’s own right: as my first experience in a software workplace, as a huge source of experience using Unreal Engine 4 and collaborating with a team, and just as being part of a workplace culture – but it was well and truly more than the sum of its parts due to the passionate and humanitarian individuals working there and the kind of business they’ve made. The good pay and flexibility of my schedule is what let me do everything else I did that summer, and every moment in the workplace was spent solving interesting, challenging problems, having interesting discussions with my cool workers, and just generally being myself to work in a company that treats its workers well and does good for the world. I still work there, of course, part-time throughout the semester, over winter break, and ever on into the next school year. I’m incredibly fortunate to have found the place and I absolutely love working there.

…and while I am fortunate for all of these things over the summer, I didn’t exactly get them without a price; I did very little in terms of game development at all!

meandthegirl.PNG
Thanksgiving photo 🙂

I can’t exactly blame myself. I’ve always worked probably a little too much, especially for just a student in college making games on the side. I’d gotten used to having no one but myself to manage my time with, and I’d taken advantage of that as well as I could. Finding someone else who loves spending time with me as much as I with them was a recipe for learning self-care and work-life separation all at once.

It took several months before I was able to manage a reasonable schedule again, and seeing so many “0 hour” weeks in my excel sheet that summer makes me feel a little guilty, but hey, I’m young – and I learned a lot. And gained so much ♥.

IMG_20191211_1645195642
Portrait of a Lost Loved One – Charcoal on Paper

Intermission – What Else I Did This Year (A Blog)

Games

Just as a transition from my major life events – I did quite a few fun things this year, although it was even harder to schedule single-player fun than dev work. In 2018 some standouts were God of War, as well as Fumito Ueda’s deeply impactful series of Ico, Shadow of the Colossus, and The Last Guardian. In 2019, I played some equally impactful games that I might make note of, as well as some other of 2019’s games.

Early on, I found Fugue in Void (and Moshe Linke’s other amazing work). Tied closely with NaissanceE – which I played next, as it was listed as one of his inspirations – I was seriously moved by these works to consider architecture in games as what could be the entirety of the focus. The way these games use nothing but 3D space, materials, lighting, and a walking first-person perspective to achieve emotion and storytelling (not to mention the innovation of what they’re achieving) is nothing short of jaw-dropping. I found them all deeply inspirational, and they’ve since altered the DNA of Enneri considerably. Other honorable mentions of this architectural epiphany include Kairo, ШХД:ЗИМА / IT’S WINTER, 0_abyssalSomewhereand Ico.

IMG_20191220_133739186
Gazes Held Distant – Oil on Canvas

As for other games, I tried to play Sekiro: Shadows Die Twice and found the game slick, challenging, and fun, but less appealing than the other games by From Software – Dark Souls in particular of which was formative to me in high school. Unlike Sekiro I did finish Celeste after trying it out, although I found it more of a frustrating experience than a positive one. Both of the games are considerably more difficult than I found enjoyable, and it made me think a lot about how I much prefer cognitive difficulty to mechanical difficulty.

Of note – I also played Opus Magnum (great, but didn’t finish), Beginner’s Guide (really excellent narrative game about game development), lots of Death Stranding (mixed opinions, mostly positive, still playing), and plenty of Minecraft co-op.

Also, due to a few artists, I’ve started collecting vinyl. First of note is Enigma of which I’ve listened to the most after discovering it in the spring. Micheal Cretu, the mostly solo artist of the project, is a genius; I’ve listened to each album scores of times and the new-age, alchemically composed musical odysseys of each are empathetic, grand, personal, loving, devoted, and raw in their own unique ways. The prog-rock band Yes is a runner-up to most listened-to, with Fragile and Close to the Edge being two stellar albums that just bleed human experience. Last of note is Aurora, whose down to earth, yet ethereal singing conveys themes of nature in harrowing, beautiful ways.

IMG_20191220_133717892
Buried Beneath the Fields  – Oil on Canvas

Finally, I’ve done plenty of art this year – as evidenced by this section’s works done by myself.

I’d only begun visual artistry in the spring semester – something inspired by my accidental discovery of the surrealist movement, Ueda’s oil-painted cover of Ico, and – in general – my nascent appreciation for art and visual creativity for games that had been roaring to find an outlet while I make prototypes with grey boxes and placeholder assets.

I really love it. Having gone from drawing practically nothing to two semesters of drawing education was mind-blowing to me. I really picked it up quick, and even my single semester of painting went from a few portraits of objects I’m to embarrassed to share to the previous images that I had an incredibly cathartic time creating. Surrealism is a huge inspiration to me – in ideas and visual artistry – and being able to paint has opened a huge creative door to me that I hope to continue exploring throughout my life alongside game development.

EarlyBuild
A look at Unsatisfactory

Ecological Revolution

The latter part of the year was spent largely on Unsatisfactory, a code name for a project that’s more of a simulation in gamespace than a game itself.

One of my classes was an “Implementation Project” I took for a CS tech elective – which is to say I could choose my work to scope out and complete over the course of a semester. This was already convenient for forcing myself to hit some gamedev goals and being able to make time for it, but it presented an unusual conundrum of having to make yet another project to be relevant with AI-related professor I wanted to oversee it. This was daunting at first, but proved to be a force of positive energy that focused me into learning AI the way I wanted to at the end of last year.

Unsatisfactory is an AI-related project, and it’s not terribly large-scoped. The idea is that the player would be present in a forest where an AI network of machines would spread from a central point and harvest every natural resource as efficiently as possible – not unlike a Starcraft bot. With the immersion offered by a first-person perspective and the scope of a well-rendered forest and hulking machines, the project is meant to display just how quickly exploitation can destroy a natural landscape – and show just exactly what is lost in the process.

With only the time a single 3-hour semester class can offer, the development focused on building the forest to oil pipeline, with no art assets or particular player abilities. As it stands, there’s not much more than what appears to be various monochromatic boxes crawling around, but most of the AI work for an ecosystem of automatons is complete.

Biomass to BioOil (Pyrolysis) 1
A diagram depicting conversion from biomass (ground-up plant matter) to oil

Using Unreal’s Behavior Trees (BT’s) and Environmental Query System (EQS), a central ‘Heart’ at the beginning of the simulation will scan the landscape, send out ‘Weavers’ to build various sites that convert trees to biomatter, and biomatter to oil. Various ‘Hand’ units will shuffle around materials, and ‘Cutters’ do the actual deforestation. The process is accurate to science; I did plenty of research on how exactly plants can and are actually converted to usable machine fuel by the process of pyrolysis, so the yields and conversion processes follow what I’ve found. Although it’s not very flashy and there’s a few bugs with pathfinding and queueing additional build sites, the core of this simulation is pretty much complete.

The name Unsatisfactory comes as a kind of retaliation to the game Satisfactory, a game where the player builds large series’ of mechanical factory parts while exploiting the environment. It’s not the only game in this genre – Factorio, which I’ve enjoyed playing in the past, and presumably at least a few others cater to this desire for engineering games. They’re satisfying – and mostly harmless, I’d say – but they propagate a casual exploitation of nature that I’ve come to find frustrating, especially since no particular games exist that have the player integrating or defending natural systems in the same way – which is no less complex and inter-connected than the workings of a factory.

So a lot of this semester has been spent in thought – working away at this simulation with ideas of where to take it. I’ve taken a great interest in ecology because of this – partly due to the unit I took in Biology this semester, but continued with plenty of fiction and even more nonfiction involving the fascinating systems of the natural world. An open niche of games with more natural simulation is practically begging to be filled, and the idea of bringing druidism into it – and all the surrealist or bizarre spiritual and anti-industrial theming that comes with it – presents another niche of games for people who like that. I’ve had so many ideas and so much to work with that I could extend this thing forever into some sort of colossus – but I’m unlikely to be foolish enough to do that. So where am I taking it next? How will it lead into my future work? Does Enneri still have relevance?

HolyStigmata
A debug look at how the Heart identifies biomass-rich build sites

Looking Ahead

Well, I’m still figuring it out.

Between Enneri and Unsatisfactory, the latter is a smaller project (I think?). It’d be easier to wrap that one up, but it would more directly lead to what I want to do next – something cognitive and simulative, and respectful of nature’s processes – in a way games have never done before. Something atmospheric and wild. But itt would be leading Enneri by the wayside – something so personal to me, just waiting to explode after working on it for so long.

I’ll re-evaluate what I’ll do for both projects, and probably pick one based on timing. I’d like to work indie after college, but finding funding beyond savings is important to that in a way that affects what I do now. If I have something good to show, I can get a grant, but if it’s too close to being finished, who’s to say that’ll miss the opportunity? Shipping stuff is always good, however, but it isn’t guaranteed to make much money if it’s my first game – no matter how many indie talks about marketing I watch and try to implement in the meantime.

I suppose, in general, I want to work on 3D art this year. The rest of the programmed systems will find a way, but both of these projects are primed for a lot of practice in 3D visuals that I don’t have enough experience in. Finding a style, getting better at the pipeline and animation – it’s all going to happen. I feel like now that I’ve gained so much confidence in rendering what’s in my mind with 2D art, it should be easier. I just need to find what project I can make that happen with faster, and allow myself time to grow, redo things as my standards change (but not too much) and track it to the end.

I just need to pick a project to fully finish, which could heavily decide the direction my life is going…

icelandCoast.PNG

The website? Well, if you’re reading this at the time of writing, you already know it’s pretty slow. It’s mostly for myself, and maybe it would be of some interest to anybody reading this in the future. It’s somewhere to sort out my thoughts and keep my work in one place for employers (or maybe eventually fans?).

In any case, I’d like to update it a little more. I could go really hard on the design, but it’s not quite what I’m interest in at this time. I’ll probably whip up a logo (if I don’t decide to change the name first) and maybe change the color scheme and template.

I also want to write more – but of course I’ve said that before. Dev logs were great for Atavism, and really helped me organize the development into bi-weekly sections for scoping and feedback. I do that more or less internally now, but I’d like to do it again, although it would only be worth the effort if people were reading it (and I was busy enough with development to have lots to write about).

Something else I’ve thought of is writing a few thought pieces. I’m not sure who’d read them, but it would be useful to develop general design thoughts I’ve had, and I value plenty of seemingly-niche blogs across the internet with nuggets of game design wisdom, so who’s to say it won’t be silently appreciated?

I’m surprised I’m writing this at all, however. Almost exactly a year has passed since the last time I wrote – the previous year in review. I guess I’ll see what I do this year, and if I’m silent, I’ll see you again in January 2020.

Until that mysterious “next time”, cheers.

By Steven Zwahl

I'm a Computer Science undergrad at Kansas State University.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s