Wednesday, May 29, 2019

No mercy for the wicked...

More Diablo. Yep. Sif not.

So I randomly decided to play Season 17 of Diablo III for a few weeks. Gives me something to do while I watch podcasts and random Youtube nonsense. The culture war in America is amusing to witness in a horrific, can’t-look-away while it collapses kind of way. It is also interesting transitioning back to a ranged character after so many years focusing on melee. Not bad, just different. I actually died several times while leveling. That’s certainly different!

Anyways, the first thing I have noticed about playing a Demon Hunter in season is that their set multipliers are just better. Shadow Impale is an absolute monster and insanely strong for killing Rift Guardians. So high is their single target damage that you actually need to think about killing trash more effectively, which is just unnatural for me. After a bit of survival horror (i.e. lack of specific gear), I managed to find a level of tankiness and sustain that I am comfortable with. Currently I am as resilient as I ever was playing a Barb or Crusader, so performing optimally as Shadow Impale is quite easy. Translation: stand inside the monster’s asshole at point blank melee and let your numbers do the work. I was already good at that.


Secondly, the Demon Hunter community is surprisingly competitive. While the Barb and Crusader communities are certainly better at theory-crafting, more demon hunters push harder and faster on the leaderboards. I think the class attracts a slightly more bloodthirsty demographic, lone-wolves who really enjoy the hunt/push, but don’t have much to say. Their top 100 leaderboard competitors are all geared to the teeth with smart rolls and optimized builds. They seem like a veteran crew and I appreciated the challenge, especially when this thing dropped:

perfection...
Speaking of which, I still managed to push into their top 25 with my inexperienced Demon Hunter. I really shouldn’t say this as I have played Diablo for a long time now and understand the ins and outs of the game, even on a different class. There is an optimal way to play and an even more optimal way to build which seemingly translates to multiple classes in subtle ways.



A few things I did work out as Shadow Impale is that you really have to maximise your positioning, even more so than say HoTA. Impaling trash is useless if you cannot get to the elites behind, and needing to vault too much causes your Travellers Pledge damage buff to become useless. You also need to rotate between using Vault and Shadow Power, not just to stand your ground as often as possible, but to allow diminishing returns on knockback (for Strongarms) to wear off. It’s a bit more to keep track of and creates an interesting branch of options every few seconds for optimal play.

I probably won’t push any further than this as I have new and more interesting games on the horizon. 2019 is shaping up to be a fun year for casual gaming. Doom Eternal inbound….

Tuesday, February 5, 2019

Too easy!

I have not made a blog post in quite a while. Again, a combination of playing fewer games lately or playing games that do not really necessitate any kind of discussion. Additionally I find myself doing other things in my spare time, including a general desire to stay in better shape. Doing weights will do wonders for your mental and physical well-being. Highly recommended.


So, Diablo, again. After the incredibly disappointing announcement of Diablo Immortal at 2018’s Blizzcon, I must admit that my skepticism for Blizzard’s handling of the franchise has peaked. I certainly feel for the many Diablo fans who attended last year’s event, hyped up for the “major Diablo news” only to be hung drawn and quartered by the announcement of a mobile game. Why they did not have even a small amount of content for Diablo III, even a new patch announcement, is completely beyond me. It is sad to see a developer so out of touch with their own community.
Anyways, Season 16 of Diablo III has rolled around. Nothing really new, just buffed sets and native Ring of Royal Grandeur (translation: ~20% more damage). Having accrued a library of podcasts and material that can be listen-watched, I decided it was a good time to jump in and remind myself of how things are. I initially started as a Crusader, but another Clan member also had the same idea, including running Roland’s Sweep, so I jumped ship to a Barbarian as soon as it was sensible. Most folk who were non-committal had stopped at this point too.

