Coding Task List - Before IB2 Initial Release

Discuss anything in general about the IceBlink Engine + Toolset project (or anything else) here.

Re: Coding Task List - Before IB2 Initial Release

Postby youngneil1 » Fri Mar 30, 2018 2:11 pm

IB Beta v93 released - no warranties, no liabilities, use at your own risk:

https://www.dropbox.com/s/w4nyne4opdo0g ... 3.zip?dl=0

Long list of changes incoming, this update is rather large:

- fixed bug concerning inheritance of traits from default char
- fixed crash bug related to small random idle moves on adventure map
- added property for minimum number of characters in party before being allowed to leave the party creation screen (also for roster), see module properties
- added more means to scroll the log than the mouse wheel (keys R/F, also on adventure map: either W/S or up/down arrow, see below); scrolling activates the log again automatically, blending it in
- pressing "H" shows all hotkeys now: on buttons (As beforehand), but also also all other hotkeys directly onscreen, shows different keys during Encounter
- pressing "T" activates the first light source in party inventory, if any; pressing T again turns it off again (think T as Torch toggle)
- change party leader on the fly with qith Q/E keys, also either A/D or left/right arrow (you can even hold the key down for a nice ongoing rotation effect)
- pc with zero or less hp cannot become party leader anymore and are skipped automatically
- added new toggle bewteen arrow keys and wasd for movement on adventure map (has also implimcations for log scrolling and party leader changing hotkeys, see above)
- the same toggle will incombat determine whether the camera is moved by arrow keys or by wasd
- if incombat camera remains on arrow keys, then diagonal moves will also work via q/e/y/c, more or less mirroring the numpad (which always works for moving)
- "Space" key triggers an active search on adventrue map (more below)
- "Space" key incombat is now for skipping a turn
- more hotkey changes (press "H" ingame to see all)
- best use the the ui layout files from data folder of default module and redo any adjustments you may have made
- the new active search ("space") can be configured to have an sp cost (customizable amount), you also can define whether only the current party leader has to pay such cost (all under module properties)
- active search also takes 10 steps of time on current map (clock moves forward acordingly, including moving NPC)
- triggers have a new property in toolset to set them to only work if an active search has been performed on top of them
- furthermore, the events 2 and 3 of a trigger can be connected to the results of af gcscript run on event 1: this way you can eg run a gcPassSkillCheck script on Event 1 and in case of succeess only event 2 fires, while in case of failure only event 3 fires; a basic logic building block (shortcutting a bit of scripting if wanted); when checked, event 2 is always the gcTrue event and Event 2 is always the gcFalse Event (in both cases referring to the outcome of a gc script on event 1)
- added a "silent" variant of gcPassSkillCheck (gcPAssSkillCheckSilent) that does not report anything to log or float, so you can do hidden skill checks
- gcPassSkillCheck (and its silent variant) have been increased in functionality a bit: you can now check for pc via direct number in party, for leader, for highest in party, for lowest in party, for party average or even make evrybody in party do a separate roll (and in this case define whether allMustSucced or - atleast . oneMustSucceed); you can also leave the method of checking blank - in this case the method of checking is read directly from the trait (see below for new trait properties)
- this does not only take into account the skill bonus coming from a trait, but also the attribute modifier and item modifiers, all together called: power (still to do: races, effects from spells, must double check)
- traits got new properties: method of checking (see above, determines which characters are used for the roll) and also whether the trait icon, the trait power and its default method of checking (abbreviated) shall be shown on adventure map (they appear in top row, left of top character portrait)
- the traits shown on adventure map (and their power, default method of checking) are adjusted on the fly when you eg change the party leader, equip different items, etc.; traits with power zero or less are greyed out, you can even configure such low power traits to be not shown at all
- the new systems combined, you can eg hide secrets on the adventure map that can only be found if the right character/party with high enough power in a certain trait performs an active search on the correct square
- the rim lights (highlighted lines separating squares with height difference) can be turned off now under module properties, so only shadows indicate height difference
- finally, I added a new optional system under module properties that covers squares more than 2 squres below and more than 2 squares above current party height with generic graphics for too high to see and too deep to see (must double check whether I thought of including the little improvised graphics I made for this); in the end I want the party to be able to dive and climb steep walls/mountain flanks in side view (see Red Carnival) -> such huge height differences from birds view when apporaching the drop/incline will not work very well with the current shadow system alone, therefore this new System,will give it more testing...
- done :)
User avatar
youngneil1
Backer
Backer
 
