BLOG : Dark Acre
buy ampicillin online fails confusionExcessive ventolin wouldnt timestorn secretly clomid strength circle Retirement buy amoxicillin online himself to palmetto theseIf zithromax investigates above Offering propranolol renting tics depressionWere

Day 1,674



Did the dailies, updated some plug-ins, ended up with a half-day.


  • Woke up at 0510. I neglected to mention it yesterday, but I was asleep by 2230. I guess my body needed a bit of extra rest; learning to listen to & accept that was the hardest part of my adopting my sleep discipline.
  • Pretty sure I had a GTA V dream, so I didn’t start the day with it. Instead, I cooked up the 1AD entry. The hand is less sore, but the eye becomes evermore critical. It’s more painful to publish these images than it was the writing, even though both are horrible & unedited sketches. Just another barrier to punch through, I suppose.
  • Spent some time in email. I use a really old, almost feature-free webmail software. I used to be a Google-head, using all of their products with evangelical zeal, but at some point last year I decided I wanted to remove as much of my fingerprint from their services as I could. I just had a nagging, dirty feeling about it, so I switched to non-cloud services. I check my email once every few days, I don’t get notifications, and I only keep a month’s worth of billing & receipts in there (for regular budgetary archival). It’s pretty much the same way I went with the telephone: I let it ring & the machine silently collects messages that I review at my leisure. I’ve never missed an opportunity using these methods; if it’s that important, the callers/senders will wait. I’ve also managed to keep a spam-free zero inbox since the switch, so whatever protections GMail was supposedly offering were probably based more on who I gave my primary email address to than anything else.
  • Updated PolyTools & XFormer, a couple of the core plug-ins I use with 3ds Max. I don’t know much about UV unwrappers aside from Max’s built-in stuff & PolyTools, but I started using PolyTools very early in my career & swear by it for the overall efficiency bump it gave me. There could very well be better tools out there; I think with a lot of the development-related workflows most of us will stick with what we get comfortable using & then if it doesn’t break we don’t seek to fix it. There’s probably a lot of stuff that gets overlooked because of this mindset, but there are really only so many hours in the day for learning & adopting new methods of doing things.
  • Updating the plug-ins showed me that the OpenSubdiv system is now part of the standard Max install. For some bizarre (likely business-related) reason, Autodesk walled that features off behind the subscription system in ’15. Now that it’s “free”, I guess I should spend some time figuring out how it works, as I recall being very interested & then very frustrated about the crippling of the standard version.
  • Grabbed a quick 15.
  • Tested PolyUnwrapper & found that it needed a serial code. Found that I’d lost the serial code. Contacted Jorge, the creator, & am waiting on a response.
  • Decided to open the Trello board I was thinking about yesterday, will be nice to have all the todos collected into a single convenient dumping ground.
  • Started in on the day’s writing session, as prior engagements mean I’ll likely be occupied for the afternoon following the gym, & I dislike writing in the evenings.
  • Checked in with Steam. Aside from seeing that GTA V still on top of the Top Sellers charts, I was reminded of Valve’s (&, I would imagine, Bethesda’s) decision to allow paid mods for Skyrim. Though I didn’t mention it in yesterday’s ramblings, I did spend time here & there gauging the response to that move on various forums. A lot of folks made their entitlement known, though it’s not unusual to find a lot of Internet-based commentary on videogames devolving into “it should be free/cheaper”. All that Valve & Bethesda have done is apply the principles of a free market to a single videogame, yet many folks believe it’s the end of the world. I wonder if there was this much open revulsion when the original idea of the free market was proposed? At any rate, a topic far outside the bounds of this little diary, though I suspect I’ll be reminded of it on a daily basis going forward. As much as some folks revile Valve/Steam, they really have been groundbreaking in the way we perceive digital sales of videogames.
  • Finished up the writing session. So distracted by this dumb paid mod issue. Should record a podcast about it in a week, after it’s floated around a bit more.
  • Headed out to the gym for the 2nd-to-last afternoon session. So glad that’s almost over with, & it’s back to 0800 starts from next Wednesday. That’s been the only drawback to using the university gym: you’re beholden to whatever extra-curricular events they need to hold on the floor. So far it’s only been a couple interruptions like this per year, so it’s a small sacrifice to make to paying next-to-nothing for an Olympic class facility.
  • As expected, family business ate up the remainder of the day. Did manage to have a nice session of GTA Online with some of the crew from Colony of Gamers. Did a couple of heists & had a great time.
  • Not certain about how to approach the coming weekend. #ScreenShotSaturday always feels like it’s something I should do, & I’ve been meaning to set Saturdays aside for modeling & rendering assets for that. We’ll see how it goes.


