In Case of Emergency, Release Raptor cover
In Case of Emergency, Release Raptor screenshot
Linux PC Mac Steam
Genre: Adventure, Indie

In Case of Emergency, Release Raptor

The Last "Two-Level Demo" For Release Raptor!

...and I just realized I forgot to update the main menu text to reflect that.  Bah!  Always something. ;)

Well, as you can see from the release notes, we're getting darn close to being ready.



  • We have a variety of new enemies (though there are lots more coming -- it was hard to tear myself away from making more right away, because it is super fun to do).
  • The voice acting for the robots is now in place, for those robots that are in place thus far.  We took note from Bionic Dues and have been sure to have a really huge amount of voice cues for every robot so that they don't get too repetitive.  There are also a larger number of less-funny ones in there so that it's not too funny all the time, which gets tiring when that's the case.
  • Among the new robots, we have our first flying robots, our first robots that divide, and the first ones that use ballistic trajectory shots.
  • The procedural map generation code is now done, thanks to Keith.  There are likely still some glitches with it, but this is based around hand-crafted content being procedurally assembled, so that does help.  The system is really powerful and lets me design level flows with a really high degree of specifity so that the layout makes sense.
  • The occlusion system has had a huge revamp as well, to aid in performance in general, and to prep for the procgen levels.  This is the major thing holding back procgen levels at the moment.
  • Father Brain and the level flow that surrounds him has also not been implemented yet, and that's another key part of the feel of procgen levels.  He's actually one of the easier robots, though, so that's good.  And the stealth bits that play into his main mechanic have been done for a while.




So, are we on schedule for our release to EA on Monday?

At the moment I'd have to say... yes!  There are some things I still have to get worked out over the weekend, to be sure, mainly to do with the occlusion system.  But my hope is to have the procgen levels in the hands of press and testers tomorrow (well, today; it's 3am).  Anyhow, Saturday sometime.

Beyond that it will then be a focus on more content, and continual polish in general.  It looks like we're getting really well situated for me to be able to focus on content (in the form of enemies and game mechanics) next week; and Blue has been focusing on content in the form of level design for quite some time now (and it really shows).  I'm definitely excited about the build you'll have at launch!





Click here for the official forum thread on this post.

August 22nd release and Arcen AMA.

First of all, I want to do a shout-out to the reddit AMA that we did yesterday.  We're still answering questions in there some, even though the AMA is technically over.

I am going to be traveling this afternoon and over the weekend, so will be responding less (if at all) during that time.  However, I will try to get to any and all questions by sometime next week if more come in (at the time of this writing all of the questions have been answered, which I'm very pleased about).



Another Delay

Okay, yep, another delay.   This time less than a week, though, and there's solid reasoning to believe this will be the last one.  So what's up this time, right?  Here's the scoop, copy-pastad from the email I sent to staff (we're all virtual, so no office):

Progress has been good, but not quite what it needs to be (mostly on my end).  Ultimately it comes down to me being too much a bottleneck for everyone else.

  • I had to take out a bunch of time to set up stuff for Cinth (setting up props), which has saved time but cost me some upfront.
  • I had to take out time for the same thing for Keith (helping out with programming procgen).
  • Blue (artist and level design) needed various things and I had to take time out to get those ready for her.
  • I spent pretty much all yesterday either writing dialogue or recording it with Ben McAuley (voiceover actor), partly so Craig (major help on audio editing and work) would have time to split it.

And all of this has delayed a lot of the work that I need to do in order to stop blocking Misery (major help on enemy design, and also coming up to do tactical room design) from doing his work, which is some of the most critical remaining stuff. But all the other stuff was (and is) also critical. It's nobody's fault at all (certainly not anyone but me if it was), but there's just a lot of stuff and I have been too embedded in all the parts of it to let proper progress be made in all the areas that need it.



The Positive Bits!

THAT said, the slowdowns have had some positive unexpected benefits.

  • Blue has been greatly expanding the variety of environments that we have, which should be a really good thing for us both in terms of screenshots, videos, and early replayability.  A lot of the cool environments you can see in screenshots in this post.
  • Cinth has been actively feeding in more components for her to use, which has been a huge help and feeds that ability to really have a variety of atmospheres in such a positive way.
  • Craig has had extra time to work on things like ambient sound effects, which add so much to the immersiveness. I've seen Jim commentate on such things in The Jimquisition, so that stuff does matter.
  • Keith has not only taken a bunch of load off me on the programming with the mapgen stuff, but he's reworkng a lot of areas there so they are legitimately better under the hood and will help us give better and more correct results in terms of the levels created. But of course that takes time, too, so it works out kinda well I guess.
  • Misery has been coming up with a crazy amount of enemy ideas (and Craig added some too), and the number of ideas there has really let me put things together into some enemies that have graphics assignments figured out as well as voicework designed, etc, so that we can have a variety of grouped variants with each visual and audio consistent enemy. That's been absolutely killer of a help. Ben even remarked at one point "How do you guys come up with this stuff!?" and "You sure aren't making this easy on the player, are you?" at another. ;) Those two things ought to be the motto for Arcen in general, I feel like, haha.



Summing It Up

So there's been a pretty darn big silver lining with all this, in that nobody has just been sitting around waiting for me, which has been my goal. It's why I've done things in the order I have, even though in some respects that has been to the detriment of overall timing I have to say.

If I'd chosen a different path through some of this, we might have been able to hit the deadline, but we'd have had a bunch of idle periods where I was completely blocking someone for a week or more, etc. This sets us up for more success at launch and immediately following launch.



So overall, even though I'm not happy about the delay, I am pleased with what we gain in exchange for this particular delay.

On a more personal front, I've been struggling with a variety of things on my end that have also started to intrude into work over this past weekend and into this week. We've been sick, my six year old son has had some issues that we're trying to help out with, some things with extended family have come up, and so on. So, yeah. From those things, I don't think I'd be in mental shape for a release next week even if we could barely squeeze it in. I hate yet another delay, but such is life. At least have potato.



What About ProcGen And Updated Pre-EA Demos?