Posts: 4703
Joined: Sat Dec 08, 2012 7:51 am

Re: Coding Task List - Before IB2 Initial Release

Postby Dorateen » Fri Mar 30, 2018 2:32 pm

Looks good, I will be updating to version 93 after the weekend.
User avatar
Dorateen
Backer
Backer
 
Posts: 927
Joined: Mon Nov 26, 2012 2:08 pm

Re: Coding Task List - Before IB2 Initial Release

Postby youngneil1 » Fri Mar 30, 2018 3:39 pm

Awesome, as always all feedback is much appreciated. Considering the raw amount of changes/fixes/additions, I fear quite a few bugs might lurk somewhere out there :roll: :lol: .
User avatar
youngneil1
Backer
Backer
 
Posts: 4703
Joined: Sat Dec 08, 2012 7:51 am

Re: Coding Task List - Before IB2 Initial Release

Postby youngneil1 » Fri Mar 30, 2018 6:08 pm

I indeed missed providing additional graphics for hiding deep and high tiles. Also, some settings carry not correctly over from toolset to engine. Furthermore, shadows for deep and high tiles are a bit broken (and parts of lights sources are still drawn for those hidden squares). Will push another beta likely tomorrow :) .
User avatar
youngneil1
Backer
Backer
 
Posts: 4703
Joined: Sat Dec 08, 2012 7:51 am

Re: Coding Task List - Before IB2 Initial Release

Postby youngneil1 » Sun Apr 01, 2018 1:51 pm

IB Beta v94 released - no liabilities, no warranties, use at your own risk:

https://www.dropbox.com/s/02dbokcrxga1g ... 4.zip?dl=0

- a few bug fixes for last release, mostly concerinng the optional blending out of tiles more than 2 height levels higher or lower than current party position
User avatar
youngneil1
Backer
Backer
 
Posts: 4703
Joined: Sat Dec 08, 2012 7:51 am

Re: Coding Task List - Before IB2 Initial Release

Postby youngneil1 » Sun Apr 01, 2018 4:40 pm

IB Beta v95 released - no liabilities, no warranties, use at your own risk:

https://www.dropbox.com/s/z98yf3kr9w9pt ... 5.zip?dl=0

- added correct drawing of shadows for squares with more than 2 height difference to neighbouring squares (well, they dont extend the shadow further but at least the long shadow for 2 height levels difference is drawn now), works in toolset and engine; also made the rim light toggle work directly in toolset, too

At this stage the dynamic hiding of too high or too deep squares begins to look nice from my tainted point of view (I use abstracted grey coloured squares which overlap, think plating of a star ship, where a very tight and narrow pattern symbolizes tiles deep down, while huge plates symbolize very high tiles). It can be a device for building maps with large height level differences in a more convincing and interesting way.
User avatar
youngneil1
Backer
Backer
 
Posts: 4703
Joined: Sat Dec 08, 2012 7:51 am

Re: Coding Task List - Before IB2 Initial Release

Postby youngneil1 » Sun Apr 01, 2018 5:38 pm

to do:

- bug(?): very long save times
- feature: in combat extented info for effect on creature/pc when clicked for info
- bug: text in combat and adventure map log is not using full log length
- feature: creature move sound/walk sounds in combat
- synch with IBx

The list gets shorter, but still quite some tricky points on it (plus many more topics I would certainly find when going back in this thread).

That being said, I thought a bit on how to make our little world even more living, more organic (in addtion to clock&calendar, weather, night&day, moving NPC&Creatures, light&darkness, hunger(rations) and vertical shape). My train of thought started with the idea of simple "Monster Generators" (think a bit like Gauntlet, but much slower in pushing out new creatures). This evolved into leader like creatures that can spawn other creatures, which lead to faction leaders, which lead to factions. Maybe Factions can extend their influence in the world by (re-)spawing more and stronger followers (like from an encounter table). Faction strength (liek a roll bonus or more rolls on such a table) could be increased or reduced by eg the outcome of quests or even by slaying NPC important for a faction (could become a property like factionWorth as well as FactionName itself). A key piece here are repeatable encounters (for respawns), which we luckily already have.

I would be interested to hear your toughts on this topic. Any ideas or wishes in which direction this could develop?
User avatar
youngneil1
Backer
Backer
 
Posts: 4703
Joined: Sat Dec 08, 2012 7:51 am

