Hey guys, just a heads up, I'm going to be gone until Tuesday because of a trip. So I'm posting this early, since I decided to make a weeks worth of progress in a day - I'd hate to let you all down. Plus I had a bad day, and bad days are excellent for programming. Your productivity soars.

Anyhow, here's what I did today:

Finished refurbishing and re-implementing our old physics engine

Overhauled our engines to be more organized, added WSW2D engine as a sister engine for WSW3D

Did some tweaking and general bug-fixing

This may not seem like much, but replacing a physics engine is no game. We spent the last weekend getting our old engine ready for implementation, and I've just now gotten the chance to finish overhauling the game.

Why did we do this? It's actually kind of a funny story. You see, when we released the first demo back in September of last year, we had been using our own custom physics engine. Daniel had a more experienced friend tell him that making your own engine is never a good idea, and suggested we use Bullet.

Daniel presented some facts and opinions, and eventually I gave in and we implemented it. At the time, replacing our entire engine with it seemed like a good idea - the reason why we did this was because he was going to need a more sophisticated physics engine to support features like physics-based particles and ragdolls.

Once it was implemented, I had a lot of trouble using it for gameplay - because as it turns out, Bullet limited us a lot when it came to using it for extreme things like going 40 miles per hour on 500 x 500 map - I'd often fly straight through walls or out of the map, and the only way to remedy this was to jack up the UPS, or Updates Per Second. It ended up at 256 before it was stable, and by then we had decided that was not going to work - it was too intensive.

So we both agreed, "If you want it done right, you have to do it yourself," which hilariously enough, has essentially been our motto from the get-go. We did the same thing with the original graphics engine because jMonkey is terrible, and I did it as well with the sound engine because Pauls 3D sound engine wasn't too good either in terms of it just working. Respectively, WSW3D and WSWSound are probably me and Daniel's magnum opus' in terms of programming anyway, so it all turned out pretty awesome.

Anyway, we spent last weekend refurbishing our old physics engine, dusting it off, and putting back in. We're turning the physics into a hybrid engine, where Bullet will do less important tasks like ragdolls and particles, whereas ours will do the heavy lifting - because unlike Bullet, our engine was built for high speed action crazy.

So lastly, what does this mean for the game? Well here are some features I'm going to have the pleasure of possibly adding and re-implementing:

I caught really caught up in programming, I completely forgot to update the blog for you fellas.

But man, I have a lot of progress this week. First of all, combat is going great. In fact, I didn't expect to be this far into development until like March 20th. So that means more time for refining and bug-fixing. What did I add?

Well, for one, I've filled out the combat quite a bit. Check out this GIF, you'll see a lot of new additional moves have been added. I've streamlined combat so that it functions more naturally, so for example, you can run and slide, and then pop back up into a running punch.

Note, by streamline, I don't mean simplify. Some of these moves may be hard to pull off well, in fact, I haven't mastered my own systems yet. But it's all really cool, and I think there are a lot of possibilities here for brutally murdering enemies.

I also added a new system that I've had planned for a while - this is called Auto-Motion Combat Context. I may have mentioned it on here before, but this context system allows you to shift the way Auto-Motion functions in combat situations.

For example, normally tapping the Auto-Motion key allows you to dash and do fancy flips (picture above) - but when you press the combat context shift key, it changes into a combat based context which allows your dashes to be offensive.

These dashes are called Auto-Slashes, mainly because the character teleports in a slashing like manner, doing minor damage to the energy. To counter how powerful it can be, it uses your energy - which is the same thing that powers Bio-Mechulus - a feature I'll discuss more in the future.

While in Auto-Combat Context, you also have access to Grapple Based Combat - which I'll actually get to implement a lot of for the combat demo in April as it turns out. Essentially, you'll be able to put grabbed enemies in your gravitational field - and this will be Vitality Shield. It'll suck their health away gradually, and you'll also be able to use their bodies as platforms for double jumping and firing them off like bullets. It was made in respect to Virgil's floating swords in DMC3. This feature isn't implemented yet, so no GIFs. But it will be. If it turns out too buggy near release time, it won't be in the demo however.

Lastly, in regards to the above GIFs and the demo in particular - note that a lot of the special effects haven't be implemented yet. We're missing the Auto-Slash effect, and a lot of the combat related effects like sparks and flinches. A lot of people have complained about "the combat not being weighted enough," this is actually due to the fact the AI can't get up off the ground when knocked down (because the AI is disabled and will remain disabled until AI Month during the summer season) - so that "seizure" animation that plays when they're hit is essentially temporary. The final AI will not be so easily knocked down - in fact, you'll probably spend more time on the ground than they will.

For the demo in April, AI systems will be turned off, and they won't react to anything you do. This is because we've focused on player controls for the last two months, and that's how I'd like to keep it.

Anyhow, I made a lot of good progress this week. For one, I completed the combat engine for the most part - which means I can start creating the combat movesets for the player and AI.

I've already finished four moves out of seventeen, so all is well.

I'll discuss them a bit.

This first GIF is showcasing a basic hand combo and the straight kick move. The hand combo works as you'd expect it, you just tap the punch button and he'll alternate punches. It's supposed to act as a good base for your combos, and then the straight kick is a good finishing move. You can also hold the button responsible for the straight kick and transition into "a thousand kicks," which I'll show at a later date.

In the second GIF, you can see me using the "Air Stomp" ability, which is just a basic area effect attack that causes a higher stun point value depending on how high you jump from, which is why I'm able to knock that enemy off of his feet so easy. I may have to tweak it a bit though, as it's a bit overpowered at the moment.

In the third GIF, you'll see a sliding type move called the "Momentum Punch," which is a lot like Stinger from Devil May Cry. However, instead of knocking the enemies away, it slams them down. It has a high stun value and can stun most enemies instantly, but won't work on bosses and bigger guys. It's good for closing that space between enemies you've knocked away, without the over-corrections of something like a dash or roll.

That's about it for now, I'll have more attacks (and crazier GIFs) next week. For your viewing pleasure, here are some more GIFs of me messing around in the game.