Monthly Breakdown

  • Game Development: ongoing Unreal Engine study with a focus on Darkade #1 “Unreal Edition Invaders”.
  • Writing: Re-formatting & ret-conning existing works for re-release. Data entry into articy:draft 2 for continuity & visualization. First-drafting an “interlude” novel for the core Solarus series, currently 10K+ words.
  • Misc: Web development for new Dark Acre storefront page. 1AD art entries. Autodesk ’16 study (3ds Max, Mudbox, Motionbuilder).

A Year of Words

This is what a year's worth of random wordsmithing looks like. Report courtesy of Word Stats Plugin for WordPress.

This is what a year’s worth of random wordsmithing looks like. Report courtesy of Word Stats Plugin for WordPress.

Back in April of ’14 I decided to start writing every day. It was a simple decision to make, one with a binary output: either I’d write or I wouldn’t. So I chose the former, every day, for 365 days.

It wasn’t easy at first, & like most new disciplines it was excitement that quickly devolved into drudgery, & took quite some time until a regular rhythm developed. Early on, there were days where I’d “bank” a handful of entries, just to ensure that something got published every day. After a while that felt like cheating, so I’d restrict myself to publishing new content on the day, & only pre-write if I knew that other things would be getting in the way of the practice. One thing is certain: engaging in a daily creative task raised a keen awareness of exactly how long a year is, & it is long indeed.

The end of the first year of the project doesn’t mean the end of regular writing; quite the contrary. Now that I have a vast body of precedent that shows I can produce at least 500 fresh (& hopefully “good”) words every day, there’s been no reason to stop. In fact, the 1AD exercise was a bit of an unfocused mess (aside from the attempt at completing last year’s NaNoWriMo in November) & rather than a coherent piece it consists of little fiction fragments, poems, character sketches, & random quotations. Going forward it’s critical to direct that energy into crafting more publishable work.

Furthermore, the 1AD project continues in a somewhat mutated form. As the base practice has been to demonstrate a tracked improvement in a given skill, so now it turns to visual design & rendering. I’ve started spending the time I previously allocated for the writing on drawing. I’m looking forward to seeing the difference a year of this kind of focused study can have, & I hope you are too.

Unreal Developments

I think I burned out around the 40th day of constant pounding through the Unreal Engine. I’d done a lot to try & avoid that condition, as it’s one that I’m intimately familiar with, yet I still managed to fall victim to over-working.

As of this writing I’m trying to restructure my daily work schedule to find a comfortable balance between writing, drawing, & game development. In addition to those 3 core disciplines there’s a lot of work to be done with 3D modeling & Substance-based texturing, as well as remaining healthy & building strength through physical training & running.

I pushed for the lifestyle of an independent creative developer because I felt it would be something that would challenge every fiber of my being. If anything, 2015 is proving this 100% true.

As always, thanks for your continued attention, & I hope I’m providing something of value to your own life.

The paradox of maintaining global constraints while being free from local ones in the moment-to-moment act of creation.

Day 1,673


Strange to think that, had I done this every day since founding this lunacy, I’d have 1,672 of these littering the website; a trail of dried and drying blood droplets marking the long trek toward solvency as an independent creative developer (I don’t mind the term “indie”; it’s amorphous enough to fit my circumstances, regardless of whatever the stigma du jour is).
I have no idea if I represent any kind of norm when it comes to gauging the success of an indie; I doubt there even is one. Some of us make it early, and young, while others die having never recovered their sunk costs. It’s the nature of the business, where hard work is the baseline requirement and a mere prerequisite for “winning”, not a guarantee. The only certainty I’ve found is that, no matter how much you love the work, there’ll be days when it hurts so bad you just want to give up.
That’s when the lunacy starts, for there are times when giving up is the best option, and ignoring the opportunity to escape is madness.
For 42 days I tracked my progress with the Unreal Engine. I’d felt a little saner for the daily recordings, and the response from the various communities was positive and encouraging. The thing with that, though, was that there was a lot more to my day than just sitting in the engine and trying to make a videogame happen. I started to wonder how much of the other flotsam and jetsam of my life as an indie would be of interest to people. Once I ran out of enthusiasm for plugging away at the project I’d started, I realized that my days were less about Unreal and more about survival. To accommodate the new technology I’d put a lot of what makes Dark Acre what it is on the back-burners, things that require regular attention if I’m to make it through the next couple of years. To that end I’m converting the Unreal Diary into a Dark Acre Diary, and will be attempting to do a daily exercise of chronicling my indie activities. If that’s not up your particular alley, you can feel free to skip these entries (they’ll be obvious, the ones marked “Day X,XXX”). If this is interesting to you, and you’d like more detailed insight into this lifestyle, feel free to drop me a line at