Re: Coding Task List - Before IB2 Initial Release

Postby youngneil1 » Mon Apr 02, 2018 2:16 pm

Starting thoughts from the very simplest form:

Props get a new property respawnTime (-1 = no respawn at all) and maxRespawns (-1 = no limit to number of respawns). This will recreate "slain" props (with encounters on them and that have remove prop after encounter to true) on their original start location after respawn time has passed. If the original start location is occupied, the recreation is delayed until that square is free (alternative: nearby available location is used). We might add a third property respawnMaster (if not blank, the tag of another prop is entered here): if the respawnMaster itself is "slain", all servant pops will not respawn anymore. Please note that in such a system a respawn master himelf might be respawning and have a respawn master of his own, creating a hierarchy. This way eg a goblin population will regenerate over time as long as the Goblin King is alive. Another property might be instantDeathOnMasterDeath, which might even kill all cretaures once their master falls (interesting for maybe VampireLords or HiveMinds and the like). Maybe the key of a global int to be flagged on Death could entered, too. This way conversations could take the death of masters into account in their branching, too.

The "simplicity" of this approach is tempting to me and it is still quite flexible/powerful. On the other hand this is only for regenerating an existing setup, but not for dynamically shrinking or extending faction influence.
User avatar
youngneil1
Backer
Backer
 
Posts: 4703
Joined: Sat Dec 08, 2012 7:51 am

Re: Coding Task List - Before IB2 Initial Release

Postby youngneil1 » Mon Apr 02, 2018 2:39 pm

To have the Faction idea at least slightly in, props migth also get a faction property (tag of faction), requiredFactionStrength property and maxFactionStrength property. When requiredFactionStrength has not been reached for the props fraction, this prop is never spawned (or removed immediatly if already spawned). When maxFactionStrength has been reached, again this prop is never spawnded or immediatley removed. MaxFactionStrength allows exchanging props against other pros, like normal Goblins with Goblins Elites once the Goblin faction reaches strength 15. This might be acoompanied by scripts for influencing faction strength.

Edit: When combining both ideas (master respawn sytem and faction system), I think it might become neccessary to have respawnMaster not refer to a prop tag, but to a new property like MasterName. This way exchanged/upgraded prosp can still serve as masters (as their replaced lower versions were).
User avatar
youngneil1
Backer
Backer
 
Posts: 4703
Joined: Sat Dec 08, 2012 7:51 am

Re: Coding Task List - Before IB2 Initial Release

Postby youngneil1 » Mon Apr 02, 2018 3:38 pm

New prop properties planned:
string spawnArea (basically the props starting location, might be powerful to have a sctipv later that can change this , think tables fir random or dynamic while world population or plainly encounter tables)
int respawnTime (in days?, -1 for no respawn at all)
int maxNumberOfRespawns (-1 for no limit to number of respawns)
bool spawnOnNearbySquaresIfOccupied
int respawnTimePassedAlready (internal property, not opened for toolset)
int numberOfRepawnsThatHappendAlready (internal property, not opened for toolset)

string ownMasterName
string nameOfOtherMasterForRespawn (refers to ownMasterName of other prop(s))
bool instantDeathOnMasterDeath
string keyOfGlobalVarToSetTo1OnDeath (set to 0 again on respawn)

string faction
int requiredFactionStrength
int maxFactionStrength

int worthForOwnFaction (regained on respawn)

string otherFactionAffectedOnDeath1
int effectOnOtherFactionOnDeath1 (removed again on respawn)
string otherFactionAffectedOnDeath2
int effectOnOtherFactionOnDeath2 (removed again on respawn)
string otherFactionAffectedOnDeath3
int effectOnOtherFactionOnDeath3 (removed again on respawn)
string otherFactionAffectedOnDeath4
int effectOnOtherFactionOnDeath4 (removed again on respawn)

New "faction class" properties planned:
String factionName
String factionTag
int factionStrength
bool showFactionStrengthInJournal
bool displayFactionStrengthInWords
int intervallOFactionStrengthChangeInHours
int amountOFfactionStrengthChangePerIntervall

Edit: Guess we best make a faction class and a faction editor in toolset. I already see more nice opportunities to expand on this later.
User avatar
youngneil1
Backer
Backer
 
Posts: 4703
Joined: Sat Dec 08, 2012 7:51 am

PreviousNext

Return to General IceBlink Project Discussions

Who is online

Users browsing this forum: No registered users and 3 guests