Interestingly, for the first time in the longest time, I actually experienced playing Diablo with another individual who has a very similar build and play-style focus as me. As a HOTA Barb, grouping with a Sweep Crusader is just magic. Without the need to communicate, it is very obvious where we should go, where we should stand and when we should move on during difficult rifts. Indeed, pushing above GR100 has been a pleasant and smooth experience, with two builds that are functionally similar and derived from near identical play-style philosophies. It’s intense, but the casualties are incredibly low and group pushing is a joy. Additionally, the group buffs (Warcry & Laws of Valor) and clustering mechanics (Bloodshed, Provoke/Condemn & Sweep Dot) are absolutely game changing. If we somehow had a monk, any monk, I think the team would be completely devastating. Dream Team right there.


Additionally I undertook further investigation and experimentation regarding sustain. Life on Hit no longer uses proc coefficients, and as long as you hit something per ability, you will get the full life return back. This scales with attack speed, but not the number of targets hit. This ... is surprisingly good. Not great, but definitely worth considering, as the amount you can roll on Ancients is huge, and the attack speed you can obtain is utterly ridiculous! For the longest time I was undecided whether to go with Life on Hit this time, or run with the tried and true Life on Resource spent. Eventually I came to the following conclusion…


The results are absurd. Even in my non-optimized gear, I can restore around 200k HP per second. That is 25% of my health, on average. At over a billion toughness when rolling, that is a LOT of EHP. I won’t beat this dead horse any more than I have in the past, but if you are still building without any consideration for sustain in Diablo III as melee, you are doing it wrong, plain and simple. I will rarely dip below half health, and even if I did, I would become near invincible with Esoteric Alteration. There is a reason I completely ignore most damage in the game: math.


Anyways, I did not push as hard as I usually would this season, mostly because the Immortal King set was not buffed as much as others and it is unlikely I will get much higher. The build still works for what it is and its nice being the 2nd highest HOTA Barbarian on US seasonal servers. Observe:

Thursday, September 27, 2018

Battle for Azeroth, apparently

I was pretty excited for the new World of Warcraft expansion, Battle for Azeroth. Excited so much that I started playing a month in advance during the last month of Legion. I put my three mains at 110, farmed gold and generally just waited for its release. Hopefully the new content would bring back some of the spark of not just the PvP content in WoW, but from the Warcraft RTS series as well.

My review of the new expansion can be best summed up as the following: Where?

Where is this alleged battle for Azeroth? It does not exist, from what I can tell. Besides a couple of PvE quests in the vein of fighting the opposing faction, and the somewhat poorly implemented Warfronts (i.e. a PvE raid) there is nothing in the game suggesting a battle for the future of the world.

Additionally, what a horrifically missed chance and exploitative bait and switch by Blizzard. If the intro CG trailer and follow up gameplay videos were anything to go by, you would have mistaken the expansion for being focused on the concept of War, for once. Because ... you know ... it is Warcraft, after all, right? They have to actually bring back Warcraft at some point, surely?

More dungeons, more raids (released at a drip pace), more zones to level. That's basically it. Admittedly the new zones are really quite nice, a huge improvement over the abomination that was the stupid island horror in Legion. Warfronts are sort of fun for rather stupid/broken reasons, and island expeditions can be amusing at times. Otherwise, same old formula for a game that has really not followed up on its heritage. At least in my opinion.

Having said that though, I did manage to do what I always do. Do some PvP, record it, make an interesting video. I actually really enjoyed editing this one, with a lot of thought and deliberation into an editing style, with a track I have had on the back of my mind for a couple of years now. It has come together quite well, so there is that at least.



Not gonna lie, sometimes the things I edit worry me slightly. I might just be a bit darker and malevolent that I like to believe. I am surprisingly ok with this...

Anyways, I have been really disappointed with Blizzard games lately. Overwatch seems ok (despite being a bit too childish for me lately) but a severely neglected Diablo franchise and a very unconvincing WoW universe is ... really disappointing. What frustrates me, is that for folks like myself (and I a certainly not alone in this), addressing the war/battle/pvp element of WoW's universe would be so easy. The game already has a host of interesting battlegrounds, arenas and events. You could modify them ever so slightly (Warsong Gulch CTF with teams of 15, 10v10 arena, AV with no tower caps etc.), make them worth double honour/conquest, and make all BGs contribute to warfront and raid access. Done.