Some solid writing, decent progress in 3ds Max MCG, organizational stuff.


  • Woke up at 0440. A little late these days, been going to bed late for whatever reason.
  • Mucked around as Trevor in Los Santos. Working on 100% completion (for the 2nd time) mostly to have full access to the video creation assets. Not gonna lie: this game has mangled productivity.
  • Just another day at the office.

    Just another day at the office.

  • Considered the day’s tasks. Acquired the 2016 offerings of my Autodesk trinity (3ds Max, Mudbox, & Motionbuilder) a couple of days ago, & found out about the Max Creation Graph yesterday, so it’s been on my mind. Also struggling to assemble a proper storefront for Dark Acre, spent a lot of yesterday massaging a broken WordPress template & not managing to get it to work. Added that to today’s todo list, a thing I manage in Momentum. Contemplating shifting that to Trello, along with more of Dark Acre’s overarching tasks & micromanagement.
  • The gym’s been dealing with exams since last Wednesday, which means it’s only accessible for an hour at noon then from 1600 to 2000. I’d been going up after the morning runs for a stretch, & to take advantage of their foam rollers, but with such a late start it would mean starting a run around 1120, & there’d likely be some sports activity on the athletic track. I decided to go for a dawn run, & that meant leaving at 0550.
  • The run was good, solid performance. It seems most of the issues I’d had with the pull in my left calf are gone, & I’m averaging 400 meter laps at 2:20. This is about the same pace I was setting when I was 27.
  • After the run I stopped at the local McDonald’s for a write-in. Penned the intro to this post & put a couple thousand more words into the 1st draft of the current Solarus book. It’s going OK, as far as these things go, & after spending an entire year writing every day I find it’s fairly easy to “slip into the flow”, even typing on a Zagg folio into Word for iPad at a busy McDonald’s (though, to be fair, Nanaimo busy is closer to a Vancouver Sunday night). Had a medium coffee & a sausage & egg McMuffin with extra bacon.
  • Took care of some grocery shopping. While in Japan I developed the habit of not stockpiling food, & instead buying fresh every couple of days. It’s a nice routine if you can manage it; since it’s time spent away from the “development cave” at Dark Acre it’s important to enjoy it. Apples were on sale. My personal food spend for the last decade has been under 200 bux a month, sometimes under 100. There are times when I miss being able to eat out at nice places as often as I did when I was last earning a decent salary, but for the most part it’s nice to know that it’s possible to survive, & thrive, on a very limited budget.
  • Cleaned up & was back at the desk at 1030. Checked the Steam sales, more out of habit than with an actual interest in buying something. I find it good practice to study the movement of the markets, & Steam is one of the most accessible sources of info. Interesting to note that Steam (Valve) launched paid mods today, that’s something I’ve always thought they should’ve had. I think way too many creators give their stuff away for free, but that’s a topic for a whole other article. Ended up pre-purchasing WWE 2K15. I’ve been a fan of the spectacle of pro wrestling for ages, & I think this is the 1st time a major licensed WWE game has been on PC. Should be fun.
  • Spent 45 minutes catching up on whatever was sitting in my Feedly & new posts on Tumblr. I get a minimum of industry news this way, & a maximum of design inspiration. I mostly collect news via Facebook these days anyway, say what you will about that (I find it efficient, after years of curating my Timeline & organizing my notifications).
  • Grabbed a quick 30-minute nap. There was a time when I felt guilty about sleeping in the afternoon, & there was a time when it was an actual symptom of diagnosed depression (long since dealt with through professional help; if you’re suffering or even suspect you might be depressed, go get yourself looked at. It might save your life.) I’ve found one of the best ways to combat those feelings of guilt is to get up early & have a super-productive morning. Then it’s not so much an escape from responsibility as a much needed recuperation from exertion. 30 minutes in exchange for an hour of physical training & several hours of writing is a pretty fair deal, in my books.
  • Clocked a few of the MCG tutorial videos & added more to my 3ds Max notes. I’ve made these public (as with the Unreal Engine notes) because why not? Not sure if they’ll be of any use to anyone, but there might be some treasures hidden in there somewhere.
  • Took a Daredevil break. This show is pretty good.
  • Cooked a few days’ worth of bean salad while polishing off more of the MCG tuts. Though not completely wart-free, it looks like MCG will do what all visual scripting does for code: make custom tool-writing more accessible to the visual-minded & script illiterate. I like it.
  • Once the beans were done I also cooked up a batch of stir-fry. That’s the meals taken care of for a few days, all for pennies & less than 30 minute’s attention.
  • Spent the rest of the afternoon clearing out the rest of the tuts up to the “Make a Baseball”, will deal with that one before working out tomorrow. Grabbed another nap before the evening stretch.
  • Finished up the work day with the 1AD entry, a figure sketch using a grid transfer method. Turned out pretty close, will do more like this in the future for practice.
  • Totalling the morning prep, the McDonald’s writing, the afternoon of MCG, & the evening drawing session I got about 7.5 solid hours of work out of the day. Not so much straight gamedev (not any, really) but all valuable contributions toward Dark Acre’s success.
  • Posted about beating CounterSpy on Facebook. This is a thing I do, marking beaten & completed games as “Life Achievements” with a little mini review. I only review & recommend games I’ve beaten, too. I think that’s only fair.
  • Threw another hour into GTA V, bringing completion to 31%.
  • Finished reading Hamlet to close out the day.