That's the other thing that we want to be able to show off a LOT prior to launch on the 22nd.  We should start rolling those out on the 17th (when we originally would have launched), and then will be packing in more enemies, rooms, and tactical setups throughout the week and weekend after that.

Talk to you soon!

Chris





Click here for the official forum thread on this post.

Volumetric Lights And Custom Frustrum Culling

What!?  Shouldn't this post be about procedural generation or new robots? ;)  That stuff is coming, don't worry.  As you can see in the release notes, a lot of work has been done on that.  But in the meantime I did want to do a release with a few other things in it.



Volumetric Lighting

First up, we're now using the brand-spanking-new Hx Volumetric Lighting component from Hitbox Team, the folks behind Dustforce and the upcoming Spire.  I figure I owe them some shout-outs there, because their work on the volumetric lighting is so freaking fantastic.

It has a moderate impact on framerate, depending on your graphics card.  For a lot of lower-end cards you'll need to turn it off.  But for folks running on middle-high or high-end rigs, this is something that really takes the game to the next level visually.

This is something I've wanted to do for quite some time, to give more of a sense of atmosphere to the game.  However, short of particle effects that can look iffy, and a few light-specific options that usually have iffy performance, there's been no good way to do that until now.



Anyway, so, that's neat.  That will make for some nice differences in the next round of videos, so I'm pleased to get that in now.

Obviously this is an effect that is not to be used on every last freaking light in the game -- sometimes it's really nice to have crystal clear areas that just pop with sharpness.  Other times you want a slight bit of softness, and other times you want something that's super foggy.  The point isn't that we're switching over to deep fog all over the place, but that we now have a greater depth of mood effects we can go for.

The screenshots in this post are really leaning on higher-volumetric views, though, since that's what is new; the non-volumetric views don't look any different.  Oh!  And if you hate it, you can always turn it completely off.  So, as with all things, tune to taste.



Custom Frustrum Culling

Occlusion culling is a complicated subject, particularly in games that are partly or completely procedurally-generated.  What it means is not rendering things that the camera can't see.  The biggest problem is knowing what is behind other opaque stuff and thus invisible.

Unity has some built-in support, but only for static levels, not procedurally-generated ones.  I created my own occlusion culling system that works on procedurally-generated levels, but the levels have to be designed with the occlusion system in mind or else it doesn't work to full effect.

However, there's also a middle-tier of object culling that is based around the "view frustrum."  Aka, the view out of your camera based on where it is pointed right now and what your FOV is, etc.  Put another way, it's to avoid drawing things that are either offscreen to your side or behind you.



Unity has a built-in way of handling this, too, and I had -- until now -- not bothered to create my own.  I'm not in the habit of trying to reinvent the wheel for no reason.  However, I found that unity's solution has some really strange issues with false-negatives when the camera gets close to a wall.  Basically it would stop drawing certain objects that were straight in front of me once my camera got a bit close to the wall behind it.

Imagine having your head leaning back against a wall, and the wall on the other side of the room in front of you mysteriously disappears.  Um... no thanks on that.

Apparently with any of Unity's occlusion culling on at all, it was trying to do a mixture of occlusion culling (what is behind something else should not draw) and frustrum culling (what is out of my view should not draw).  And when I got really close to a wall with the camera, it decided "oh hey, you must be on the other side of that wall."



I've known about this for well over a month, and I figured that the solution was to get the camera to stay a bit further from the walls.  Turns out... nope!  That doesn't work in any way that I can figure out.  I thought that it perhaps was related to concave mesh colliders, but nope there too!  I was really surprised, because I thought for sure that was the one.

I had turned off unity's occlusion culling a few weeks ago because of the graphical errors it was introducing, but then performance took a big hit and so I turned it back on.  Now the graphical errors were getting on my nerves increasingly, so I decided to once again disable their system, and this time come up with my own frustrum culling system.

So I did.  It works!  No false negatives.  It seems to have a very similar performance profile to what unity's system did, but minus the errors.  Knock on wood that's what others also experience with it!

Cheers!
Chris

Click here for the official forum thread on this post.

All right, let's get this over with: August 17th is the new release date.

But I do come bearing gifts, at least.  Hope you enjoy the screenshots!  Additionally, if you want to see what insanity we've been up to lately, then the voluminous release notes might be interesting reading.  They give some pretty good insight into what the delays have been.



Here's a TLDR of my four biggest concerns right now:

  1. I want to make sure there's enough content right at launch that people aren't skeptical of how this might develop during early access.
  2. I want to make sure that we're completely positioned well so that I can spend my time adding content in an efficient manner -- DAILY during the week -- and not chasing bugs or whatever other issues that are less exciting to players.
  3. I want this to be as smooth and bug-free an experience as possible, and so I haven't been just going "eh that's good enough" when something is even a little off.  Those "little things" add up when someone is getting a new first impression.
  4. We need to ensure coverage by "new media" to some extent, and that means twitch and youtube folks.  These people are excited about the game in a lot of cases, but there isn't enough in there for them to be making hours-long videos showing off their cool antics.  That's a problem for us, because without that sort of coverage it's too easy to fall into obscurity on launch.

So what has the holdup been, in a nutshell?



Lighting

Getting lighting just right has been a real passion of mine.  It ties everything together and makes everything feel cohesive and awesome.  It's the most visually distinctive thing about the game in a lot of way, and it makes all the assets it touches look better.

But it comes at a cost!  Specifically a cost on the CPU/GPU.  Most AAA games use "lightmap baking," which basically is a way of having some computers churn out some detailed precomputed data about a level that says what the light should look like at every point.  This process is not remotely realtime: it can take tens of minutes on even a midsize level.  So with procedurally-generated content, you can forget about that sort of thing.

The "deferred shading" pipeline that we use in Raptor is a nice and modern approach that lets us do a lot of cool things with lights, but it doesn't work with traditional antialiasing (but we fortunately have an excellent temporal antialiasing solution in the form of CTAA).  So there's a ton of stuff that we can do that the older "forward" pipeline can't do, and tons of games make use of this (though almost no VR games at the moment, because of the lack of temporal antialiasing in most engines at the moment).

