Description

Live Chat: Discord.
Get the latest builds: Patreon.
Get Mods here: Reddit.
Public Version for game under development (v4.9.2): Here.
Download for Heroine Rumble is at the Heroine Rumble page.

Sunday, February 10, 2019

Preview Build #1



Patreon LINK.

NOTE: this a preview build for a reason. Expect unintended features. Backing up saves before running this is highly recommended, and have cheats available in case anything goes amiss.

The big feature in this build is a completely new Zone & Map system. This, in turn, enables a couple of other things, such as the new dungeon generation. Included in this build is a "Test Dungeon" to showcase and test some of these new features.

In short, how this new dungeon generation works is by sewing up premade rooms together rather than generating the whole dungeon procedurally. In the data/testDungeon folder. You can find a folder containing all the individual maps:



This, combined with the dungeon definitions in testDungeon.json is what the game uses to generate the dungeon.



In case anyone's wondering, the editor I am using is Visual Studio Code.

The individual maps can be loaded:



And modified (dont forget to save of course.)

Some of the new features are done via equipment items, as I think that's easier to use than terrain_editor.

Getting those items via cheats can be a bit annoying so here is a complementary map file with the new items: https://mega.nz/#!DCpVhKzC!N5zQnuYfH5gGXzDGA4Rgft8zQ7fgVRRJQQwU3Ev6hpk.



I think, that's pretty much all I wanted to say for now, feel free to give a try. If you got any questions, head to the discord. And make sure to report bugs!

Oh and the new cheat to disable AI is [lobotomize]. This is very useful in preplacing hostile units together. See battle.map for an example.

Changelogs:

- Notification text (bottom right) should handle multi-lined notifications better now
- Fixed hotbar key number not showing up for bars#2 and #3
- All quest progress is reset due to migrating into a new system
- Fixed bug with incorrect texture generation when block subdivide > 2
- A certain stealthy cheat should now be more stealthy under certain circumstances
- For purpose of multiple grabbers, you may now set "usingPart" for each individual attacker. Eg "attacker":{"usingPart":X, ...}, "attacker2":{"usingPart":Y, ...}
- Prevented the saving of game state when the player unit is not unique (through cheats)
- Implemented partial serialization of (some) unit data in maps
- Merchant-Chan now sells constructable crates that you can place
- NOTE: the use count for constructable items is not working atm. Meaning they have infinite uses.
- Implemented placement tranforms that change the scale/rotation/position of the object to be placed under Character - Commands
- Implemented new item type - markers, theses are used for construction of user made maps
- Implemented a new dungeon generation system
- Re-implemented the Zone Transition System
- Implemented various things to make new dungeon generation work
- Implemented light emitters that can be placed on map and saved
- You can adjust the light settings via the following console commands:
- m_light_color r g b // changes the light color, can be > 1
- m_light_attenu const linear quadratic // changes the light falloff. Calculated as 1.0/max(1.0,(const + linear*dist + quadratic*dist*dist));
- m_light_spot x y z angle_inner angle_outer // changes the area of influence of the light to a cone. X Y Z forms an direction, and angle_inner, angle_outer are radius of the cone in degrees where influence = MAX when angle < angle_inner and influence = MIN when angle > angle_outer
- m_light_point // resets the influence of the light to a sphere
- Implemented a light culling system where the game will only use a fixed number of lights with the most influences to the scene
- These new lights may have an adverse performance effect on systems with poor GPUs.
- Removed the day - night env light system
- Env light can be now set at each map rather than only having one global env light setting
- Implemented dynamic loading of cubemap/skyboxes
- Applied the generation of ambient light data to dynamically loaded cubemap
- Currently, the game can only use 1 global ambient light source rather than from an aggregate of light probes around the map
- Implemented marking regions capabilities
- Use the m_region X command to change current affected region
- Use the m_region_list command to list all used regions
- Implemented randomly spawning units/props in designated regions in maps
- Implemented new map-development console commands:
- m_create w d // creates a new map with specified dimensions
- m_save // save the current map to
- m_load // load a map from file
- m_spawn_npc "unitID" amt // spawns invulnerable NPCs at cursor location
- m_gen_enclose h "wall_tile_id" "ceil_tile_id" // generate enclosure on the perimeter (walls and ceilings)
- Implemented new cheat to disable AI
- Implemented a buffer for the console that stores previous inputs.
- It is now possible to access previous inputs via UP and DOWN arrows
- Embeded an kindof playable experiment "Test Dungeon" to well, test stuff.

