This build is coming to a Humble Library near you soon!
If you haven't read below, we pulled 0.6.1 from submission due to OSX crashes. However, we've submitted v0.6.2 on 2/16/2014 so it should be arriving in your Humble Library in the next couple days. Thanks!
Aaaaaaand finally, a new build! We definitely appreciate all of your patience in the massive gulf of time it took us to get this thing out. We made some pretty extensive technical changes and have been adding some new systems, so hopefully the wait will have been worth it. Without further ado, the ridiculously long build notes!Build Checker
We finally implemented a cross platform solution for checking if your local build is up to date! Whenever the game launches, it will try to ping our servers to see if a new version of the game is available. If such a version is, then you will get a very basic message telling you that there is a new build and that you should download it. This network check DOES NOT interfere in any way with the normal operation of the game: if you don't have an internet connection, the game simply shrugs and moves on. If your build is out of date, you can still play it to your heart's content the game will simply remind you each time you boot up that a newer version is available. We hope that is a convenient way to guarantee that you are up to date Databases Databases Databases
This was, unfortunately, a massive amount of time and effort on our end. We effectively rewrote the entire code system for our in-game databases. Not only did the coding take forever, we of course broke several dozen things that had to be fixed and tested. So why did we do this if it was so time intensive? Well, we didn't want to, but we were reaching the point of no return. When we first wrote the database system last summer to work with the massive CSVs our designers and scripters use, we knew up front that it was definitely not the most optimal approach in terms of speed and required processing. However, we thought it would probably work well enough. Unfortunately, as most of you have probably experienced, the load times for the game were getting really, really bad. On my main dev machine, which is fairly high end, level load times could take between 10-15 seconds and after talking to people on the forums, I realized some people were getting load times approaching or exceeding 30 seconds. Which is just plain awful.
So instead of waiting for the mobile release (where I already knew we had to redo the DBs) and living with awful load times, we redid the whole freaking system. One of the most painful months of development for all of us here in the office
I think that the benefits were quite worth it though: now we are loading approximately 2x as much data (the weapons databases are gigantic) and load times have been improved from between a factor of 5 and 10 depending on the machine. For reference, loading on my main dev machine is now less than 5 seconds across the board.
I would definitely *love* to hear from you all regarding your load times. I had previously made a thread about this
and would appreciate it if you could contribute to my data there. If you've already uninstalled v0.4.2 by the time you read this, no worries, your data from v0.6.1 is still very valuable for me. Cross Platform Controller Support
We know natively support controllers on Windows, OSX, and Linux! Not only that, but we also now support entirely remappable controls for both controllers and keyboard. We will eventually have a menu in game that you can do input remapping from, but for now remapping must be done in the controllers CSV file. I have started a thread here explaining how this works and what you can do if you want to remap your controls. [TODO: Add Link] The move to X-Platform controller support also means that the XInput 3.1 dependency is no longer an issue on Windows machines.New Action Controls
We've added several new action mechanics in this build and as such the control scheme has been altered substantially. Here is the new control scheme via logical commands (check out the controller thread for specific mappings to KB/Controllers.)
Attack - Tap Attack
Charge - Hold Attack
Defend - Hold Defend
Shield Dash - Double Tap Defend
Open Doors/Activate Switch - Tap Interact
Pick-up Item - Tap Interact
Pick-up and Hold Object - Hold Interact
Drop Held Object - Release Interact
Throw Held Object / Inventory Item - Tap Throw
Drop Inventory Item - Hold ThrowInteract
The Interact action is now in game and functioning. This action will, uh, "interact" with things in the environment based on context. As the Jailer, for example, this action will open the jail door for the character you would like. Another example is flipping switches. The Interact action will also pick up things: for objects (like a crate) you can hold interact to pick up and hold the object. When holding an object, you can press Throw to toss that item. For items, Interact will either pick up the item and add it to your inventory or, if the item is a single insta-use, consume the item.Hardness
This is sort of an experimental feature, but seems to work ok for now. All objects in the game have a certain hardness which is more less dictated by material: glass, ceramic/flesh, wood, stone, metal, super metal. When throwing an object, the object can do kinetic damage. This damage is distributed based on the hardness of the object thrown and the object hit. If the thrown object is harder than the hit object, all of the kinetic damage is applied to the hit object. If they are of equal hardness, the damage is split, and if the hit object is harder than the thrown object, all of the kinetic damage is applied to the thrown object. As mentioned, this is experimental in the sense that we literally just implemented it and haven't thoroughly tested it.Items
There are now 3 broad categories of items in the game. Inventory Items All weapons and any items like books and spells that must be deliberately used and any consumable with multiple uses are Inventory Items. When you pick these up, they go to your inventory (assuming you have space.) Once in your inventory, you can use these items, drop them, or throw them.Insta-Use ItemsAny item which cannot be explicitly used, but may have positive or negative effects are insta-use items: you must Interact with them to pick them up and consume them. Examples would be: pieces of meat, can of beans, fairy cake, etc. Since these things could be poisoned, you must use them at your own risk.Auto-Pickup ItemsAll items which cannot be used and will never have negative effects are auto-pickup items: you collect these just by touching them (coins, shield pieces, experience orbs.) Inventory
You have 5 inventory slots (plus your equipped weapon slot) that you can fill up with goodies. Each item in your inventory will have a use count unless it is your class's primary weapon type (in which case use count is infinite.) You can cycle through your items and swap your equipped weapon with any selected item using the Swap Weapon action. You can drop and throw items out of your inventory for management purposes (or fun!) Important note: The "Use Item" action is not functioning yet, so for now to use an inventory item you are forced to swap it to be your equipped item.BeastKeeper
Yes, that is the BeastKeeper lurking in one of the jail cells. She is locked out of this build, however, as her animations are not quite finished. She'll be coming to a build near you soon!
We've enabled the Beastkeeper in v0.6.2 - she has enough animations now to playable, although her animations are far from final.Weapon System
One of the biggest additions to this build, is a fully functioning weapon system (finally!) We've got everything up and running data wise and implementation wise, things are quite usable. Explaining the full randomized system here is beyond the scope of the build notes, but it is important to note that for this build, we are simply pulling random weapon base types - and not fully randomizing them (this is why you'll see lots of bronze weapons.) I don't know the exact count of weapons in this build, but its probably around 40-50 and about half of the core weapon families have an instance in game. Some examples include: brass knuckles, knives galore, swords, hammers, maces, whips, bows, and of course flasks! Along with the sweet visuals of the weapons, we've added a ton of properties that directly affect combat, for example: knockback, character recoil, break chance, user damage, critical hit chance, repeat count, oscillating collision, stun mods, etc. We also split the weapon timing system into the 3 core components (wind-up, execute, and retract) versus having one single timing variable per weapon. Classes also have particular affinities (and weakness) to different weapon families which manifest as modified use count, character recoil, chance to break, etc. It is still the early days in terms of weapon scripting and balancing, so there are some goofy things as it stands, but there should be plenty of stuff in the game now to give you a taste of what the complete system will entail.
Bare Fist Brawling
After a lot of discussion we've gone ahead and decided to allow the character to be weaponless. This is a result of the way we wanted to set up how the inventory works, but by itself would cause serious issues like the player being unable to get out any of a multitude of situations. As such, characters will now punch for an attack if they do not have a usable weapon equipped. Obviously punching is going to be pretty weak, but it at least gives a player who poorly managed their inventory (or the uber hard core) a fighting chance. Throwing WeaponsUnfortunately, I was unable to get throwing weapons smoothed out enough for this build - they have lots of their own tricksy properties. This includes *actual* throwing weapons (shurikens, bombs, grenades, etc.) as well as the throwing of any weapon in your inventory - for now you can only drop them. I really want to get these implemented so there will likely be another minor build soon that has just this update to it.
Charged attacks are now implemented in game - functionally at least. We need to add some VFX/SFX for them yet. Charged Attacks will increase the following stats during the attack: Critical Hit Chance, Enemy Knockback, and Execute Speed. The values are on a per-weapon basis versus generic, so there's a decent amount of variability although since most of the weapons in this build are on the crappier side, the effects are probably less pronounced.
There are a lot of other less major things going on in this build as well. New character animations, a couple new enemies, overhauled Z system, bug fixes etc. To list all of them here would take forever