My main challenge was to find the sweet spot between brightness and spread of lights versus the performance cost that incurs.  All lights in deferred shading are "pixel lights," which means that they are way higher fidelity and light based on the pixels they touch rather than the crude way of lighting based on the vertex (yuck).

Aside: it lets us do other cool things like have very low-poly models that have excellent occlusion and normal maps and thus look far more complex than they actually are.  It's another very modern way of pushing a lot of detail to your screen without bogging down your GPU on a bajillion vertices.



Anyway, the problem with lights in deferred shading is that there is a cost per pixel illuminated by them.  So if you use lights that are too huge, then your performance tanks.  Or if you use too many lights, your performance tanks.  My goal is to have > 60 frames per second on any reasonably-modern GPU with most of the visual settings high up (I'm benchmarking things on a 980M if you're curious), and so finding the lowest light ranges I can while getting the visual effects I want has been a challenge.

Not a technical one per se, but more of an artistic one.  A lot of the way that lighting is handled here has heavily to do with the post-effects pipeline that we're using.  We're rendering in HDR (high dynamic range) in the newer linear lighting pipeline (as opposed to the older gamma one), and so a lot of awesome lighting and depth information is available to us after the initial render of the camera.  This then lets us do a lot of post-work to brighten and tone the scene in ways that you could not do if you were to try doing it in something like photoshop (because you'd be missing that extra key metadata about each pixel).



Anyway.  The point is, it was important to me to really nail that.  I wanted things to be well visible at all times even in the absence of lights (since you can destroy lights), but I wanted dramatic contrast.  I wanted large-range-seeming lights with great quality, but without the performance costs of taking a naive approach to that problem.  I wanted this to still look killer and shadowed even with shadows turned OFF (!?).

Also relevant: I wanted to get all of those things figured out and done in a variety of physical spaces BEFORE we did too much level design, because lights play into level design and I didn't want us to have to go back and re-light everything later.  That would cause a huge delay in content development further down the line, so it's better to spend the time upfront in this case.

I am happy to report complete success on this.  It took me longer than I had anticipated, but it's done, I'm happy with it, it performs great, and I'm sooo glad to be done with it. ;)



Furniture And Props

We started out just doing our level design with floors and walls and doors and similar, which was a really fun challenge because we had to make each space interesting even without anything in it.  Blue and Brandon and Craig and Misery did a great job on that.

I feel like a lot of games lean on having a boringly-shaped space that is filled with interesting things, and the overall effect is something that is ultimately kind of blander than it should be, if that makes sense.  It's hard to explain, but it's one thing that really bugs me in level design and gives a subconscious feeling of "something isn't right here."

So to start out we stripped away all that, and that's become our standard way of making levels here now.  No furniture or props, just designing the space itself.  If the space isn't interesting without something in it, then it needs more work.

Boy did we have a lot of success with this!  I was super happy with how this was coming along.  And while the level designers were working on the actual physical spaces, I could then focus on those pieces of furniture, props, and so forth that would then populate those spaces and bring them to the next level.



Well... that took longer than expected.  If you want the whole hoary story, those release notes are probably the best place to do the reading.  Suffice it to say that it is extremely mind-numbing and tedious work getting those ready, but also something that requires a lot of focus because small mistakes echo outward and then require later rework.  So it gets exhausting.

That took longer than expected on my first pass through, and I added a few hundred props and pieces of furniture.  I need to get way more in there, but we're off to a good start for what we need right now.  I had to make sure that everything was fitting in stylistically and had the quality it needed, and in many cases I had to adjust shaders and material properties to do that.  In some cases I put in completely new textures, but in all cases I heavily optimized the textures.  In some cases I adjusted geometry or optimized it.  I made things have physical presence, be destructible in a lot of cases, and so on.

I learned a lot going through that process the first three times, and I have a lot of more times of that in my future for this and other games.  So one of the things I spent some time on was developing out a toolset to make it more automated to do frequent tasks, and to make it less mind-numbing for me.  And to catch the inevitable errors that I make, and in some cases actually auto-fix them.

It's vastly faster for me to add new content of that sort now than it was in the recent past, so that's extremely exciting.  But it did come at some up-front costs of figuring out what the pain points were and then coding custom tools to work around those.



Aside: Toolchain Development In General

I don't regret that time spent at all, but it has been a learning experience.  With our 2D pipeline we had about 7 years' worth of things that we'd built out to make our lives easier.  In our 3D pipeline I've had to invent a bunch of new tools for us since February.  Some of our 2D-pipeline tools carried over, but a lot of them didn't.  And a whole new set of tools has been needed in the 3D realm.

But I really have no desire to ever go back to 2D pipeline at this point.  I have a long personal history with 3D going back to 1998 (though arguably my personal history with 2D game work goes back to 1991, but still), and personally the only sort of art I'm good at is "technical art."  I can do things like lighting, I can do certain forms of modeling, I have an eye for texture work, etc.  But I can't draw for ****.



In the prospect of a scaled-down Arcen, the actual only path for me where I can do all of the work to a reasonable degree is 3D.  And there are a LOT of things that I always wanted to do in 2D that I couldn't, but that are possible in 3D.  For instance, procedurally-generated ships in AI War, let's say.  In 3D?  Absolutely.  The underlying data and design we could always do, but it visually would not have looked good -- or performed well.  But we can make use of static and dynamic batching in 3D, and do a variety of awesome things to have better visuals meet better performance (paradoxically).

Keith and I have both been thinking about an AI War 2 at this point, but from very different perspectives.  Whether and how the two of us come together to work on that, and how we divide the labor, remains to be seen.  Most likely he would take simulation and AI, I'd take display and networking, and we'd divide interface and procedural generation.  Probably.  I haven't spoken to him at all about this in quite a while, so he might be reading this going "what the heck??" ;)

He has a ton of ideas on how to make the AI and the simulation more efficient and more effective, though, and he has an all-new concept of the GUI in general.  I have a lot of ideas on how to make the visuals both better AND more efficient, and a lot of new knowledge on how to make the GUI more efficient.  I also have some fairly crazy ideas on the networking front that would make the computers less lock-stepped and make use of a wider variety of independent ports and so on.  I think we also both have some nutty ideas relating to multithreading based on things we've learned in SBR and Raptor and so on.

Wow that was a tangent.  Anyway, back about Raptor...



Thoughts On Further Slippage

So how do we know that this won't just keep slipping and sliding away into the future indefinitely forever?  That is an excellent question, and to a large extent that's what happened with SBR and why that became such a money sink and caused so many rippling problems into the future of Arcen.  So I'm certainly not blind to the possibility of that sort of thing.

Here's the difference: SBR is complex and requires a lot of moving parts to even determine if it was fun, and we were building all those parts and not finding it as fun as we wanted at any point.  We're getting closer on that now (well, Keith is), but there's a fundamental issue of "finding the fun" there.

With Raptor, that's never been the problem: at a very basic level it has been freaking fun right from the start.  But what has to be done is making it so that you have more than just a tiny bit of content, and that involves both more varied enemies and objectives, and more places to go.  In some respects it is the opposite of the SBR problem, because the fun was there from the start but the content was not.  We've had all the content for SBR for over a year now, but are still trying to find the fun.  That's a strange thing, no?



Anyway.  Where schedule slippage tends to happen is when there are a lot of future work items that need to happen that have an uncertain amount of time to them.  If I estimate wrong on some or all of them, or I don't budget in enough extra time for whatever unseen things come up, then we get slippage.  When there are a fewer number of things, and/or those things are very familiar activities that don't cause strange and new risk (aka, making more apartments to explore doesn't somehow cause the schedule to slip -- but adding a new game mechanic can, because it can introduce new bugs and so forth).

Right now we're getting down to the point where there are a few things that are still uncertain enough that they might blow up on me, but there is a HUGE buffer time this time around.  I'm not pushing back by a day or two this time (after doing that repeatedly).  I'm pushing back by half a month.  I mean business this time, schedule!

And then beyond that there is a fair list of "nice to haves" that we can focus on in the extra time IF there is any.  During that time we can have people testing, twitch and youtube people streaming it, and put out any fires that crop up.  OR if the earlier stuff slips, then that time disappears but the release date hopefully doesn't slip.  That's the plan, anyway.



The Current Project Plan

So here's what's going down at the moment:

  1. I'm working on a few last things with doors, and then a few other bugs.
  2. I have to finish the procedural assembly of levels sufficiently for it to use the new content.
  3. Blue and others are working on finishing furnishing their existing level pieces.
  4. I have more robots to get in place, including father brain.
  5. The voice acting needs to be put in place for the robots, and more needs to be recorded for some of the new robots.
  6. There are some secondary mechanics (fuse boxes, fire alarms) that I want to get in place, but it's not dire.  Also elevators that... well, that's a surprise actually.
  7. I want to get more testers in place starting sometime next week so that we can continue to find whatever bugs exist BEFORE we go into early access.
  8. Oh, I need to make a new trailer and screenshots and all that jazz, and update the description stuff for the game.

That's all the stuff that HAS to happen.  Beyond that we should hopefully be able to add more content of various sorts while press and streamers and youtubers are checking it out.  The goal is for that to lead to a smooth launch that then transitions into folks new to Arcen being amazed at how fast we add new content.

Used to waiting weeks or months for major content updates?  Heck, we do that sort of thing every 2-3 days most of the time.



But if things aren't tidy enough at launch, then we can't really do that at the same time we're putting out a bunch of unexpected fires.  Let's put out any fires first. ;)

Okay, that's enough rambling, but I figured you folks deserved a reasonably full explanation.  I think that there was more I wanted to say, but I can't remember what it is.

I guess one more thing.  I've been incredibly stressed and that's a whole story in itself, but my son made me a little thing to keep with me today to make me less stressed.  I just thought it was too cool not to share, sorry for being a geeky dad at this point.



It's the anti-worry tongue.  He's six, so I have no idea why exactly it's a tongue.  But he was drawing monsters and I think giving me the tongue of one was some sort of ward?  I didn't get a chance to really fully ask, as he surprised me with it.  I'm not sure if it's the a-w tongue or the new release date, but my stress is down a bit today compared to the last few days, at least. ;)