Thursday, February 7, 2019

Modding: generating IK data tutorial

A while back I mentioned that I'll add a tutorial on how to generate IK move data to handle grabs between non-standard size participants better. Finally gotten around to do it, here it is. Mostly pictures, but should be straight forward. Feel free to ask questions if anything is not clear.

Regarding the new Zoning System and Dungeon generation, what I'll probably do is release an $10 tier experimental build. The reason behind this is very likely to be buggy and most of the new features are probably only interesting to modders. Many things expect that the user have access to cheats anyways. So that's what I'll do. Then when most of the (major) bugs are fixed, probably going to release it for the $5 tier.

Picture Tutorial:

Mod!



Okay!

Non-standard size?

:(





IK!!!





:(

gen_iks!

“disabled” true !!!
Standard size.



Standard size!!!



STANDARD SIZE!!!




BAD!
“disabled”: true!!!
Standard Size!!!


Okay!








“disabled: false !!! Or delete the line.

Non-Standard Size.




Much Better.
:D

Sunday, February 3, 2019

Progressing...

On the last post, I outlined the new dungeon generation system. Here is another post demonstrating some of the things I have implemented.

So, the dungeon generation itself. It short, it mostly works now. Here is a visual demonstration of how this new system works.

We start by using the terrain_editor to create a bunch of building blocks. (These blocks are for demonstration purposes and not final in any means)



These can be saved to .map files individually.

Then, we can declare which and how many of these individual blocks to use to create the dungeon, like this:


Then, via some magic, we can generate the entire dungeon:


This is pretty nice, but it could be better.

So I introduced a new item-type. Markers. Which can be placed in the map but does not affect regular game play. One of the new markers are light emitters. This allows the user to create and use different light sources:


Their color, falloff, and area of influence can be adjust via console commands.

But that’s not all. In addition to direct light sources, it would be nice to change the ambient and environment light too. And so long story short, that works too:



Finally, I added additional tools to make placing objects easier. Under Character-Commands window, you can find a bunch of new commands to change the position, orientation and scale of objects to place.


I am working on a couple of final steps on how the enemy spawning will work and possibly a way to define regions in each map block that can have data associated with them. Things like “randomly spawn traps of type X,Y,Z in region A” and “spawn enemies of type X in region B.”

So I need to make a couple of decisions and I am not quite sure how to proceed. Which is, a) should I release the new build when the new dungeon generation is working, and b) is whether I should release it to everyone ($5 tier). The reason is that it is probably going to be extremely buggy combined with the fact that there isn't going to be any new content yet. So perhaps a better choice is to postpone the build until it is more stable and until I have the time to create a new playable dungeon.

Sunday, January 27, 2019

The Progress So Far



Been working on the new dungeon system, here are some of the new things so far.

The first is a rework of the transition system. This is kinda hard to explain without going into technical details. But basically, under the old system, the game simulates all zone that the player have visited. So the game may be running the village area, the tent area and the dungeon area at once. This have a couple of problems, such as poorer performance and oddities such as villagers falling into the camp and so on.

Under the new system, only one active zone is run at once. If you visit the village, the tent area is “frozen” into data and removed from memory. When the player visit the tent from village, the village area is “frozen” and the tent area is loaded into memory.

So why isn't this done in the first place? Well, basically, the game had some issues in saving units information. So the village cannot be “frozen” and brought it back. If done so, it would be a ghost town.

That brings us to the second feature. Which is maps now saves (some) unit information, in addition to some other stuff required for the next feature:

Feature three, a new dungeon generation algorithm.

The main change is that instead of generating everything procedurally, this new algorithm will take a list of existing premade pieces (map files), and sew them together to make a dungeon.

Here are a couple examples: The individual dungeon building blocks are on the left, the generated output is on the right.



Compared to the first algorithm, the new algorithm generates more linear dungeons instead of maze-like. think this is an improvement because running around/ backtracking in a maze really isn’t that interesting.

Also note that the “walls” are a pure development tool to distinguish between the building pieces. The algorithm only cares about where the connections can happen (those are in blue) in each building block, it is entirely up to the creator how each block should look like.