There's your Battle for Azeroth, and you didn't even need to add a thing.

Friday, April 6, 2018

Monster. Hunt. Whirl.

I am getting old. Thirty years of age is a strange age. When you start putting a 3 in front of your digits, you start thinking about where you are in life and where you would like to be. You find the metabolism and regenerative capabilities of your body are not so resilient, and you actually need to exercise and eat well to not expand rapidly. You also realise you start dedicating less time for things you enjoy as things in life (e.g. work) start to take the reins.

Having said that, I never would have guessed that I would randomly pick up and play Monster Hunter: World. Perhaps it was said realisation that I don’t play as many games as I used to, or perhaps I just longed to get lost in a magical world of monsters and slaying once again (i.e. Skyrim). Whatever the reason, Monster Hunter: World has been an interesting experience, one that I have several opinions about that are not all positive.


Certainly the game is addictive. ‘Hunt’ monsters. Equip their body parts. Get better at stuff. Repeat. Admittedly, I found this cycle to be a bit unusual at first, perhaps having never played a Monster Hunter game before. Having actively decided not to hunt real-life animals ever again, I was immediately put off the idea of killing innocent fauna in an environment I was clearly invading. Then, using their various organs and limbs as decorations was somewhat psychotic and just a little disturbing. For a clearly Japanese made game, it perhaps explains why they still have no problem with mass whaling.

The combat mechanics of MHW I also initially found frustrating. Depending on weapon type, you get locked into ludicrously long animation swing times that you cannot cancel, usually resulting in a whiff followed up by getting hit by the monster in question. Against certain larger foes, this process can prove fatal, resulting in gameplay that is very hit and run and timing based that I found far too slow and static for my liking. It is perhaps no wonder that I locked onto and stuck with Dual Blades, the most free flowing and fastest weapon type in the game. It has its downsides, but lack of boredom and keeping of sanity are easily its best perks.



Anyways, long story short, I managed to punch through the game’s story and eventually hit endgame which I can honestly say is also a little disappointing. Unlike games such as Diablo 3, Path of Exile and even Skyrim, there is very little to do besides farming the game’s ‘bosses’ - Tempered Elder Dragons. For me, running a rather predictable tanky and sustain build, this was not overly challenging, despite people on the internet claiming it to be. This leads to another thing …

The online console community is crap. There is little to no consensus on what is good or what works and how best to play the game. Some may think this is a good thing, but when people don’t know or care about basic game mechanics or zealously believe that whatever dumb, stupid thing they are doing is the only way to play, it becomes a serious problem. There is an elitist perspective of “just dodge everything” which is just terrible advice for newcomers. My tempered elder dragon kill times are almost as fast as people stacking full damage, the difference being I clear them 100% of the time without dying. Often forum posts asking legitimate game mechanics questions will be answered by idiots telling them about irrelevant information with no definite answer. Compared to the almost scientific approach that players use in games like D3 and PoE, testing, evaluating and comparing models with room for debate, MHW discussions are a cesspool of ignorance and elitism which makes no sense considering the kind of game that it is.

Perhaps I am just getting old and bitter, but such things I have little time and patience for. I will probably fire up MHW again if considerable endgame content comes out and maybe even again if it comes out on PC. The latter will make the game incredibly faceroll – aiming with a controller is non-existent – but we shall see. Until then.

Monday, February 12, 2018

We are Legion!

Hello. It's been awhile. Let's begin.

I randomly decided to play WoW again for a month. I don't really remember why. Boredom most likely. I mean, in the same month I also started reading The Horus Heresy 40k novels, some of which are actually pretty damn good, and found that I enjoyed reading them more than playing WoW. Funny old world aint it?