Cheers!

Chris

Click here for the official forum thread on this post.

Pre-EA Demo 8 Released!

This one isn't too exciting if you're not in the level designer crowd. But the things the level designer crowd will be able to do with this IS exciting, or will be very soon, so there is that. ;)

Release notes: https://arcengames.com/mediawiki/index.php?title=Release_Raptor:Pre-Early-Access_Release_Notes#Pre-EA_Demo_8

That said, the lighting system has been overhauled AGAIN. The adaptive lighting stuff was being a surprising pain and didn't feel natural to me. Overall I was not able to get the effects I wanted with dramatic contrast areas AND sufficiently light general areas.

So I had to redo a bunch of stuff, and try a lot of things that didn't work, and finally I have something that works. The raptor itself has had some visual upgrades as part of this, in terms of its texture work and having a new custom shader I made for it. More will be done in the future, but for now that's plenty.

The raptor is also better about being able to get through small doors without moving around funkily, since she rears back now instead. I'm sure that will be tuned substantially in the future, because it can look slightly goofy at the moment at times, but it's a lot better than before, and sets the basis for fixing the rest of it later. In the meantime, there are bigger fish to fry!

The "apartment building" plan has actually grown thanks to ambitious folks on the level design team, and then my own ambition with that. I don't want to spoil anything with that, but some of the level pieces that are there are already pretty incredible, and we have a bunch more planned prior to the EA launch. Getting really close to finally tying a lot of this together now!

Oh, and in terms of the new lighting stuff, there are more useful tools for tuning that to your taste now. The ambient light setting from the last release is still here, but the old brightness/contrast settings are gone. Instead you can now set the overall exposure (essentially a form of brightness or gamma), and you can also set the amount of light that is just in the area right around the raptor itself. Using those tools you can actually get a hugely varied set of looks, from things that are very bright and cheerful to very dark and moody. I'm okay with that. :)

Stealth! The 26th! Performance! Demo 7! Oh my.

Release notes!  The time has come for us to start putting those out, so there they are.

Ahem.  Now... two steps forward and one step back?  Well, the release is slipping again.



This had better be the last time, I swear.  I said last time that I wasn't sure it would be possible, and it would depend on if any new things came up.  Well, a few things did:

  1. I figured out a much better way to have the level editor work (based around tiles), and spent the time needed to make that happen.  It took slightly longer than I thought it might, but MAN is it better.  We're creating rooms like crazy now.
  2. I ran into some performance issues in one corridor of mine and then wound up figuring out a huge chain of things that led to tons of performance improvements across the board.  The game now runs 2x-3x faster in most cases, no joke.  That is worth a few days' delay, I'd have to say!  It does also have an impact on how we design our level pieces, so it's good to have that done at the start.
  3. NOTE!  If you're stressed about the fact that some of the levels look darker now, please don't be.  It actually evens out, with less overall contrast most of the time.  And I may tune that more in general.  However, either way, along with the new lighting comes a new setting that allows you to get a beautiful range of lighting styles in the game depending on how your monitor is set up.  Much better than the older way of doing brightness/contrast in teh game, although that is also still there -- it's good for smaller tweaks.




As a side effect of the lighting performance stuff, I had to do some detection to figure out when the raptor is in shadows.  That way the ambient light adjusts up and down so the raptor can see in the dark areas, which are now more pronounced otherwise (the choices were between having it wash out the bright areas or have the dark areas be super dark -- this adjustment of ambient light lets me have it both ways, and kind of simulates how your pupils would dilate and so forth in response to light.  It's not true adaptive lighting from tonemapping, I have that turned off because it causes more headaches than benefits in my opinion, but my thing is the little brother of that idea.)

Anyway, with that data in hand about whether or not the raptor is in shadows... I was able to go ahead and do a lot more with the stealth mechanics sooner than I had planned.  Destroying light fixtures now actually has a purpose aside from being fun.  I always wanted to do this, but I wasn't sure if I'd be able to do it from a technical standpoint.  Turns out very much yes!  You get a handy little icon telling you when you're in cover, and all that jazz.



So what's left on the to-do list?

  1. Blue and Misery are working on room designs.
  2. I am actually out of the office for two business days, unfortunately, which is bad timing.
  3. But then I need to get in more robots.
  4. And Father Brain.
  5. And our first set of voice acting needs to be integrated; it has been recorded by myself and Ben, and then was helpfully split up and processed by Craig.
  6. I need to finish up the actual procedural level generation fixes.  It mostly works, but has some bugs.
  7. I'm sure there are various other bugs that will come to light that I need to take care of.
  8. There are hundreds more objects that will populate the levels, and I need to continue setting those up and getting them ready so that Blue and Misery -- and Brandon, actually! -- can use them.  And me, for that matter.  And any players who are interested in that side of things.

It's feeling a lot more manageable now that there's a bunch of content being created by Blue and crew, and I'm not the bottleneck preventing that from even happening at all.



The wiki is also coming to life at the moment.  We have a section on the level editor basics.  We also have a design guide for level 2, the apartments.



I'll mostly be AFK until Tuesday mid-day, so I'll talk to you then!
Chris

Click here for the official forum thread on this post.

Patch notes for July 13th.

* Fixed a rather horrendous bug in an interim windows build that went live last night. The spiders were self-colliding with their own guns and jittering up out of the level and so forth. In the process of fixing this, their physics were made more efficient, so it's not all bad at least!

* In the third person, swiping the enemy shots now sends them on a reflected arc again, rather than doing the first-person-style aiming. That was causing a LOT of problems for players in the third person who were zoomed back and playing in certain angles.

* Taking multiple hits within 0.9 seconds no longer counts as more than one hit. This way things like the red spiderbot are more likely to make you take a hit, but don't make you take like 12 hits when they get you at close range.

* Fixed an oversight where the GPU-heavy Cinematic Temporal Antialiasing was not properly being turned all the way off when it was disabled. This should help a bit with lower-performance graphics cards.

* Fixed an issue in some recent version (maybe just the last one?) where in the third person view the raptor being in front of the camera too close was triggering the depth of field effect. Yikes!

* Made a number of substantial performance optimizations in various scripts.

* Improved the accuracy of the occlusion system at long distances (doubles the number of raycasts, but in profiling these were a tiny tiny fraction of the performance of each frame anyhow.

Breaking News: Chris is a Grade A+ Moron

Yeah, you know what I'm about to say: the release is pushed back again.  This is the third time in a month.  I'm now targeting the launch to the 21st.  So what the heck is going on this time, right??

Weighing feedback from youtubers, they're having a lot of fun with the mechanics, but there just isn't enough content yet. We're on the verge of having a waterfall of content thanks to our level editor being nearly complete, so it seems very stupid to launch prior to that.  At core, that's the issue here.



The Level Editor

I say that the level editor is "nearly complete" because there are a lot of polish things with it that have been slowing me down in actually creating content.  My big fear with any player-made content (not to mention my own content) is that we have tacky things like wall sconces three inches from the wall, etc.

I have a lot of experience in 3D editors, and there are a variety of ways of solving this problem.  Various sorts of grid snapping, vertex snapping, and drop to the ground things usually are the key.  This works very well... IF all your content is a very uniform sort of size.

Overall our content is a pretty uniform size, and I've been doing things like building the wall structures myself in probuilder, then exporting them to finished geometry and texturing them, etc.  But one example of this going awry is I accidentally made one wall with windows in it 0.25m thick instead of 0.1m thick.  Then when I went to use that, it didn't line up.  Of course.  But I probably wasted 5 minutes trying to figure out what I'd done there.



Those sorts of problems are compounded when you start talking about "props" type items that are of extremely arbitrary sizes.  Having a center of rotation on them is a pretty tricky thing as well, because even when rotating the offsets around the rotation center of the objects, I wind up with things that are not fitting together when rotated 9 degrees because the OTHER thing (in this case a wall) is not conforming.  Specifically the wall should have been rotated 270 degrees instead of 90 degrees in order to have its axis aligned just-so, and thus it's about 0.03m offcenter and the wall sconce now sticks into the wall a bit.  I now have to adjust my grid scale and fix the sconce by hand.  I also have to actually know to check for that.

In other words, it's not a casual undertaking because there's a bit too much freedom (in some respects), versus the editor inferring what you want to do.  There are a variety of games that do this well, most notably Minecraft and 7 Days To Die.  You'll note that those are 3D-tile-based, of course.  I'm not going to do THAT.

However, it's possible to do that sort of thing with an invisible tile grid that nonetheless has orientations baked into them.  And which exists only in the space of the editor, not in actual gameplay-space.  There are some games that do this I think, and 7 Days kind of does that with its objects in general, but I can't think what the games are right off the top of my head.  At any rate, editing needs to be freer and more fun.  It's ALMOST there, but not yet.  I need maybe another day, maybe two, to perfect that.



Procedural Generation

The approach that this game takes to procedural generation is one of combining prefab scenes together to make a whole.  It's using a heavily modified version of DunGen, which is a really cool component.  But DunGen wasn't able to use runtime-created geometry, and I had to invent my own data format and get that in there along with a variety of other enhancements that are game-specific.

Along with those enhancements have come some pretty tantalizing realizations: I can do even more.  DunGen already supports things like prefab groups that swap in and out (so you have something that is, for instance "a living room set" that gets chosen at random to go in living rooms of type A).  That gives you some pretty combinatorial numbers of distinct results that players encounter, while still having everything be hand-designed at core.

It's a super flexible approach, and I've actually coded about 95% of it.  I need to have time to code the interface, though, and make the interface make some kind of sense, which means that last 5% can be a real pain in the butt.  I figure I can knock that out in a half day or so.

Another thing on my wish-list is having certain types of tiles do pre-combining into mega-tiles before going into DunGen proper.  Actually that's a really complicated subject, and I have three different approaches in mind, one of which wouldn't take much code at all.  And honestly this is something I can experiment with during early access.  But we were talking about procedural generation, so I figured I'd mention it.



Level Editor Assets

In order for levels to be created, it requires building blocks.  The more building blocks, the better.  It's no secret that we're using asset store assets for a lot of these things, but we're also creating various things ourselves in Probuilder (me), or in Sketchup or Maya (Blue).

And then when it comes to EVERYTHING, I'm doing a lot of post-work to wire them up for fracturing or physics, for the occlusion system, to have the proper PBR effects, to have the proper texture efficiency (mostly compression -- seriously artists are wasteful sometimes), and doing things like setting up IES lightmap cookies on lights so that you get super-amazing-looking lighting.

Overall I have a freaking massive list of things that I need to get in place with this.   Just for the apartments levels alone, it needs easily a few thousand objects.  I have already directly integrated several hundred, and I've partially-processed another 1800 or so beyond that.  But each one takes some time, and it's hard to get more than a few hundred objects done in a single day.

With a tile-based approach for the level editor, this will be faster, but still.  (And the only reason I can do all this so fast in the first place is that I've made a custom unity editor extension for myself that I call the "Arcen Object Manipulator), which gives me one-button access for doing a ton of tasks.  And gives me hyperfast access to editing box colliders, because I wind up having to create a lot of those.  A lot of artists wind up using mesh colliders (efficient ones usually, but still), which are mega-expensive to process on the CPU compared to box colliders.   It's a major no-no.



So I've done everything I can to speed up this process for myself, but even so it's a process that is time-consuming (on my sort of timescale).  A few hundred objects in a day is actually freaking amazing when it comes to most games, but when you're still setting up your first full batch of them it can feel really slow.  When I'm doing something like the military base level assets, certain things like concrete floors or the utility-style lights can be used in there as well as in the utility halls of the apartment buildings.

So I have every reasonable reason to believe that this process will go amazingly quickly and people will be very surprised at how fast new content comes out while we're in Early Access... yet at the same time, there are some humps I have to get over first or I'll be torn in too many directions to fully address any of them.  If we release on Monday, that's exactly what was going to happen to me.



More Robots!

We have a ton of robots already complete and animated... and not in the game.  By a ton, I mean that we have something along the lines of 17 distinct robots that are just sitting there waiting for me to have time to do something with them.

A game like this doesn't need the sort of insane enemy variety that something like Starward Rogue does, but all of the robots should each have a good and unique feel, as well as a number of sub-variants.  You see this with the spiderbots, for instance, and their three variants.

So why haven't I done more of these?  Well, to some extent it's a "cart and horse" situation.  I have a lot of cool ideas for the various robots, but a lot of that requires specific sorts of rooms.  You can't just stick any enemy in any rooms and expect for them to be fun to play.  Some of the ones that would require a lot of motion on your part would be a nightmare in a claustrophobic hall, for instance.  But it's nice to be able to create both claustrophobic halls for you and wide open spaces where (for instance) the apartment building has partially collapsed.  As well as lots of stuff in the middle.

To me, the design of most of the enemies is inextricably tied to the sorts of locations they populate, and I can't really test them to make sure that they work right until I am able to create those environments and test THOSE.  For that reason I've erred very much on the side of focusing on location rather than enemies first, while at the same time writing down tons of notes for the robots (and further locations).

Actually my BIGGEST focus so far has been on the feel of the raptor itself, and its move-set, because that's the #1 thing that needs to feel good.  And then spaces are designed to conform to that, and enemies are designed for the spaces that can fit the raptor, and so on.  So there's actually a bit more of a waterfall effect there than a true cart-and-horse effect, but still.



This Isn't Just A Beat-Em-Up

The fact that it's been described that way pains me a bit, but I completely understand it.  Right now the goal is "go kill all the robots in the demo level," and you do that by attacking them with teeth, claws, and slapped-back shots.  So, sure: beat-em-up.

Even so, some of the placement of enemies like the turrets are designed to lead to mild puzzle elements where you can approach a situation multiple ways, but the obvious ways are going to lead to death or taking hits that you should not.  Basically it's the sort of "puzzles" that a game like Dark Souls might give you (although it's super dangerous to compare this game to that one, because they are very different beasts).

This is another case where there have to be more rooms (more content) before the puzzle-y nature of some of that will really show through.  I remember that in Far Cry 2 -- and actually in Red Faction: Guerrilla -- there were some places that were entrenched enemy fortifications and I had the most fun in those games trying to dismantle them.  But once you figure out a way that works for you, then you're done with that fortification.

Here I (and other designers, and even players) can create a lot more content with a lot more of those sorts of situations, and enemies can be specifically designed around that sort of thing.  But that takes time.  The demo currently shows that off to an incredibly tame degree, and so it's easy to go "yeah that's a brawler," which I think sells it a bit short.



Stealth

The other thing that I have figured out how to handle, but which isn't at all in the current demos, is stealth.  Having multiple branching paths and similar that you can explore, and the ability to in many cases see enemies before they see you, allows you to sneak by enemies in many cases.  You actually can already do that in the current demo, although there's no real reason to since you have to fight every enemy anyway in order to win the level.

To me, the sort of stealth that involves "don't go in the light or you die" really bugs me.  The kind that revolves too closely around lines of sight also bugs me, because I can never tell if these bushes or those bushes are enough cover or not.  Because of branching paths and the ability to be on different levels from enemies in this game, a lot of those problems can be bypassed and it's clearer when you're hidden from an enemy.

So why hide from them?  Well, the structure of the levels will be changing -- the demo game mode of "kill all the robots" was never the real game mode, and it said that from the start.  The real mode will have a big stationary robot named "father brain" at the end.  If any robots are aware of you (think having stars in GTA), his shields are up.  If no other robots currently know about you, then his shields are down and you can kill him and win the level -- no matter how many other robots are still remaining at the moment.

And there you go: stealth.  You can avoid enemies and get to father brain and kill him more quickly, but if they see you that just means you have to fight them in order to complete the level.  It's a nice non-binary system, because you can take a Red Dead Redemption attitude of "no crime was committed if there were no surviving witnesses" and kill certain robots with no regard to stealth while you sneak by others.

But for THIS aspect to work, I need to get the forcefield effects finished (the visuals are set, but the physics is about half-done), and get father brain himself set up in place (Blue has created him, and animated him, but I have yet to texture him or light him or rig up the ways you can knock pieces off of him to destroy him, etc).  Chalk up another half day there, reasonably.



Personality

Part of the reason we keep having delays is that we're listening to feedback from existing testers and youtubers doing previews, and things that they say -- or sometimes don't say, but rather just a nonverbal reaction they have -- tend to be instructive.

One of the things that has become clear to me based on that as well as some RPS comments is that when the raptor is running around fighting silent robots in sci-fi corridors, that feels generic.  Now granted, I love those sorts of environments and we will have them -- and we'll make them as unique as possible.  And in general with the robots and their movements, and the raptor and its movements, we've tried to really bring out as much personality as possible.

That said, the switch recently to having our game's first procedural levels be inside of apartment buildings was I think a good move on the personality front.  That feels viscerally familiar (we've all be in an apartment, but we've most of us not been in a space station or anything that looks like it), and also really fresh (we've seen raptors in labs and the jungle on TV, but not in our homes -- a T-Rex in the back yard was the closest that got).

But the other part is the robots themselves.  We've been working recently with a wonderful voice actor named Ben McAuley, and he's voiced a TON of lines for just the robots we already have.  About 30 lines for each kind of robot just seeing you at all.  They aren't long lines, but they gives some personality to the proceedings, and actually give a sense of each robot being a unique individual (some are bored, some are considering cowardice, some are ready to go guns blazing).

Those robot voice cues tie into both gameplay (ones without a gun remark on that) and story itself (things they say hint at the story, which otherwise you could completely skip).  But it doesn't slam your face into it, and we've recorded so vastly many lines for each robot so that you aren't hearing "I took an arrow in the knee" a million times.  We learned our lesson with Bionic Dues, where there are only about 6 voice clips per robot, and many of them were super distinctive in a way that got really repetitive.

Anyhow, I think that this is important for really having players connect with it.  Some of us just latch onto the mechanics themselves and that's enough, but for people who haven't been jonesing for a raptor fix quite as bad as I have, I don't know that that's enough without actually having a game with personality to hold it up.



So What's Wrong With Me, Then?

Why am I such a big idiot and keep giving these too-soon release dates?  Right, that bit.  Well, I'll break it down I suppose:

  • I legitimately thought that each target was hittable.
  • However, new information (bug reports, youtuber feedback, etc) made me re-scope certain things.
  • In general I underestimated how much time it would take to create the level editor, by a substantial margin.  Getting it functional was not bad at all, but then huge amounts of polish have taken up all that extra time.  Having a really killer editor is important for purposes of us being able to crank out quality content, though, and for purposes of players being able and/or inclined to do so as well, though.
  • I have been heavily incentivized to pursue aggressive release dates for early access because we continue to bleed money pretty badly even after layoffs earlier this year, and the Steam summer sale was a flop for us this year compared to most prior years.
  • Overall I've had a huge amount of internal back-and-forth (and discussions with my wife and staff) about the virtues of getting this into the hands of people early versus making sure the first impressions are positive enough that people want to tell others about it and jump on the bandwagon early.
  • When it comes to Youtube and Twitch, we're trying to really build as much attention and pre-release awareness as we can as well, and that's still an ongoing project that I don't want to prematurely end. The ball is rolling well on that, but my thought is that people have more interest in something that isn't available to the public yet.  Right now the current demo is just too short for them to really make a series out of playing it, and I feel like that hurts the ability of word of mouth to spread.

Overall there's a lot riding on this game, and I'm more than a bit twitchy based on that.  Consistent repeated delays sends a bad message that I'm quite aware of and regret, but at the same time it's important that people see enough of the game that they form the right opinions about it.

By "right opinion" I mean that, if they see an early simplistic build and conclude "it's a brawler" when the actual gameplay is a lot deeper, that's a problem.  If they see the actual gameplay and then think that's still not deep enough or whatever other problem, that's their right and not something I'm going to call "wrong," whether I agree with it or not.  But if I hand them an unripe strawberry and they say strawberries are terrible, then that's on me. ;)

Not that I've seen a single video talking about it being bad, which is super encouraging.  That's another thing that keeps encouraging me to go "just release it soon, just get it right on out there," etc.  But I think at the moment that would be a disaster for various reasons listed above.



The Plan

Right.  I'm working all this weekend, and worked most of last one.  Next weekend I won't be able to, and next Friday and Monday are also out for me unfortunately.  So:

  • My top priority right now is getting the level editor and the procedural generation in shape so that Blue and Misery can start designing content with it.
  • And then I need to get as many assets in there for them to do further work with as possible.
  • Then I need to get father brain in there, and ideally some more robots as well.
  • Throughout this period I need to do level design of my own (something I love).
  • I'll need at least one more pre-EA recording session with Ben as new robots are added.
  • Ideally I'll put together a new trailer.
  • There are some mechanics-polishing things that have to be done inevitably as time passes, too.

Given that, and looking at the calendar and how long things have been taking me and other people, I conclude that a reasonable time to release is the 21st.  That's an extra 10 days, although I'm out of commission for 4 of them (bah).  But the key thing prior to those 4 days is making sure that the level editor and so on is in such good shape that Misery and Blue (and others, if they so desire) can proceed without me and I'm not such a bottleneck as before.

Will we hit this deadline?  Honestly I don't have the confidence to tell you yes at the moment. ;)  I think we will.  We certainly can.  But am I going to see some Youtube video three days for now that makes me smack my head and go "oh gosh, that's right, THAT needs to be addressed?"  That would certainly impact the schedule.

It's also possible that Misery and Blue and I won't be able to create enough content fast enough, for whatever reason.  It's possible that I've underestimated the amount of work on some component here, and the 7.5 work days I have between now and launch won't be enough for whatever reason.

I will say that I'm highly motivated to get this out prior to the end of July.  August is really a huge sales doldrum, and anyhow waiting that long just makes the financial pressure loom even larger.  So I mean, the spirit is willing. ;)

All righty.  This is over 3700 words long at this point.  I figured that with this news, folks deserved an explanation for what is going on, though.

Talk to you soon!

Chris

Click here for the official forum thread on this post.

New Build With Movement and Occlusion Improvements!

New build for you tonight! There's a metric ton of new and improved stuff in the level editor that isn't really ready for prime-time yet, but pretty soon you'll be able to create your own custom apartments to fight robots in, if that's your sort of thing.

More importantly to your immediate concerns are a handful of updates:

  • The raptor now only moves 1.25x as fast as it used to, rather than 1.5x, as the latter was just too darn fast in small spaces in particular.

  • The raptor is now able to jump in a controlled fashion to different heights, rather than having only one big jump speed. Thus you can tap it for a small hop that is smaller than you ever could before, or hold it down for a much higher, slower, more graceful jump than ever before. So you can reach higher places again, and in a much more reliable fashion as well.

  • Fixed a huge number of issues with the occlusion system that crept in during the last public build. (The system is actually even more efficient than before, at this point.)

  • In the lab in the last build, the deflection slap was not working right in third person. It was in the industrial level.


Other minor things:

  • The latest version of SECTR Audio has been integrated, and solves some of the issues with HDR audio clipping.

  • Fixed a bug that has been around for a while where realtime fracturing of objects was doing all of their passes at once rather than just some of them. This makes those objects -- most notably glass windows -- behave a lot more like they are supposed to.


Over the weekend you'll start seeing the first procedural levels, in the apartment building space.

You'll also start seeing "Father Brain" and a new way to beat levels that can involve some degree of stealth. The existing demo levels won't be altered to those new mechanics, but this is how the actual procedural levels of the game will work.

Right now it's still a really rough preview in the sense that it gives you the mechanics of moving around and fighting, but still not a real sense for real levels. Thanks to various folks for providing feedback on the feel, though, as that's helped us refine it even prior to the early access launch.

Talk to you soon!
Chris

Are You Kidding Me, Chris? Raptor Releases On the 11th Now?

Yeeaah... sorry about that.  Last week it was going to be the 5th, and then late last week that shifted to the 8th.  Now it's the 11th.

So what gives?

Well, in a nutshell, I'm trying to make sure we have the strongest possible offering right at the start of Early Access.  This whole early access thing (the official system, not doing betas) is new to me, so I guess I'm a bit gun-shy on that.  Plus the Steam store is a really challenging place right now; we just took a beating in the summer sale, so it's very important to me that this launch well.

Let's look at the positive side of this, though, and what each delay has bought us:

Shifting to the 5th:

  • We now have a first-person view in addition to the third-person view.
  • A lot of enhancements have been made to the handling of the third-person view, too.
  • The level editor is waaaay more advanced than I'd ever anticipated for this point in particular.

Shifting now to the 11th:

  • The first procedural level in the EA version of the game is now going to be an apartment building, rather than an industrial area.
  • This is a way more unique and interesting environment as a first experience, because it's so innately familiar to us from real life.  Seeing a raptor in someone's bedroom is freaking cool.
  • This has prompted me to come up with some new cool ways of stringing together level pieces in order to make these levels feel labyrinthine in a good way.
  • This has also prompted further refinement to the feel of the raptor, so that it now can navigate these sorts of smaller spaces as well as the larger spaces like we were testing in before.  The added versatility is really cool.

A bunch of sites just today and yesterday picked up the story about the game coming out on the 8th, and I apologize for that.  I'm just trying to front-load things so that you can see the EA launch trailer and go "wow, a raptor inside residential buildings isn't something I've seen before."  The industrial areas will still be a part of the game (along with 8ish other planned environments, ideally), but they aren't what we should be leading with on our EA launch.  It was actually a random comment on one of the news articles that made me realize this, go figure!

We'll have updated press builds in the next few days, and video around that time, too.

Here's a screenshot for you -- bear in mind that this is in a semi-prefab room that has a variety of things wrong with it.  The windows aren't right, the ceilings are too low, the ceiling panel scale is off in this particular view, the lighting is wrong, and the list goes on.  But it does give you an idea of how things are shaping up:



Click here for the official forum thread on this post.