Finally, I added “blueprint” items. These can be used to place objects in the environment. How it works is similar to Minecraft, you acquire the item (through shop, drop, etc), equip it, and it will bring up the preview model on the cursor. Move around, look around, then press LMB to confirm placement.

The end result is similar to what you can accomplish via the “terrain_editor,” but this is much better in my opinion. The interface is a lot cleaner and it takes advantage of the hotbar system so you can quickly access to the objects you are interested in. But the biggest reason is that the “terrain_editor” is too powerful for regular gameplay, it’s basically a cheat. However, these individual blueprint items can be fine tuned in terms of what type of objects the player can construct, their accessibility,  and their cost.



Still a bit more work to do. Need to implement some additional meta information/placement information, etc which are required for turning the 2d sewed-together dungeon blueprint into reality. I should be able to get the features working sometime near the end of next week. However, actually making the individual map files (dungeon blocks) and create a new dungeon will probably take some more time to do. So what I might do is release the next build with the new features but without any new dungeon/content. It’s probably going to be somewhat buggy and it’s probably more for the modders rather the players. Caution is advised. :D

Thursday, January 17, 2019

v4.944 - Tweaks

Patreon LINK.

Changelog:

        - fixed move selection bug where futas are treated as males
        - more units have access to threesome moves
        - you may now grab restrainted units (instead of carry or nothing) if your current equipment is not an restraint
        - implemented a few more cheats

The previous patched made a couple of systematic changes. The issue with those is that it can be difficult to see all their effects without throughout play testing. So thanks for all the feedback! Hopefully this patch nudges it into a better place, if not, we can always try again :D.

Monday, January 14, 2019

v4.942 - bug fixes



Patreon LINK.

Changelog:

        - males: can now equip horns and tails
        - fixed bug that only beatdown could be selected on unit on devices
        - optimized the interaction prompt when attempting to place unit onto devices
        - restored pp to units that lost them in previous patch
        - traps: now assigned to teams & only triggers on hostile units
        - trapper units will now place traps of their own team
        - fixed abilities duplication bug on save/load
        - added temporary command [fix_dupes] if you are affected by this bug
        - added a new hair style "hair_short_7"
        - added experimental modding command [gen_iks] to generate .boneLocalOffsetsArray IK data
        -   you still need to "prime" the ikChains with "targetSkeleton" , "targetBone" etc
        -   will have a separate post on how to use this

If you noticed that saving takes a long time and/or the save file is too big, check to see if you are affected by a "abilities" duplication bug by taking a look at the "abilities" tab. If you see a million copies, open the console and type in [fix_dupes] without the [] and that should  fix the problem.

Secondly, if you are having problems opening the console, change your keyboard language input to English-US and that may solve the issue.

Thirdly, I added an experimental command [gen_iks] for modders to implement new grab animations in game. There are a couple of great ones already but unfortunately there was no easy method to author the IK data required to handle different body sizes, until this patch. I will make another post in detail how to utilize this new command.

If you havn't checked it out already, we have a mod repo subreddit at: https://www.reddit.com/r/enlit3dGames/. There are a couple really neat mods out there already.

Thursday, January 10, 2019

V4.94 - playable males!

Patreon LINK.



Playable males and additional console commands are here! This knocks off the first and second significant features for this month. There will be another $10 Patreon only post on how to utilize additional console commands not mentioned in the patch nodes.



Changelog:
        - new feature: units can be assigned with a list of known moves(grabs) to pick from rather than having access to all the moves
        - some units are now assigned with a list of moves
        - fixed bug with hotbar key displaying incorrect numbers after swapping
        - game will now forcefully fade out to camp if player's green HP reaches 0
        - implemented additional console commands (as $10 patreon reward)
        - implemented modding commands: [list_item_ids] and [list_unit_ids] to display list of item uids and unit uids
        - implemented playable males - potion can be brought off alchemist or as reward for Ludas Lair
        -   armor for males can be found as random loot/in shops, the shorts can be brought off alchemist
        -   note: males cannot wear female armor and vice versa
        - changed the opening console key (`) check to a different method - there is some issues with different layout keyboards, the solution is involved; this is just a bandaid
        - added the new hair styles mentioned in last build