I guess the reason for this was twofold. Firstly, the lack of community really did not keep me interested for long. I seemingly am the only person I know who was playing it at the time (at least on Horde/Frostmourne), so having no real reason to stick around was very much a thing. The second reason was really the issues with World PvP on Frostmourne, now that it is almost a 5:1 Alliance population dominated server.

Pretty much every world quest you will do will require you to contest with an Alliance player (or two ... or three) in some way. Due to the new leveling and daily mechanics, this most often than not puts you in the cross-hairs of a max-level/geared raiding no-lifer who literally kills you in 1 hit and can fly. I am not exaggerating here. So, this somewhat staggered leveling experience of "disconnecting randomly" becomes quite a chore for someone late to the game.

World PvP is also incredibly broken with scaling mechanisms heavily favouring the more geared player, especially with legendary perks active. Not having any legendaries puts you at a huge disadvantage, so even in a 1v1 encounter, you are going to struggle. But its never just a 1v1 encounter on Frostmourne as Horde.

Well, screw world activities you might say. I certainly always have, always favouring the much more controlled and interesting battleground encounters. Here at least things were vaguely resembling something balanced, particularly regarding the gearing process, even if I thought the PvP talents system was stupid. Although I never obtained a single Legendary during my journey, I still managed to have a bit of fun with the game, even making a short PvP compilation of some of my more laughable encounters against classes that really should have beat me (e.g. Frost Death Knight).



While I wouldn't say my playtime in Legion was a waste of time, I can confidently say it was the least interesting and gutted WoW experience I have played thus far. Some of that charm from earlier iterations of the game is definitely gone with the rather watered down talent trees and class choices to make. Hopefully Battle for Azeroth brings back some of that old Warcraft energy.

Wednesday, October 18, 2017

QUT - Evolving one's Pedagogy

