Hello everybody, it’s been a while since I last wrote. I have my reasons for not showing anything much, but I probably should have at least written a note saying that I’d be gone. I’ve just had a long semester, some burnout, and then a massive amount of re-prioritization as I think about what skills I want to improve and what kind of stuff I want to make in the future while I’m still in school.
In case you haven’t been following my sparse twitter activity or scrying into my apartment, this post should officially sort of summarize what’s been going on and where I think I’m going as we head into 2019. I’ve tried to write this several times over the last month, so it might be a little scattered. Let’s get right to it.
Where We Left off
It feels like ages ago – September 6th – that I last posted something relating to Atavism, and I’m not particularly proud of having planned so much just to barely work on it at all. Hopefully this should describe some context as to what was going on that semester and how that’s influenced me now.
So last blog planned pretty far ahead, beginning with overhauling the player models and moving into refining combat and finishing off some finer behaviors of the birds before re-assessing some things and moving to Act 2. I got through remodeling the player viewmodels, but by then I was unable to escape the gravity of the semester.
In brief, the semester was too busy for me to really work on much – far more so than previous semesters. After coming off of such a productive summer, it was a bit of a blow to morale and I didn’t end up writing anything because of that. I wrote a couple now-dusty drafts, a couple cancelled tweets, and made some empty promises on twitter about dates, but in the end, I was really just working myself to the bone while tying myself up in commitments that I made larger than I needed to make.
The extreme amount of business came not only from such a large amount of school work, but also two larger projects looming out from them that related to gamedev. One of them was a custom pathfinding implementation I wrote in Unity for my Intro to AI class, where I used Unity’s existing navmesh to extract the topology indeces, build a graph data structure, and implement A* for a custom navigation agent. It was fun, and I learned a lot, but it ended up compounding with everything else pretty badly.
The other, much larger, more stressful project, was Enneri (pronounced on-ur-ee).
Enneri was a project I devised for my 18/19th Century German Literature class, where we had the option of making a creative project instead of taking the final. I thought it was a good opportunity for making a game, and quickly got to work around the beginning of October making rough plans for how I wanted it. To briefly explain Enneri, it’s a narrative game meant to convey themes of German Romaticism (particularly the effects of the subconscious mind) where the player spends most of their time talking to the pivotal character or interacting with circuits and machinery in an unusual world.
My largest mistake, which I knew from the beginning, but only really came to terms with as a mistake at the end, was over-scoping. I initially thought I could deal with this by designing a modular game and eking out a minimal prototype for my project that I could continue working on afterwards, but the problem of a full vertical-slice prototype was that I needed all the systems working to get it to actually be playable. By mid-October, I found that instead of working on Atavaism at all, I had to devote the 5-10 hours I could develop per week entirely into Enneri, which continued all the way until the end. From a pure gameplay-system perspective, ironing out the dialogue system, the mechanics for connecting circuits with wires, and progression logic wasn’t hard, but quickly became hack-ey and rushed as I had to make sure they both existed and worked well enough so that they wouldn’t break the game. Even when I cleaved off tons of gameplay ideas and designed for getting the most content-creation value out of the minimum programming, unexpected obstacles kept cropping up that made it take much more time than I needed. This is normal for non-prototyped development, but I didn’t have the luxury of not having a deadline, and I was too stubborn and afraid of judgement as being labeled a “walking simulator” (which is ridiculous, as I quite respect the genre) to cut out the non-conversation gameplay entirely. Even for a prototype.
So to conclude Problem #1: Enneri had too many gameplay systems for the given deadline (December 14th). I pressured myself into making it more complicated than it needed to be.
Next, I found that even with a rough, minimalist art style, I had to shave off tons of content and environment art plans to accommodate a complete enough project – but there was one thing I couldn’t cut: the story. The structure of Enneri’s story is marked by the psychological stages of the Automaton (Enneri) where, after conversing with her and overcoming a philosophical problem, each gameplay area would split off from the hub would provide a processing converter to advance her through cognitive stages.
It was the dearest part of the project to me – the whole core of it surrounds the thoughtful conversations you have with the main character – and it was something I felt so connected with that I couldn’t let it go, especially since it was the actual narrative raison d’être part of the German assignment to begin with.
So to conclude Problem #2: Enneri had a dear story that took too much time to implement for the given deadline. I couldn’t complete it while also prioritizing the gameplay systems and environment art.
Ultimately, the most difficult part of the problem was knowing I was making these mistakes, but driving myself towards it anyways. I’ve talked about this before in the past – especially in the Bringer of Brilliance gamejam post – but I tend to push myself too hard on these projects, and I realize now it’s because I’ve got the vision and the persistence to bring these ideas to life, but not the time.
It did take a lot of time. Where, during the whole semester, I had been able to squeeze in 5 to 10 hours of work and still have time for school and some relaxation time, the last 4 weeks of the semester went by in a blur. I worked 20 – 26 hours a week – even during finals, when every other waking moment was spent studying, eating, or sleeping – and my last day before the deadline was spent working 12 hours straight on the game. I ended up having poured almost 120 hours into this project – rather unhealthily – and the whole time, I knew that the problem was with scopes that I wasn’t able to cut.
I kind of burned out after the deadline. The final state of Enneri – as I’ve not worked on it since – is the first 4 conversational stages (of 6), one small area splitting off the hub, and some bare-bones environment art and a lame circuit puzzle. I handed this and the script in to my professor and we had actually a fun talk about the trials and tribulations that went into making it.
So to conclude Problem #3: I didn’t address the problems that I knew about, believing that pure ambition-fueled persistence could burn through them. It definitely could, nurtured carefully and given time, but crunching it into a deadline is what causes burn-out.
Enneri is – ostensibly – done with pre-production, and all that remains is using the tools I made to craft a handful of small areas and polish it all up with environment art and some fancy effects. Even so, I find myself unable to work on it; even after finally resting with no work whatsoever in the days between the 14th and New Year’s, I’ve been unable to even write about it.
I’m still torn on Enneri, and I’ll have more to say about it, but first I want to contextualize it around the year before talking about my future plans. You’ve probably noticed by now that it completely superseded Atavism in what I was doing, so first I want to recap how that project came to be and what I did with it.
2018 Year in Review
Honestly, 2018 was an incredible learning experience. In 2017 and prior years, I had really stepped into game jams and found out what kind of games I wanted to make. Khnum’s Emnity and the FPS prototype showed me those were first-person experiences, and Cursed Dungeon was a valuable lesson on teamwork and project management I’d never forget.
This last year was, really, my first foray into doing things for myself. I still remember the late nights of November and December where I thirstily planned Atavism, sketching an epic, but “tame” project I could complete before I graduated. I resolutely set myself to begin building it, and it’s by far the most productive thing I’ve ever done.
At the beginning of the year, I didn’t know how to model. Two whole weeks out of the winter break I worked nearly full-time on the project was learning how to do just that – making hands, rigging, and importing animations into Unity where I began to understood how you tie logic to them. It was very slow work in retrospect, so I’m glad to see how tangibly I’ve improved my quality and speed. I went on to make my first humanoid model- the Tribesman – of whom, while amateurish, I think still echoes a good style. Filming and roto-scoping animations for him was very technically educational, which led well into making the Birds and keyframing their animations from hand. I really exercised this in the end with Enneri – the model of whom I took a generous amount of time to make right – and the architecture and composition around her.
I’d never worked in AI before, and my layered approaches from the Hare and its plant-seeking behaviors to the group-combat AI of the Tribesman to the spatial queries and Inverse Kinematics of the Birds proved a hearty and iterative approach to learning the craft that has me feeling like I really understand how to approach any AI problem. It’s what I wanted to learn how to do the most, and now it’s my forte as far as game programming goes.
Besides just technical skill, I’ve been developing my art skills slowly, but cumulatively. I’ve always had ideas in my head, but slowly and cohesively figuring out how to put them in a 3D game engine has been very illuminating, and I feel like I have a steadily developing sense of style with enough technical know-how to make it work. I’ve been so inspired by the artistic aspects of game development, actually, that I’m going to be minoring in Art starting with fundamentals classes in the new semester next week.
None of this is to forget the awesome trip to GDC I had in the spring, the difficult, but cool Bringer of Brilliance I made in February, or 2018’s awesome Chillenium jam I went to in October with some of my friends from the KSU gamedev club (which I have yet to write about).
Overall, just seeing my progress out in those images really makes everything worth it. I tested my art, technical, game design, and project management skills this year coming off of nothing but some game jams, and I’ve strengthened significantly in every area. It’s easy for me to forget how much I did, sometimes, and focus on the failures or sloppy jobs I made when comparing them to the “grand vision”s in my head or the design documents on my hard drives, but I look back on 2018 and I feel good. I recorded 687 meticulously-logged working hours in my excel spreadsheet (that’s equivalent to 4.3 months of 40hr/week work!), and I wouldn’t rather spend them on any other personal hobby.
So What’s Next?
So we’re here. This is the whispy, incorporeal question that’s followed me gently for the last two weeks, and it’s the part of the blog that’s kept me from writing it for this long. Where have I left the threads hanging?
Atavism. My heart and soul project. The darling of my free time for months on end.
Enneri. My heart and soul project. The darling of my free time for months on end.
Hmmm. Maybe it’s not so hard to find these heart and soul projects after all? Maybe it’s not lighting in a bottle, but something reliable that needs to be refined?
I’ve left both of these projects hanging in my small public sphere, and I’ve left them both hanging for the last few weeks as I try to figure out what to do with them. Atavism is something I was so dedicated to – a mountain I was so determined to climb – that it was by pure hard deadlines alone that I got distracted from it to chase something else. Now it it sits somewhere strangely far behind me – the peak of my work in AI, the forefront of my personal portfolio, but currently more memory than mission. It’s strongly designed, passionately written – a grand vision, and well into development – but far behind, and far too big, although framed prettily in spring and summer sunlight as I look back on it in memory.
Enneri is unfinished business. My passion for this project is an intense, humanist heart in a harsh, complicated environment, much like the figure of whom the work is based around. It’s done being written, ready to be completed, and a good source of practice for 3D level design, visual effects, and environment art that could round out my production and post-production skills in 3D games. But it’s just enough work to be a large commitment, while not being enough to put it out of the question.
What I’ve really been doing these past few weeks is investing in my future. I’ve been reading no less than an hour a day of some gamedev books I’ve been meaning to get through, and I have, as may come as a surprise, been teaching myself how to use Unreal Engine 4, using an Unreal book I had lying around, C++ Primer, and a Udemy course. I’ve become enrolled in my fundamentals classes for Art, and I’m eagerly ready to really dedicate myself fully expanding my technical and creative artistic abilities for the first time. I’ve been thinking about the kinds of projects I want to do with the time I have left in college – what kind of small, curious things I could do or what medium-sized project I could make now that I know my pace of work better. I’ve been thinking about specializing myself more now that I know myself, and focusing on just a few technical and artistic skills to refine while dropping others. I’ve even been thinking about where I want to go after college and with whom and how.
I thought I hadn’t been doing much in the last few weeks, other than guilting myself over dropping big commitments and making unfinished work, but instead I’ve realized I’ve gotten much better at improving myself, and I think I can apply those lessons in the future with more mature goals coming into the new year.
I’m going to drop Atavism. Gently, of course, and respectfully – something I can come back to conceptually if I want – but it’s too large to reasonably dedicate myself to when there are so many shorter games I can make, even if they’re ambitious in their own right. Maybe this seems sudden, maybe it doesn’t, but the giant game I passionately planned a year ago was done so skillfully – I’d say – but naively, and I’m better off working on smaller things. I’ll be logging an overview of what I learned and putting it into my portfolio, where it can rest warmly until I can succeed it spiritually in the future. It’s been a weird, guilty process of deciding to lay down such a large commitment, but even if I never come back to it, it’s helped me grow so much as a person.
Enneri has room in my heart – and in my schedule – to be completed. Don’t take this as a strong commitment though, as it comes with a catch; I talked to my professor a lot about what went weird with the project, and she brought up the possibility of receiving a grant for my work on it. If this is the case, I can happily commit a few months to completing it, where I could even sell it on Itch if I’m satisfied with the quality. I’d have to go back to Unity, and more specifically, the mess I constructed under a deadline, but it’s something I could do for money. And love.
Finally, with the more general future, I want to really hone in on my art and AI. I’ll be dedicating a lot of time and care into my drawing and creative skills in university, which could feed directly into my continued 3D modelling practices as I try to get good at character modelling but would probably specialize in environment art. Technically, I wanted to switch to Unreal for a number of reasons that I might write another blog about, but largely because it has better AI tools out of the box while basing itself on C++ (which I’ve been meaning to learn for a long time) and more useful tools that don’t cost any money.
I don’t think it’s worth talking about my next project at this point, but I’ve been strongly inspired and scrutinously screening a lot of concepts which are slowly being filtered into something strong that can take advantage of the elements I wanted to specialize in above.
I don’t know the next time I’ll write a blog – or how casual or informative it’s going to be – but well begun is half done, and hopefully I can keep finding stuff to write about now that I’ve started writing again. I’ll probably get to portfolio-izing Atavism so that it can rest in peace, and I’ll probably be tweeting drawings or minor stuff I make if it’s good enough to share. I don’t think I’ll disappear for 5 months again with only the occasional tweet, but I can’t say how active I’ll be in the future.
This blog is mainly for myself (sorting out my thoughts) and maybe employers (which is why they can be so technical), but if you’re a fan or friend reading this, I appreciate it. If I’m reading this in the future, good on me for self-reflecting. It’s been good to get this all out in English to reflect upon it at last, and hopefully there’s some value for anyone else who did too.
I’m rambling, so it’s time to say goodbye. It’s nice to have gotten this out, and I look forward to writing more in the future.
Until next time, cheers.