The "Nekarcos Development Tools"

A place to post your add ons and ideas for them

Moderator: Moderator

Post Reply
Message
Author
nekarcos
Uruivellas
Posts: 637
Joined: Tue Mar 01, 2016 9:50 pm

The "Nekarcos Development Tools"

#1 Post by nekarcos »

Steam workshop page: https://steamcommunity.com/sharedfiles/ ... 3743320923


I want to start with saying: I absolutely love and adore the ToME modding community.

It reminds me of another community I have envied being in for a very long time: The "Super Mario World" (SMU) community, which, to this day, is still full of modders and builders and tool-makers. An entire group of people who have each seen the limitless potential of their medium, and tirelessly want to tap into it to discover its truest form.
ToME is a very similar thing: There is no end to what can be built in it. The gift DarkGod and his team has given us can't be expressed.

... Especially not by me.

I have spent a long time in my life, trying to discover a medium that would allow me to express my creative intent. None have satisfied it, not Game Maker, not Unity, not Godot, not even Unreal Engine. I have even spent a tireless amount of time modding other games, such as Last Step From Eden, Elden Ring, Skyrim, and even Baldur's Gate 3 and Divinity 2... But in the end, I have always found myself right back here in Tales of Maj'Eyal. There really is something magical about it. A love and craftsmanship I really can't express.

Anyways, all of that aside: Long ago, I mentioned I was planning to create something called the "Nekarcos Development Tools". For the 10 years or so that I have been modding for ToME, I have built up many tricks, discovered many bugs and errors, and developed several optimizations. These DevTools are the culmination of all of that effort, crystalized into a single mod... And, as is tradition for me, I want to release it to everyone else for their own use as a birthday gift for myself... To you.

Even if you do not ever intend to factor it into your own mod-building, it is also full of many resources, as well as referenceable code and structures. It is not only a technical teaching aid, but also a support for your own modding, as well as smoothing out some "problems" in standard, vanilla ToME gameplay.

In short, it's a tool for your disposal; Do as you will with it.

This all said, there is nothing official about it. It's not mandated by DarkGod or his team. It is simply a gift from a very generous soul that has somehow found--

*... Checks...*

... sixteen-thousand, seven-hundred and eight (16,708) hours of entertainment in this eight-dollar ($8) game.
I want this community to continue to flourish and grow... And, if I could be greedy and express what my ultimate dream is: That we all, one day, get together and create one, gigantic, collaborative project that will be ToME's ultimate mic drop of a mod.

... Really now: Why are we all so separated, when we could all be working together on the same thing already???

Anyways, the Nekarcos Development Tools (NDT) are my first and inciting attempt at bringing this community together finally for that dream. I want us all to come together and figure out how to make ToME better. This is my big step!

With all that said, enjoy-- And definitely tell me if you run into any bugs using it... (._.;;)


PS: OoTS is VERY close behind! The truth is, I wanted to release OoTS for my birthday (June 12th), but it turned out being more of a handful than I expected to wrap up and polish. As such, I decided to release the DevTools instead, and you can expect OoTS sometime later. I hate giving timelines, but... Hey, let's say... Maybe a month from now? August at the latest.




... Ahem! And now a *VERY* comprehensive list of what the DevTools' current features are:

Code: Select all

*** Helpful functions:
- Melee/Archery hit checks
- Simplified "Archery" projectiles
- Repair broken/non-existent talents on a character
- "checkArea", which performs a projection WITHOUT setting off projection reactions/checks
- "briefEffect", which TRULY applies an effect with a duration of 1 turn (NOT 2!)
- "myName"/"MyName", which grammar-tizes and completes names ("The fox", "A dog")
- "hasAttr", a boolean return of "attr" that checks if the value is 1 or higher
- "nattr", a numeric return of "attr", returning 0 if there is none
- "nekaEnergize", which has helpful properties (like never removing energy during someone's turn)
- Tons more within the "NekaLibrary" and "ModificationProfile"...


*** Standardization:
- Adding/Removing character Inventories
- "Breaking Sustains" (rather than calling "forceUseTalent")
- Talent Category improvement
- Arbitrary learning of talent types (like from a teacher or an event/object)
- Effect "Conclusion" and "Interruption", which refers to being removed at 0 duration or not, respectively.
- Talent power/potency
- Tons more in the "ModificationProfile"...


*** Improved/Expanded-upon:
- "getTarget" (called "nekaGetTarget")
- Talent Descriptions ("neka-validated" talents only)
- "game:onTickEnd" (called "doLater")
- Handling of Particles, in general
- Handling of Shaders, in general
- Handling of Displays/Overlays, in general ("Shivoroth Form", "Tree of Life")
- Handling of Temporary Values, in general
- Handling of Targeting
- Being "in combat", which presently is not very represented
- Chat dialogues (several new "ways" to write out chats, as well as modify them)


*** Code-Staging for:
- Loading Mods
- Level Up Dialog "stat influences"
- Talent descriptions
- Talent usage
- Character Tooltips
- Talent costs
- Character reactions
- Incoming and Outgoing damage
- Temporary Effect application
- Character death/mortality
- Character "Bumping"
- Character targeting
- Talent creation ("neka-validated" only)


*** Bug/Error fixes:
- Can optionally hide the "Game Turn" log that displays in Dev-Mode
- Logic to "freeze" a character's resources during the level up dialog (prevents stats from shifting due to learning talents and such)
- Automatically sorts talent categories in the Level Up dialog into rows of 4. 
- Size Category display for below Tiny and above Gargantuan
- Option to use A LOT of Energy when "Waiting" if you have a lot
- "Instakill" immunity is no longer influenced by "All Bad" Immunity
- "All Bad" immunity no longer affects Knockback, Teleport, Summoning, and various other non-effect immunities.
- The player's controlled character (and their created character) have 100% "Instakill Immunity", no matter who or what they are. (to prevent weird things like the Yeek's Dominant Will talent)
- Getting the character reaction of a non-existent target (now returns 0, or "neutral")
- Using objects in a non-player inventory
- Intense game lag while "Charge-based" temporary effects are present
- "New" particles are displayed ABOVE the "old" particles
- A new "Entity:preList~NEKA" and "Entity:postList~NEKA" hook, since "Entity:loadList" is not very serviceable for modification
- "DamageTypes" did not support Environment Tables. Created a new function that does.