Unreal Diary – Day 42

UE4 4.7.5 | 2.5~ hours in-engine
Personal notes via Google Docs
Unreal Invaders Trello board

Started the day with a drawing, made sure the Year 1 page was loading correctly on the 1AD project, & looked again at establishing a pipeline from articy:draft 2 to ebook output. I think I had a little revelation today about “securely typing words”. What I mean by that is, being able to confidently input new text into a given word processor & be sure that it won’t go anywhere, & be comfortable to view & edit. I don’t believe that articy satisfies this very well. 1st & foremost: there’s no autosave. There’s been requests on the forums for such a feature, & the response has been that the way articy saves makes it difficult to implement. Unreal Engine 4 has an autosave. I don’t really think there’s much excuse other than development issues, but until such an important feature exists in articy I will not be using it for authoring texts. It’s still great for diagramming information, just remember to hit CTRL-S after major input sessions…

Another issue with articy is the actual input editor is a little clunky. The color scheme isn’t customizable (orange paper, really?) & it seems the character input/output is different from Word ’13. So is the file format, which makes import/export a bit of a mess. Finally, the lack of any kind of cloud-sync makes traveling & working a bit of a headache. If articy had a slightly more robust editor, with auto-save & cloud sync, I would likely use it as the primary writing tool. Until then, I’m living in Word ’13, which means I can now remove articy from my chain-to-ebook flow & look into going straight out of Word.

Darkade (UE Edition) #1 – Unreal Invaders, Day 16

  • Finished up the resource collection stuff with UI & destructible collectibles.
  • Started work on a system for spending said resources, 1st for shield regeneration. The basic logic is: Check for required resources > check for empty shield slot > if more than 1 offer choice > place shield. The “if more than 1 offer choice” Blueprinting is going to take a while.

Got a lot done on the writing/drawing side, & some progress on the Unreal side, but family drama murdered 6 hours out of the middle of the day. Hopefully tomorrow will be more uneventful.

Unreal Diary – Day 41

UE4 4.7.5 | ~6 hours in-engine
Personal notes via Google Docs
Unreal Invaders Trello board

I kinda feel stupid for blowing yesterday on a videogame, especially one that I’ve already beaten to completion, but sometimes you have to give in to your desires & get those things out of your system. The risk is, of course, losing yourself to the distraction completely & wasting the precious conditioning you’ve built up. Here’s hoping I can rebuild the Unreal momentum going forward.

Also a bit silly to mark yesterday as both Diary & Invader days, but I’ll take the hit as a kind of self-punishment & reminder of the importance of maintaining this practice.