Since coming back to work at QUT, I have worked hard to evolve my teaching pedagogy further to make the learning processes I employ as efficient and worthwhile for my students as possible. Perhaps inspired by events at my previous employment, a place that emphasized the concept somewhat ridiculously (to it's own detriment), I have noticed gaps in the current curriculum offered at QUT that I feel I am capable of addressing in my own way.

Over the course of 2017, this evolution has come in several forms. First and foremost, I have returned to developing Unity game/genre specific tutorials for preliminary Unity units (e.g. IGB100 - Game Studio 1) taught at QUT. These units line up with other units running alongside the curriculum that I do not directly teach into, with the idea being that students can comfortably walk into these video tutorials with some prior knowledge of the software. The videos are similar to work I undertook several years ago (2013), from which I won a Vice Chancellor's Performance Award for significant contribution to University teaching. Developing them requires careful pre-planning and actual game production, often following a script and scheduling of tasks. One cannot simply wing it and hope that what is recorded is a timely and efficient production.



In addition to this, I have also put considerable effort into the assignment bases I use for more advanced scripting units. In particular, IGB383 - AI for Games is a unit I spent a great deal of time reworking the workshops and assignments for. The assignments themselves originate from semi-complete mini-games that I developed from scratch, complete with working mechanics, artificial intelligence and dynamic environments. I believe putting the effort into these works gives students the opportunity to focus on what is important (in this case, implementation of game AI) but also a platform for emulating game play elements in other subjects. Sometimes learning via example is the only way you can approach a topic, and giving students a smorgasbord of mechanics to harvest and evaluate is often beneficial.



Finally, I have undertaken an additional development task, producing globally applicable, degree wide videos regarding game design and implementation. These videos tackle not just technical Unity/C# topics, but project management and development life-cycle skills as well. It also affords me the opportunity to discuss certain topics which I consider to be very important game design skills and knowledge that are either taught degree wide or not necessarily covered at all during study at QUT. Some of these videos have been an absolute pleasure to make, especially ones where I can communicate some of the more nuanced aspects of game design. I hope to expand on this library, discussing source control, advanced game mechanics and scripting as well as more exploratory topics regarding modern day games.



Overall I have been rather enjoying my teaching run at QUT and hope I am kept on board to continue my work. I still have so much to do and many improvements to make regarding the evolution of my pedagogy.

Tuesday, August 8, 2017

None Shall Pass!

Season 11 in Diablo 3 has been an interesting one, bringing back many friends far and wide to witness the debut season for the 'new' Necromancer class. Having briefly tried the Necromancer pre-season and getting to GR80, I realised that, while the class is certainly enjoyable, the lack of gearing options severely dampens my interest in the class at endgame. Hopefully it is something that is addressed in the future.

Besides this, I have been rocking a Crusader this season, jumping back on the horse to figure out a comfortable playstyle, something I never did in the past. While I originally intended to gear towards running a thorns (i.e. damage reflect) build, I found that gearing for Roland's was quite akin to the old Hammer of the Ancients playstyle I became fond of playing as a Barbarian. As Barbarians have truly been left by the wayside for the last 4-5 seasons in favour of classes that, quite literally, are 10x more effective, jumping ship to a slightly better class employing a similar play philosophy has been advantageous. A lot of the 'tech' and realizations I made playing a Barbarian still work relatively well for a Crusader.


While a Crusader is certainly more cooldown/active defense dependant, similar passives and skills exist that give you strong defensive and, more importantly, sustain options, much like the Barbarian. I have started dubbing this playstyle "fish-tanking", simply because it attempts to maintain an adequate balance between the dimensions of your damage x mitigation x sustain fish-tank. If the dimensions of said fish-tank are inversely proportioned to the scaling of the other dimensions, then the sensible route is to maintain a balance between them to optimize your fish tank's volume. This concept certainly exists in a game like Diablo 3: stacking one type of stat reduces the capacity to stack another.


If your fish-tank's dimensions are 10 x 1 x 1, you will do some extraordinary damage, but you will die as soon as a mob touches you and won't even have the chance to sustain yourself. Your volume (or effectiveness) for handling content is 10. However, if you dial that damage back somewhat, take some time to consider your options in contrast to mindlessly stacking "MOAR DOMAGE!!", you might end up with a more balanced fish-tank of dimensions 5 x 5 x 5. Your volume (effectiveness) jumps all the way to 125. As you can see, that is a huge difference from 10.


Of course, the game's mechanics are not as simple as maximizing a fish-tank's volume. There are things that still kill me in 2-3 hits and bosses that are an absolute nightmare to fight. Additionally, the classes have varying degrees of sustain options, some more than others. The recent Necromancer addition probably having the strongest and most interesting. This philosophy does not work for everyone. However, it has allowed me to climb up to the relative power level of my much better geared Barbarian on live, clearing a GR85 in about as much time as my Barb would. I imagine that by the end of the season I will have eclipsed my Barbarian's power level and may have a new class/build to enjoy as much as HotA, LeapQuake and Whirlwind.

Fun times.

Friday, April 28, 2017

Shrekt

I havn't posted in awhile, so I thought it was about time to shitpost about some random epeen nonsense.

In Season 10 of Diablo III, Blizzard decided not to listen to the enormous library of constructive posts regarding class balance changes and instead decided to do their own thing yet again. This included buffing the highest performing classes even further and introducing Primal Ancient Legendaries.

Primal Ancient Legendaries (or PALs) are basically ancient legendaries that have rolled perfectly. They drop at an extremely low drop rate and are usually pretty crap. This is mainly because a) legendaries usually roll with terrible affixes, and b) terrible legendaries drop most of the time. Getting a well rolled PAL Furnace is extremely unlikely.

They also introduced a requirement prior to them dropping on normal/seasons. You need to clear a GR70 first.