*** New features:
- The "Progress" system, which keeps track of various things you've accomplished in a run (enemies killed, zones visited, artifacts found, etc...)
- The "Intention" system (determines whether a character's actions are incidental or not, useful for talent effects!)
- The "Tutorial" system, which lets you leave explanations on things, similar to lores
- Automated "Unlocks" system, just need to populate a table with entries
- A new "debug" screen log (dev-mode only)
- "Visual Profiles", or "defined" appearances/images for characters
- Automatic creation of "Attachment Spots" (Visual Profiles only)
- The "Unit Tester"! It iterates through EVERY "neka-validated" talent in EVERY mod, helping you to test if everything's good!
- During Dev-Mode, optionally prevent saving the game after errors
- The "Game:firstRun~NEKA" hook, which is called the moment gameplay begins.
- Cycling Character Particles, allowing several effects to "share" screen real estate
- The "neka_enticed" parameter (makes it difficult for a character to move away from visible enemies)
- General cooldown reduction ("neka_generic_cooldown_reduction")
- Automatic Talent Passive updating
- The "neka_learn_talent" parameter, which functions a little bit more cleanly than using "learn_talent" or "talents"
- "Toggle-able" talents (a talent that can "switch" states by activating it. My "Safeguard/Vanguard" talent from OoTS is a good example!)
- "Basic Action Talents" that represent all the non-talent actions a player can take (Picking up Objects, Swapping places, Resting, ...), essentially allowing NPCs to behave like a player does!
- Opt-in sum-check anti-cheat
- Disables the HUD if an error repeatedly-and-rapidly occurs (hence allowing the error, in question, to actually DISPLAY)
- "Surrogate" temporary effect values (you can use "all_stats", and it will convert the value into "inc_stats" with <value> as the value for every stat)
- Simplified, icon-based Character tooltips
- (Debug mode) "Kill all ENEMIES" option
- (Debug mode) "Quit WITHOUT saving" option
- SEVERAL, several new functions for "math", "string", "table", "colors", and "resolvers"
- The "Game Tick" callback
- The "Temporary Effect Validate" callback
- An ABSURD amount of documentation and definition for... Just about EVERYTHING ToME!


*** Customizable/Superloadable support for:
- Character Sheet tabs
- Screen Shaders
- Zone Music
- Alternate Zones
- "CanSee" checks
- Talent Descriptors ("Use Mode", "Range", "Cost", etc...)
- Chat Dialogues
- Object powers


*** Adds new support for:
- "Targeting" by the player themself!
- "Auto-battling" (you can force the player to take an AI-controlled action)
- "Anonymous" and/or "Sourceless" combat logs
- Tile-flipping (when moving, attacking, or using talents)
- Cooldown rates
- Typed usage speeds for talents
- Effect "Decrementing", which supports different ways for an effect to expire, other than its duration
- Control over the ticking of a Temporary Effect.
- Applying a modifier to basic character stats (such as Physical Power, Armor, etc...)
... And, despite how comprehensive this list is, there is STILL a lot this mod does that I cannot really cover!
Creator of the (rather large) "Odyssey of The Summoner" add-on pack

nekarcos
Uruivellas
Posts: 637
Joined: Tue Mar 01, 2016 9:50 pm

Re: The "Nekarcos Development Tools"

#2 Post by nekarcos »

I left an example talent inside of the DevTools that demonstrate how to use the new Talent Descriptions I've made, but I forgot to include a function that was in my other mods, so the talent will error when learned. (combatProficiencyScale)
Just letting everyone know I'm aware of this bug and already fixed it. It'll be good to go in a later version.
Creator of the (rather large) "Odyssey of The Summoner" add-on pack

Post Reply