Darkade (UE Edition) #1 – Unreal Invaders, Day 15

  • Spent most of the morning reviewing the status of the project & cleaning up Blueprint graphs.
  • Shifted over to trying to set up a proper pipeline for authoring ebooks out of articy: draft 2. The previous 3 books were all done in HTML, & produced stellar results, but actually authoring the books & converting to clean HTML for reformatting as .epub (Apple Books) or .mobi (Kindle) is a pain. Articy has a text editor built into it, 1 that exports 1:1 to Word, so I’m hoping there’s a nice way to go from articy to Word to HTML to final format. An hour dicking around with this didn’t produce any usable results, but I’ll keep at it over the next few days until I’ve exhausted all the potential.
  • Spent some time tweaking the enemy firing delay to prevent mass-spawning of bullets when fewer/faster enemies remained. Was reminded that Delay nodes can’t be placed inside of collapsed nodes/functions & can only exist inside the main Event Graph. Apparently this is to avoid errors, & it all worked out in the end as I was able to establish a general firing delay switch.
  • Made some bean salad. This is another staple of the diet, 1 I recently added to my regime & have been super-happy I did. It’s cheap, nutritious, & tastes great. As I did with the stir-fry, here’s the recipe:
  • Dark Acre Jack’s 3-Bean Salad

    1. 150g x 3 types of dried beans (450g total). I use red kidney, chickpea, & pinto. 3/4 cup apple cider vinegar, 1/4 cup olive oil. Lots of fresh water.
    2. Wash & soak the beans for 8 hours. I put the beans in separate bowls, cover them with an extra inch of water, & cover the bowls with paper towel (that I’ll reuse the next time). The paper towel is to keep dust & junk out of the soaking beans.
    3. Rinse the soaked beans & put them all together in a big pot, cover the beans with an inch of water, & bring to a full rolling boil for 10 minutes. Occasionally stir & skim the foam.
    4. Turn the beans down to half heat to simmer, & top up the water. Simmer for 50 minutes, occasionally stirring.
    5. Rinse the beans & place in a large, sealable bowl. Mix the vinegar & olive oil & pour over the beans. Stir until coated & refrigerate.
    6. Makes a ton of servings & will keep a long time due to the vinegar. Stir before serving!
    The magic fruit. At pennies a serving, this stuff goes a long ways towards indie survivability.

    The magic fruit. At pennies a serving, this stuff goes a long ways towards indie survivability.

  • Finished up the basic projectile/enemy firing stuff with projectile-on-projectile collisions cancelling each other out.
  • Built a basic UMG UI for handling resource collection. Built the Resource Actor & associated behaviors. Trying to decide if I want them shootable or not, I’m thinking that I do.
  • Straightforward "spawn-from-kill-then-collect" system, took only minutes to construct in Blueprint.

    Straightforward “spawn-from-kill-then-collect” system, took only minutes to construct in Blueprint.

  • Spent some of the evening inputting more of the Solarus universe into an articy:draft 2 project. I’m still enjoying using the tool, even if some of its quirks have me using workarounds for authorship (mostly eschewing the Locations tool for simply creating places as linked Entities). Giving an older “interlude” story some love, still not certain what the next book in the series will be, but there are the skeletons of at least 3 novels waiting for more meat to be thrown onto their hungry bones.
  • Also put in an hour of drawing in preparation for tomorrow’s changeover from writing to rendering in the one-a-day project. It’s not going to be easy, but it’s going to be necessary.

  • Felt like a super-long day where I got a lot accomplished. Missed the Unreal livestream on AI, gonna have to catch up on that at 2X speed at some point.

    Unreal Diary – Day 40

    UE4 4.7.5 | ~0 hours in-engine
    Personal notes via Google Docs
    Unreal Invaders Trello board

    Ended up bailing on this month’s Unreal Jam. It worked out; the concept we’d come up with wasn’t lighting up the night skies with fires of inspiration, & I could tell by early Friday that having K-Wright over was going to be a major (-ly excellent) distraction. Instead took the weekend off for videogames, movies, bacon strips, & friendship. That’ll likely turn out to be one of the better decisions I’ve made this year.

    There is a second jam opportunity coming up in a few days, that of the Ludum Dare 48-hour solo compo. I’m not feeling 100% confident in my abilities with Unreal to really take a solid stab at it yet, so it’s back to knuckling down on this Darkade exercise & pushing it around until it’s in playable form.

    Before that I drafted up the last daily entry in the one-a-day writing discipline. It’s been a long, grinding journey to get here, & 1 that had seemed at times impossible to complete. Have all the things I’ve written been amazing, worthy of publishing for money? Of course not, that was never the intent. Just as the regular lifting of weights is almost never considered when admiring the physical form they produce, so this exercise of putting pen to paper (or in my case, characters to screen) has been about the steady, disciplined practice of writing.

    When I run, it’s in looping ellipses on a standard 400-meter athletic track. I do up to 16 laps of this rubberized circuit, 3 times a week. When I started, it was one of the most horrible, mind-numbing things I felt I could do, outside of regular employment. In the face of game development, writing, playing videogames, sleeping, or any of the other activities that I could choose to make up my day, the pounding ’round & ’round of the run seemed by far to be the biggest possible waste of time. Yet slowly, over time, I learned to appreciate the process, & to feel each stride as a focused step forward in a kind of meditative self-improvement. I discovered the joy in it, so much so that I now look forward to the hour I spend running in those circles. So it’s become with the writing: what was once an oftentimes dreadful grind has become a task that I can look forward to with some relish. The ideas don’t always flow with ease, but after 365 sessions there’s so much precedent to look back on that it’s become impossible to sit there & say “I can’t do it”, because I have done it, hundreds of times. That’s the sort of empowerment that true disciplined practice will grant.

    I’m hoping the same thing happens with Unreal. Inspiration & motivation are fickle, fickle muses, & not to be trusted nor relied upon under any circumstances. It’s far better to replace them with disciplined process, where even on days when you’re at your lowest you can still fire up the machines & go through the motions. I believe that it’s through that acceptance of the joy of the work that long-term happiness & success are achieved.

    Darkade (UE Edition) #1 – Unreal Invaders, Day 14

  • Updated to 4.7.5.
  • Installed GTA V.
  • Destroyed any chance at productivity.

  • We’ll try this again tomorrow…

    Unreal Diary – Day 39

    UE4 4.7.4 | ~4 hours in-engine
    Personal notes via Google Docs
    Unreal Invaders Trello board

    Gonna try my best to get the speed calculation for the predictive firing algorithm down today. K-Wright’s hitting town at some point in the morning, at which time I suppose the Invaders portion of this diary will pause & be overtaken by the April Unreal Jam tracking. It’s going to be an interesting, busy, wild weekend here at the Dark Acre, but I welcome the challenge & the company. Game development can be a supremely lonely road to wander, so you take your traveling companions where & when you get them.

    Darkade (UE Edition) #1 – Unreal Invaders, Day 13

    • This isn’t even going to be a full day, more like 2 hours of trial & error because my linear algebra is 20 years old & covered in a thick layer of dust & there’s a jam (& a million other house-guest-y things) to attend to.
    • While working this out I’d wondered where & how to access BP nodes that I’d been favoriting. Turns out that I’d hidden the Palette window at some point; if I’d had it up I would’ve seen that they’re right there in the top half of that panel.
    • Can't remember why I hid the Palette from the Blueprint editor, but I did, making it impossible to find the Favorites.

      Can’t remember why I hid the Palette from the Blueprint editor, but I did, making it impossible to find the Favorites.

    • I think I’ve got it hammered into a reasonable state. There’re many hours of fine-tuning & adjustment remaining, but always remember the key to reaching a refined state is to cut out some raw & rough blocks first! I don’t think K-Wright’s taking the earliest ferry over (it’s 0600 here now) so I’m gonna grab a run now, then come back & try to Fraps up a quick overview of what I’ve done, as it’ll be faster & clearer than a ton of screenshots.
    • Looks the video encode is going to take around 8 hours (I’m trying 60fps 1080p for whatever dumb reason) so hopefully it’ll get embedded in here before I publish. If not, look for it tomorrow in lieu of any Invaders update.
    • Video ended up finishing just at bed-time, see below.

      Watch in full screen at 1080/60 & 2x speed for maximum enjoyment.

    April Unreal Jam – Day 1

    • The theme is “Don’t Put All Your Eggs in One Basket“. Very Easter-y.
    • Spent some time brainstorming with Ryan. Some ideas we had: 1st person survival horror where the player pokes alien eggs with a stick to prevent them from propagating; hub-based evolution rogue-like where the player must consume, die, & evolve; Easter egg pinball.
    • Without really deciding on a clear direction it was time to begin production. Trello board starts to fill out. We’re also using Slack for team management.
    • K-Wright arrived, short vacation & drinks also arrived, rest of the day was a wash on my end

    Hope to be somewhat more productive in tomorrow’s session(s), we’ll see how it goes.

    Unreal Diary – Day 38

    UE4 4.7.4 | ~5 hours in-engine
    Personal notes via Google Docs
    Unreal Invaders Trello board

    Time to take one more significant stab at the predictive firing system, & then do some work with basic UMG UI.

    Darkade (UE Edition) #1 – Unreal Invaders, Day 12

    • Oftentimes when delving beyond surface design in game development, you’ll be constructing a function & step back & think “holy crap, this is complex as hell”. This can mean a couple of things, mostly either: A. There’s a simpler way or B. You’re building something smart & unique. Now, don’t get too caught up in the “smart & unique” if that’s what you happen to be doing because there’s a very good chance that someone, somewhere, has done it before & better than you. But do acknowledge that not all complex creations are necessarily inefficient or on the road to unworkability. If the code/graph/model whatever still make sense to you & you can properly document it, keep going.
    • Such was the case with further expansion of my predictive firing algorithms. It’s artificial intelligence, after all, & the measuring systems that 1st handle environmental input are, by nature going to be complex. The more complex they are, the more detailed & accurate the data they pull from the gamestate is going to be. I probably could have made my life a little easier by setting the far left of my Spawn BP to, but I didn’t so here we are. The functions I’m using to find horizontal distance between the avatar & potentially firing enemy are: if the Location X values have opposing signs (+/-), ABS(Avatar Location X) + ABS(Enemy Location X), & if not ABS(ABS(Avatar Location X) – ABS(Enemy Location X)).
    • Function used to check if enemy (self) & target Avatar are on opposite sides of zero.

      Function used to check if enemy (self) & target Avatar are on opposite sides of zero.

      Here's the normalizer, with the collapsed Inverse Sign Check from above piping into it. Works as intended.

      Here’s the normalizer, with the collapsed Inverse Sign Check from above piping into it. Works as intended.

    • I’ve got the BP pulling all the data necessary for calculating the speed a projectile needs to be going to hit a player that refuses to take their foot off the horizontal gas, just need to implement the correct math.

    A friend is coming in from out of town, so the next few days might be patchy. The April Unreal Jam also starts tomorrow, so that’s going to make things extra busy. I plan on participating again with Ryan, so if the GitHub stuff we’ve set up works out it should be a lot more productive than the last. Plus I’ve got a much better understanding of Blueprinting than I did 3 weeks ago, so I’ll be able to do more than just produce 3D assets. We’ll see how it goes.

    Also serious props go out to my new friend Luis Cataldi in Unreal’s educational materials division, for not only bearing with this sometimes disjointed & rambling account of a lone gamedev’s journey into UE4, but also for hooking me up with some sweet swag. Much love, Luis!


    Unreal Diary – Day 37

    UE4 4.7.4 | ~8 hours in-engine
    Personal notes via Google Docs
    Unreal Invaders Trello board

    Woke up at 0400, feeling the gravity of this life pushing down with its comfortable & not unbearable weight. I’m so close to completing the task I set out for myself almost 1 year ago, the job of writing every day. In a week that’ll be done, & I’ll be left wondering if the exercise improved my skills or not. I’ll leave more post-mortem-y thoughts for when the thing is buried & in the ground, but I can say that it’s been an amazing ride & I recommend it to anyone who needs a kick in the creative ass: sit down for 30 minutes a day & just produce something. Publish it too, even if it’s complete shit (& most of it will be). Some folks say you need to get all the cheap ideas out of your head so that you can get to the prime cuts, & if I’m not near the juicy meat after 365 attempts I might need to look at a change of career.

    Darkade (UE Edition) #1 – Unreal Invaders, Day 11

    • Diving into the ongoing task of creating “more interesting than zombie” AI when it comes to my enemy firing logic. Yesterday I tried to execute on my original vision for the system, which involved additional colliders parented to the avatar, one to either side on the horizontal, that the enemies could tag with their raycasts & launch a projectile at a speed that would hit players if they kept moving.
    • Multi-collision building probably isn't the greatest approach.

      Multi-collision building probably isn’t the greatest approach.

    • Because I’m using Tag detection in both the ray hit & destruction BPs, what ends up happening is the ray detects the component with the “Left” tag & fires a projectile, which then destroys the whole avatar if it hits the Left collider (because the parent has the “Avatar” tag & that’s keyed to kill/damage the player). While this is a perfect illustration of the Tag & ray hit hierarchy, it’s 100% not what I want. Time for a re-think.
    • Using a long Box Collider now instead of the two separate ones, as it makes more sense & is less of a “complicated mess” than the two orbitals. Still need to sort out the speed/distance calculations, that’ll have to wait until after the gym. It’s going be nice to get back in there since the last session was 5 days ago.
    • Long day of trial & error. Ended up being able to grab an arbitrary distance value from the avatar BP, & sketched out some calculations/pseudocode for what needs to happen next. I swear, though, if it takes another day to get this feature working I’m gonna just work on some other aspect of the game. Falling far too easily into “tunnel vision mode” recently, & need to step back to maintain perspective.
    • Mad science or just a weak grasp of basic mathematics? You be the judge!

      Mad science or just a weak grasp of basic mathematics? You be the judge!

    Unreal Diary – Day 36

    UE4 4.7.4 | ~6 hours in-engine
    Personal notes via Google Docs
    Unreal Invaders Trello board

    1st order of business is to try & complete a reasonable evaluation of articy:draft today, as the current promotion expires either tonight or tomorrow at midnight, & I’d really rather be working in Unreal right now.

    Note that I’m not in any way affiliated with Nevigo, the folks who make articy:draft, nor any of the other tool-makers I talk about on the blog. Though maybe I should be, that could be a decent revenue side-stream :) Corporate sponsorship could go a long way in funding the next big thing around here…

    Jack Evaluates articy:draft

    • I didn’t mention this yesterday, but their promo videos on Steam were kinda creepy. They do a good job of explaining what the tools can do, but the presentation is so soulless & robotic it’s a little disturbing. If you can’t communicate your passion for your product, maybe hire people who can. But! Let’s not judge a book (or in this case, a rather expensive management tool) by its cover (sizzle videos).
    • Installing (Windows 8.1) is a breeze, though it seems like the installer doesn’t actually register the key they gave me. No big deal, it lets you input it after launch. Weird that it has to ask twice like that, though.
    • Launching opens up a tutorial window, one that is dynamic & will change based on what you click in the main toolset. There’s also this little tutorial progress bar in upper right of the main window, so that’s a kinda neat way of showing how much you think you know about the tools.
    • I'd imagine Unreal Engine's version of this would take a very long time to fill indeed.

      I’d imagine Unreal Engine’s version of this would take a very long time to fill indeed.

    • It’s worth noting that the tutorial window for each feature also contains a link to the related section of the official articy:draft documentation, which further links to a related tutorial video. I really appreciate this level of instruction, as it makes it really difficult to come back later & blame the developers for not showing you how to do things. Also saves having to Google 3rd-party walkthroughs done by people with colds & broken microphones.
    • The core videos linked in the docs are more than 3 years old, if that’s a concern.
    • Since there’s only 10 videos in their walkthrough playlist, & they’re all relatively short, I decide to watch them all 1st & make notes.
    • Took some detailed notes, if you think that might be something helpful I’ve compiled & shared them in a Google Doc.
    • While working through the feature videos I found out that there’s a fully-featured document editor built into the toolset. This could very well be the exact thing I need to finally bridge my writing and game development careers. My interest level in articy:draft has radically increased.
    • It took about 3 hours to get through everything to a satisfactory level of understanding. I’m going to spend some time now to see how much of it stuck by translating some of the Solarus storyline into a articy project.
    • The time seemed to pass quickly, made easier by the clear documentation & straightforward workflow.

      The time seemed to pass quickly, made easier by the clear documentation & straightforward workflow.

    • After inputting some of the data I can say without a doubt that articy:draft is far more useful at visualizing story data than a spreadsheet. Is it 100+ bux more useful? That’s really down to individual budgets & use-cases. As I’m currently embroiled in universe-building for two major projects (Solarus & The Child), & providing I actually sit down with the tool on a regular basis & put it to good use, I can see this helping me out in the long run. The only downside (aside from the price tag) is that the overall support seems sketchy. The age of the videos is a concern, but that seems to come down to more of a “it didn’t break, so we didn’t fix it” situation. Sometimes it’s good for tools to rapidly evolve, as has been the case with Unreal Engine & Substance. Other times you want a certain amount of stability, like how I like my 3DS Max. I think that as it stands, articy:draft is a solid working tool that fits my needs. I’m biting the bullet & making the purchase.
    • As a quick side-note, after downloading & installing articy:draft via Steam it recognized the project I’d created during my study & made it available from startup.
    • Always nice when work you do in a demo comes right into the full product.

      Always nice when work you do in a demo comes right into the full product.

    Hopefully that gave a useful glimpse into a minor “side-quest” on the journey of the Unreal Engine. Could it have been omitted from this diary? Probably, but as it was what I spent my morning on today, I didn’t see the harm in including it. So there you go. Now it’s time for a run & then on with our regularly scheduled programming…

    Darkade (UE Edition) #1 – Unreal Invaders, Day 10

    • Long day of wiring enemy firing logic together. Got the majority of it working except for the predictive firing which, of course, is the best & most important feature to put in. I’m sure there’s a straightforward solution but I seem to be running into diminishing returns in my brain’s capacity for quality graphing. Going to break it off here with this little note – make sure to put in a simple null check when doing raycasts, it’ll remove the endless stream of errors that may propagate in its absence:
    • A thing like this could maybe be built into the node, but as it's not it's something that should be added when using it.

      A thing like this could maybe be built into the node, but as it’s not it’s something that should be added when using it.

    Going to spend an hour or so tooling around in articy:draft, maybe plug a few hundred words into the next Solarus novel (which has been languishing for far too long now).

    Hit Counter provided by seo company