This aspect of PALs has created enormous controversy within the Diablo III community, revealing some interesting aspects about the majority of people who play it. For most players, this 'gateway' is ridiculously unfair, requiring insane amounts of playtime to get thousands of paragon levels, perfectly rolled Ancient gear and leveling your gems as high as possible, not to mention a build that is different from what they are playing. This dismay has been expressed adamantly on the forums, with many people complaining that GR70 is far too high. For example, this post containing the following:

"... I can hardly do T13 let alone GR 70 with my DH. Now I know some will say, ''change this skill'', ''add this item'', blah, blah, blah. But the point I shouldn't have to min max that much! I have level 60 gems, 6 pc set, Ancient items, even Augments. I'm not an idiot or new to the DH either. It's just that GR 70 is a insane Gateway. Make the gateway 50 or 60 or take it away completely."

I had not realized this would even be a concern and initially interpreted the complaints as people joking/trolling. Admittedly my best geared D3 character farted at and completed a GR70 while I pushed to GR90 and beyond. Reading through the comments, it seems the community is very much split on just how easy a GR70 actually is. While I would calmly place my token on the 'is' side of the argument, it seems many, many players would disagree.

So I decided to conduct an experiment: How long would it take me to get to GR70 in Season 10 from scratch?

I decided to play a Demon Hunter, a class I had not invested time in since Season 1 and therefore have no understanding of their current meta. To be fair, I have played every other class in a season prior to this one at some point. Additionally, the Demon Hunter still appears to be the squishiest class in the game (at least on paper), so it would provide an additional challenge.

The end result is as follows...


I attempted a so-so GR70 about 15 hours in after completely solo leveling to paragon 463. I had no ancients, no augments, non-ideal gear rolls, level 50 gems and no prior attempts. I had 4 minutes to spare. What is annoying is that I know I could have done it much sooner if I had not screwed around trying to get Elemental Arrow to work better with the Marauder's set. Probably around the 13 hour mark.


So, in conclusion, people complaining on Diablo forums is nothing new and the GR70 gateway controversy is just further proof that some people don't know how to play the game. Which, for a game going on 5 years old is pretty sad.

I shall patiently await the Necromancer.

Thursday, November 10, 2016

Retaliated

Retaliator's Main Menu
Well, I guess I should make a post about the latest news. I have severely neglected this blog due to work and other commitments, but as this most closely relates to what this blog was originally for, it is perhaps necessary. As some may know, I left my most recent job for a variety of reasons. Probably the biggest reason was the massive difference in work culture from my previous job at QUT, and how some aspects of it (e.g. staff constantly complaining about students) go completely against my own morals and ethics. There are other reasons too, but that is a story for another day...

Hilariously, I acquired a position (starting next year) at QUT within weeks of leaving my job, which was great! However, I needed something to do in the interim, lest I go insane from boredom. So, I decided to finish my game. On a completely shoestring budget of around $1000 and a full-time development cycle of about 3.5 months, I present to you my solo game project, and first real standalone portfolio piece: Retaliator. It is currently on Steam Greenlight.


I guess you could say I am slightly proud of it. It has been a project I have wanted to complete for years, but just never found the time or inspiration to do so. The reason being, there is a lot of work that goes in to finishing a game, even one with as small goals and deadlines as Retaliator. Retaliator is a top down SHMUP (Shoot Em Up) inspired by the classics of an era where game mechanics and explosions were more important than storylines. Having said that, there is one where you are retaliating against alien invaders who are destroying Earth, venturing across the galaxy to make waste to their home world. Working on it over the past few months has been an interesting experience.

Mission 2 - The Dark Side
Part of this experience has been diving into world crafting. As I am not a 3D modeller, texture artist or animator, simplifying the game's potential environmental design has been challenging. Additionally, as I am the sole developer of the game, I have had to rely on various free and paid for assets to get the job done, some of which don't always match the vision I had intended. Having these elements out of your control makes you study and research other people's work with inane levels of scrutiny. Spending your money on assets that do not fit the theme of your game is something to be avoided, particularly if said assets are unlikely to be replaced in the near future. Additionally, the challenges of integrating said content smoothly has been enlightening, often requiring you to reconfigure meshes, swap polygon normals, realign UV maps or just find something better. It is time consuming work, and I now have an even greater respect and appreciation for game artists and the work that they do.

