Page 1 of 12 12311 ... LastLast
Results 1 to 10 of 114

Thread: GS4 Character Planner v1.0

  1. #1

    Post GS4 Character Planner

    -Version 2.6.2- (Date: 8/5/2017)
    STATISTICS PANEL
    -Health resource calculation now uses the proper formula for health gain instead of increasing health by 5 per Physical Fitness rank.

    MANEUVERS PANEL
    -Fixed an error that prevented training in Armor Specializations.

    LOADOUT PANEL
    -Fixed a formatting problem with the effect scaling rows in the effect dialog box
    -4 new effect Categories:
    --Special Abilities: For effects that are gained through skills ranks (Stamina Burst) or as something or certain professions can do (Meditate). 3 Effects
    --Generic Bonus: This set of 19 effects allows you to add from a +1 to a +100 bonus to any type of AS, DS, CS, or TD. These are meant to represent non-standard bonuses that come from unique or rare items and other sources.
    --Enhancive (Resources): These effects allow you to enhance the maximum and recovery bonus for health, mana, stamina, and spirit. 8 effects total.
    --Items: The 43 effects in this category are based of the enhancive items created through alchemy. Other items that don't fit into other categories are here too such as Defense Bonus Item.

    PROGRESSION PANEL
    -Added new formulas:
    --First Aid - Bandage Duration & Herb RT
    --Mana Control - Mana Pulse & Spellup
    --Trading - Skill Boost
    --Resources - Maximums & Recovery
    --Spellburst
    -The effects "Kneeling" and "Lying Down" now properly calculate Ranged AS when using a crossbow.
    -Added additional Effects that are not in the brand new categories:
    --Manna (203), Tend Lore (206), Symbol of Proselyte (340), Mana Focus (418), Assume Aspect (650) Bear, Core Tap (950), Vigor (1608)
    --Armor Blessing, Armored Evasion, Combat Toughness, Shield Forward
    --Sigil of Concentration, Sigil of Mending
    --Node


    What is the Hymore Character Planner?
    The Hymore Character Planner is a Python 3 GUI that allows you to create complete training plans for your Gemstone 4 characters. The planner was made to be the successor to the Tsoran Character Trainer. Tsoran's Trainer has been used for a long time but it's age is really showing. It was originally created in the mid '90s for Gemstone 3 for Microsoft Excel Spreadsheet but it is still being used today thanks to the dedicated work of various people to update it for modern Windows systems. While I am impressed that the Character Trainer is still alive, it hasn't been expanded very much in the 20+ years since it was made. As far as I am concerned, you need a some way to create a training plan for characters in Gemstone 4 and I felt it was time to make something new with the current Gemstone 4 in mind.


    Where can I download the Planner?
    I am using Github to host the newest releases of the planner as well as the source code for the entire planner. In the event I stop play Gemstone 4 or cannot continue development on the planner, the source code for the planner is freely available. That way, anyone with some programming knowledge can pick up the planner and continue from where I left off.

    Link to the newest release of the Hymore Character Planner (HERE)
    Link to the source code of the Hymore Character Planner (HERE)


    What can the can the Hymore Character Planner do?
    The Planner is divided into multiple panels. Each panel is designed to help develop different parts of a character. All the panels build off each other and this allows users to create highly detailed training plans for their characters. Users can save and load characters from flat text files as well. Below is a brief description for each panel.

    Statistics Panel
    This panel is a stat cruncher. The user picks their race, profession and set their starting statistic scores and the panel will display the growth of each statistic from level 0 to level 100. In addition, The character's health, mana, stamina, spirit, PTP and MTP are also calculated for each level.

    Misc Panel
    Any character information that is too minor to have it's own panel is placed on this panel instead. Currently, the panel allows users to set their Deity, Elemental Attunement, Society, Society rank and guild skill ranks for their profession (if any).

    Skills Panel
    On the Skills panel, users can create a prioritized list of skills to train from level 0 to level 100. The left side of the panel displays an ordered list of skills that the user has selected to train while the right side shows the total ranks and bonus for each skill as well as the PTP and MTP gained and used for each level. After calculating a training plan, users can see the results for each level by changing the level indicator on the top right side of the panel.

    This panel allows users to specify a level range in which to train each skill. For example, a Ranger character could chose to train "1x" in Armor Use from level 0 to level 29 or a train "20" ranks in Spiritual Lore, Blessings from level 30 to level 45.

    Maneuvers Panel
    Training in combat maneuvers, shield maneuvers and armor specialization from level 0 to level 100 is done on this panel as long as the character is the right profession and has created a training plan on the Skills panel. The layout for the Maneuvers panel is similar to the Skills panel. The left side displays an ordered list of maneuvers to train in and the right side showing to ranks of all maneuvers. Only one type of maneuver (combat, shield or armor) is shown at one time but the user can be freely switch between each by using a drop down menu on the upper left part of the panel.

    Postcap Panel
    The Postcap panel can be seen as a combination of the Skills and Maneuver panels with a focus on training skills and maneuvers past level 100. The layout is similar as Skills panel but also has a drop down menu that switches between skills, combat, shield, and armor training. Postcap training in maneuvers works the same way as it does on the Maneuver panel but training in skills is very different. Characters in a postcap setting gain 1 PTP and MTP for every 2500 experience earned and because of this they technically have infinite TP. So rather than setting a training rate like "2.5x" or using a level range like on the Skills panel, users simply set the number of ranks in each skill they want to train. After calculating a training plan, the panel will show you how much experience it will take to train the indicated ranks and what experience interval (or ending experience number) those ranks are achieved at.

    Loadout Panel
    There are two parts to the Loadout panel: Gear and Effects. "Gear" is any item that is used in combat such as weapons, shields, armor, or UAC gloves/boots. An "Effect" is any sort of modification applied to the character such as the Natrual Colors spell, Surge of Strength maneuver or an enhansive item. The left side of the panel is a dedicated Gear list and the right is an Effects list. Users can add as many Gear and Effects to their character as they wish. All Gear and Effects are used by the Progression panel in it's numerous calculations.

    Progression Panel
    By using the combined information gathered by all other panels, the Progression panel allows users to see, in graph format, what their AS, DS, and more is for each level from 0 to 100 or for each post experience interval. The left side of the panel allows users to select what Gear and Effects to use in the calculations while the right side displays a graph on the top side with several graphing options on the lower side. The graph is interactive and by clicking a point on the graph, the box on the lower right side of Progression panel will display a complete break down of how the character's AS, DS, etc was calculated for that specific level or experience interval.
    Last edited by Hymore246; 08-05-2017 at 02:43 PM.
    Need a way to plan your stats and skills for Gemstone IV? Download my character planner!

    Newest Version: v2.6.5 (Released 12/13/2018
    Hymore Character Planner Topic at Player's Corner
    Hymore Character Planner: Releases
    Hymore Character Planner: Source Code

  2. #2
    Join Date
    Dec 2003
    Location
    MD
    Posts
    25,197
    Blog Entries
    20

    Default

    Way to take initiative. I'll have to mess with this once I get back to playing.
    Vote for Gemstone Once a Day at The Mud Connection & Top Mud Sites

  3. Default

    It has a nice look. I was able to plug in my info start without issues and it properly viewed my growth to cap. That seems to be as far as I could get outside of the look and feel.

  4. Default

    Really nicely done. I've been wanting to do this for a while, but I can never seem to find the time, so I'm glad you did. I've cloned from Git, let me know if your looking for help. Happy to pick up a module if you want.

  5. Default

    Major props to you, man. Designing this helps a LOT of people out with their character planning.

  6. #6

    Default

    Quote Originally Posted by Geijon Khyree View Post
    It has a nice look. I was able to plug in my info start without issues and it properly viewed my growth to cap. That seems to be as far as I could get outside of the look and feel.
    what did you do? I can't get past selecting profession and race
    PB: One day you'll need this number (800) 273-TALK.

  7. Default

    Base stat boxes below that are clickable and changeable.

  8. #8

    Default

    Quote Originally Posted by Geijon Khyree View Post
    Base stat boxes below that are clickable and changeable.
    I didn't extract first :P
    PB: One day you'll need this number (800) 273-TALK.

  9. #9

    Default

    Updated the code at github.

    v1.1.1
    FEATURES
    -Skills and Maneuver panels now have a clear all button to reset them back default.
    -Save files no longer record skills and maneuvers that are not used or have no values.
    TECHNICAL
    -Moved a large amount of code into a globals.js file in the hopes of keeping track of the global values better.
    -Attempted to fix the slowness of the panels by having them generate and destroy themselves when viewed and hidden. I think I might have made it even slower doing that. Never the less, I still managed to make each panel function by itself using variables instead of html elements. I swear the maneuvers panel is like poison, every time I include it's code it lag the hell out of everything. Ugh.
    -Only works in Firefox for the time being, I'll have to find a way to debug it in the other browsers


    Here is a list of the features I want to add the planner as it continues to be developed.

    Statistics - tracks profession, race and character stats. It will display stat growth as well as character resources (health, mana, etc).
    Skills - handles skill training. Can show ranks by level, total ranks or total bonus for all skills.
    Maneuvers - handles combat and shield maneuvers as well as armor specialization training.
    Combat - Will display the AS, DS, CS, TD, etc for a player given a combat style for all levels.
    Magic - Shows the effects of spell training and lores on all spells available to the player.
    Post Cap - Will handle post cap training.
    Formula - Displays formula results for various skills (MUI, AS) and game mechanics (Spellburst, etc)
    Enhancive - Will let you include your enhancive bonuses in the planner's calulcations
    Summary - Creates a good looking summary of the character at a specific level of training suitable for forum posts.
    Need a way to plan your stats and skills for Gemstone IV? Download my character planner!

    Newest Version: v2.6.5 (Released 12/13/2018
    Hymore Character Planner Topic at Player's Corner
    Hymore Character Planner: Releases
    Hymore Character Planner: Source Code

  10. #10
    Join Date
    Nov 2006
    Location
    Potato
    Posts
    2,606

    Default

    Great work on getting a prototype up and running for this.

    I don't really have the ability to help with development of it right now (my productive coding time is currently eaten up by work), but if you don't mind a few tips on why it's "laggy" I can give you some advice for now.

    re-rendering DOM elements is a very expensive task computationally in the browser, every time a new one is added it's dimensions and positions must be calculated from the current CSS rules and layout components on the page.

    Most web app frameworks mitigate this through the implementation of a "diffing" algorithm.

    These algorithms maintain a "virtual DOM" that when you change the values of whatever the data-store they are bound to, they then update the virtual DOM and diff it with the real DOM, minimizing the amount of recalculations per data change as only the nodes that have changed are then redrawn in the browser.

    as it stands now the app runs around 18*101*N base calculations with every update of the rightside panel for statistics alone (where N is the number of ele.style.whatever = x operations that occur).

    on top of that global elements and UI states could be cached so that it isn't necessary to do something like this:

    // I'm only looked up once per refresh
    cached_checked_toggle = document.getElementById("StP_show_statistics").che cked;
    for (var j=0; j < statistics.length; j++) { cell = document.getElementById("StP_"+statistics[j]+ "_growth_" + i); if(document.getElementById("StP_show_statistics"). checked) { // The checked state of this element should be stored globally in a UI object or at least moved outside of this loop to prevent statistics.length number of DOM queries }}

    There are a couple of them that would be pretty plug-n-playable with your logic now that you've separated most of the variables from the view generation functions, but any other calculations should also be decoupled from your view generation logic.

    Adding the styling to the elements via javascript also makes for much more complicated DOM rendering, it would be a bit more performant to simply add a class and allow the CSS engine to figure it out.

    I would recommend mithril.js for it's very unopinionated and lightweight way of storing the data and views + related helper functions http://lhorie.github.io/mithril/mithril.html

    mithril.js also has a very intuitive "reactive data store" implemented with the "m.prop" method

    Compared to most other HTML5 app libraries (like backbone or angular) is is a much more transparent and easy to understand way of handling evented data.

    There is a good walkthrough here on how to create a very lightweight spreadsheet (like google docs) : http://lhorie.github.io/mithril-blog...avascript.html

    If I get some spare time with the inclination to work on a passion project this week i'll try to jump in and give you a bit more hands on help with it, you've already done most of the hard work by compiling the various GS related calculations and data.
    Last edited by m444w; 03-14-2015 at 06:11 PM.
    Discord: Ondreian#3875

    I have turned PMs off on these forums, if you want to chat, use Discord to contact me.

    High-End For Sale

Similar Threads

  1. Character Planner
    By mweaver123 in forum General Gemstone
    Replies: 1
    Last Post: 03-17-2020, 02:53 PM
  2. Character planner on mac?
    By Lucktar in forum Game Mechanics
    Replies: 2
    Last Post: 12-17-2019, 04:14 PM
  3. New Skill Planner Tool
    By deblob in forum Game Mechanics
    Replies: 2
    Last Post: 05-19-2016, 12:12 PM
  4. Replies: 2
    Last Post: 09-12-2015, 06:39 PM
  5. The Family Un-Planner
    By Ravenstorm in forum Politics
    Replies: 19
    Last Post: 11-23-2006, 12:09 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •