Daniel and I sat down this afternoon to try and kill that AI performance bug I mentioned in our last post - and I'm glad to report we fixed it. The game should run smoothly on a variety of hardware now.

You see, we have pretty powerful AI that was taxing on the performance of the game - it was dropping our frames down by like a factor of ten on MY computer (which is unacceptable!) so we had to sit down and work on it. We set up a control variable of 500 Artificial Intelligence's in one room, and ran the game.
Update 783 : 8.012ms
Physics step : 0.247ms
Update entities : 6.802ms
Update model attachments : 0.405ms
Update entity attachments : 0.531ms
Update hud : 0.021ms

Here is the initial data. As you can see, it takes almost 7 milliseconds to update the entities (which are all of the living creatures in the game), which is pretty bad considering our "budget" is around 2 milliseconds. The total update time was 8 milliseconds.

So after some tweaking and optimizing, we arrived at this data:

Update 1202 : 3.067ms
Physics step : 0.145ms
Update entities : 1.896ms
Update model attachments : 0.57ms
Update entity attachments : 0.427ms
Update hud : 0.023ms

We dropped it by more than half with some quick work - and now it's pretty acceptable. We did this by decreasing the amount of raycasting the AI was doing, and also optimizing their sensory systems and the physics engine to accommodate their large sensory radii (how far they can see and hear)

However, this still was no acceptable. We were still going over our 2 millisecond budget. So we decided to set precedence over certain thought processes of the AI's brain. For instancing, they should only consider sensory stimuli every tenth of a second, instead of 512 times per second.

So finally, we added this, and this was the final data:

Update 3296 : 2.441ms
Physics step : 0.172ms
Update entities : 1.26ms
Update model attachments : 0.511ms
Update entity attachments : 0.477ms
Update hud : 0.017ms

We dropped it by another 600 microseconds, and we're now in our budget range (atleast, pretty darn close!). Which is really cool. We dropped it by a factor of 3 times!

Sorry to ramble, but I had to share! Demo 5 Wednesday!

We're releasing DEMO 5 Wednesday. This is why there has been no Saturday updates for about two weeks now - we've been preparing.

I'll be releasing the game and a new demo video on YouTube, so get ready! It's going to be fun. But we need to talk about some things first.

This demo only represents the combat engine and some basic AI - along with parts of the dungeon generator in its infancy. We had to do a lot of engine restructuring and overhauling since our last admittedly crap demo. Of course, we've made a ton of under the hood progress - but you likely won't notice a lot of that.

The purpose of us releasing Demo 5 is for our friends on /cgg/, and those who have been watching us since the start. We've gotten our stuff together - and redone almost everything. Animations, lighting, loading systems - and it's pretty nicely optimized. This is also giving us a chance to get some feedback on combat and hear your ideas, along with getting some bug reports so we can fix anything that goes wrong.

To send bug report, simply email us the log.txt that is outputted beside WSW.jar to weshallwake@outlook.com.

Some problems I've noticed however is that the AI is taking a huge toll on performance - so FPS may not be perfect. I'll have this fixed next week, but likely won't have time to fix it before Wednesday. The reason the AI is doing this is because they use a lot of raycasting for their occipital lobes in their "brains," so that they can see and react to external stimuli. As cool as this is, I may need to simplify it due to the bad performance (it can drop the FPS by 10!)

I'll try my best to fix it, but with school taking up a lot of my time recently, I can't promise anything.

We'll be including a profiler for the graphics engine, so while playing you can press P to output data to the console (I'll include a batch file for opening the game with the console as well). You'll be able to see just how powerful Insomnia is in a textual fashion - and how fast it is. We also have a timestep button mapped to 2, so you can slow down the game and see the motion blur and all of that working - it's really cool.

UNTIL THEN, HOPE RIDES ALONE.




Hey guys.

I made another video with that cool new webM format if you're interested - really crisp crystal clear quality, and at 60 FPS. It's only 18 megabytes too so it won't take long to download it.

Here's the link, just be sure you actually download it and open it in Chrome/Windows Media Player so that you don't get stuck using the YouTube player (which bottlenecks the crap out of the video)

What have we done this week? Quite a bit.

I added some new moves to the game (a basic uppercut that extends the basic hand combo) along with some new flips and abilities for Auto-Motion. Along with this, I finished the Auto-Slash to look more Casshern-like (which was my original goal). There's a webM below showing it's usage (download it here since the YouTube player butchers the quality), and you can see the scene from Casshern I pulled it from here. Of course, I still need that crazy effects and sounds for it to feel complete, but I'm getting there.

video

I've also added combat AI to the game, which could be seen in the larger video I posted above. It's actually really basic and needs some tuning - one of the major problems being that the AI is too hard, and I can generally only take out about three of them before getting killed. Which really isn't acceptable for normal mobs.

I'll be keeping the AI and intensifying it's difficulty for a few key boss fights against MORS' brother however.

Along with all of this, Daniel and I have been working on an editor for the game engine that will be providing a few tools for working with Insomnia for when we release it as an open source project. As of now this editor is called the Circadian Toybox.



The official deadline for the demo is April 30th. I will be releasing it regardless of how complete it is by then. So it'll probably be full of bugs - but that's okay, that's the point of demos. You guys can break the game and email crash logs to us at weshallwake@outlook.com so that we can patch them in later releases.

Have a great week guys!

Well, first of all, here's a new video.



What we've been doing should be pretty self explanatory once you watch that.

The demo is coming very soon - and I'll have more to say then.

Take care!