The Zeus under attack
Early township environment
Alien homeworld shipyard
Another time consuming endeavor has been finding the right tune for my game. I originally had my pre-alpha version loaded up with samples from Homeworld and a remixed Nine Inch Nails track. This was ok for testing purposes, but for the final release I needed to find something both free/cheap and akin. This took a long time. There is a plethora of fantastic compositional work out there by artists all around the world, and I spent days lost in various genres, searching for that magical balance of ambience and action. I also learned about the various models of audio copyright, and how royalty free means very different things to different audio hosts. Eventually I stumbled upon the excellent samples hosted at MachinimaSound.com. It suited my purposes perfectly, and was royalty free in the truest sense (i.e. just provide attribution).


Getting people to playtest my game was also an interesting experience. While the two major pre-alpha playtest periods certainly inspired me to develop my game ever further, the level of playtesting provided by folks varied significantly. Some playtesters I barely knew provided extremely deep levels of analysis, providing their thoughts on mechanics, balance tweaks and aesthetic changes that I never would have considered. This surprised me and was very useful in the long run. On the other hand, other people I had known for years provided extremely surface level comments, not even bothering to submit them in the requested format. This disappointed me somewhat, particularly as they knew my passion for game development and my expectation for theirs to be just as high based on their study/occupation. I think playtesting really just boils down to the playtester. If it is not something they take seriously then I should not be expecting serious playtesting. I won't make this mistake in the future.

Special thanks to playtesters so far!
I have also realised that I probably have OCD. There are things, small things, that I will tweak and tweak until they are as close to perfect as I can fathom. Amusingly, some of these are unrelated to code. Visual/particle effects I will happily spend hours on, as well as adjusting sound effects until that echo/reverb/pitch is just right. The balancing of weapons and enemies is something I probably spent far too much time on, to the point where I unconsciously know how good or bad something is, have a bias for it, and don't realise how broken other aspects of it are. I have learned and have witnessed first hand that the creators of the game are often the worst testers and tweakers of the content as they are burdened by scope. Sometimes a simplistic, ignorant view of the world is more useful.

Tweaking this scene induced epileptic symptoms :(
Finally, the endless scripting. It is what I do after all, but somehow I value it the least these days, despite it being 70% of the game. I have had my head in code for nearly 3 months. I have no idea how many lines of code I have written. Probably over 10000. Everything is just a blur of loops, conditionals and vector math at the moment. While I had most of the core mechanics completed the year before (3 week's work), much of it required re-tuning and rewriting. Overall, it is probably not the best code I have written, and I am sure I could have saved a few lines in several places. However, it is not important. It is a fallacy of the programmer to think that their code needs to be completely perfect and efficient, and how this will automatically translate into amazing game play. I have seen this mistake in my own work and in the work of students, and it is illogical. You could spend all your time designing a funky algorithm or a system of complex co-routines to handle your state switching and then watch it all fall apart as unexpected complications arise. Never over-design something that should be simple. Use what you are comfortable with, especially when it makes sense to. Code is invisible for the most part, and as long as your game's frame rate does not tank because of your code, then your solution is appropriate. Mostly.

See? Lightning bolts!
It has been a lot of fun working on Retaliator and it is still a project I will revisit in the future. However, for the moment, it is a project I will be taking a break from. While I would like the game to become popular enough for it to be sold (providing additional polish), it was honestly never the goal of the project. I finally have a portfolio piece, a game I can point in the vague direction of Steam and say "that" and "this is what I can do" without being embarrassed. It is a good feeling, and a life goal that I would never have accomplished if certain circumstances persisted. Leaving my work to sort it all out might just be the most sensible thing I have ever done.