I decided to just make one thread about my fork and not post new threads but mainly just update this one:
Videos:
Mandate related supply chain example:
https://www.youtube.com/watch?v=tZe2R0LGQJY&feature=g-upl
Mandate related item system demo:
http://www.youtube.com/watch?v=KoHTr4m37Bs&feature=youtu.be
My blog is available at my website at:
www.lordofthedawn.com/wp
SourceForge page, not super useful yet:
https://sourceforge.net/projects/mandateengine/
GitHub Page, also not incredibly useful, does have copy of master branch:
https://github.com/MoLAoS/Mandate
The website is not currently in serious use and mostly dealt with two of my previous projects. The blog is updated daily or weekly depending on my mood.
List of previously added features:
Abilities system which is somewhat like effects and includes manaburn and lifesteal and similar effects
Local storage and production of resources
Global automatic production of resources by buildings/units
Process system which consumes some resources to produces others based on the auto production system
New resistances system for damage types which works for both "armor" for physical damage and resistance for magical or technological
Items which can add abilities and effects as well as bonus enhancements of both static and multiplier types
Staged upgrade system complete with optional names for different levels
Optional increasing costs per unit of the same type
Unit/Building/Resource/Item Capturing system
Increasing unit stats/enhancements values for stats as well as store, create, process, and cost modifiers for staged upgrades
New garrison command which provides load bonuses to carrier stats based on number of units of a given type carried
Tunnel/Teleportation/Stargate type faction transport system where you load units in one unit and can output them elsewhere
New build order where you build a construction zone of correct size and use streaming resource consumption to build units
Automated resource movement for local storage where you assign a unit 2 structures to transfer materials and products
Formation commands where you can define a formation or set one up in game for units to stay in
Hierarchical system of leader units who can issue commands to whole squads and control things like focus fire and synchronous attacks
Hero/Mage/Leader system with designations for special units with extra abilities
New set of panels for GUI with with items, garrisoned/loaded/faction loaded, general stats, resistances and armors, generation
The ability for buildings to be restricted to specific foundation spots
The ability for some buildings to gain special bonuses and units and other stuff by building near a map object like a volcano
Bonus power based on the time of the day
An AI personality system where some unit types can follow their own unique AI and do many tasks without human help
The ability to build structures from a faction menu
The ability to place buildings directly from other buildings to be built by nearby builder units
Single unit bonuses that can be sold for resources to power up an individual unit
Partially Completed:
Settlements where you can assign commands like patrol and guard to a group of structures
Area of operation which may include a settlement with commands like patrol and sentry given by leadership
Multi tiered unit hierarchy from squads to cohorts to centuries to legions to hosts
Special order system for automating actions like focus fire and healing priority and other player assisting unit automation
Possibly an HTML/CSS/JS based GUI overhaul to sit on top of current wxWidgets system for custom GUIs including styles and panels
Advanced path finding for both regular units and the tiers of unit group sizes
New passability class/pathfinding logic to enable walkable walls and ships and arbitrarily defined zones of occupancy like lava
Utility based AI system with some minimal hierarchy structure to provide superior challenge
Special AI data injection so that new tilesets/maps/factions or games designed by modders will be supported by specialized AI
New map understanding system for the new AI where it generates its own player like understanding of the map without hardcoded help
Semi-Complete List Of Intended Features:
Monster taming and breeding system
MMO like crafting system
Support for the majority of MOBA game features
Extensive source documentation for programmers
Advanced science/study system including TBS like research trees
Campaign map type system with support for modders
Update to modeling format with functionality similar to 0 A.D. plus some extra stuff
Graphical update with various normal and spec map capabilities plus superior water rendering
Extensive support for in game terraforming
Support for cliffs and other terrain features
September 1st:
I added items today and they are working really well. I am finishing up load bonuses, basically if you put more units in another unit they can give bonuses to stuff. So more process or resource creation speed and amount for mines and factories and such. They basically work the same as items so it should be easy.
My next project is the trade route system that uses the already finished local storage functions I have added. I also added a building command that costs resources to do a build action. In academic RTS circles its called streaming construction. You can also do streaming production, ala TA power systems.
Trade routes come with way points and use commands like transport and escort for caravans. Trade routes can be quite complex and are automated.
Following this I will finish the systems for the new building method where you transport resources to a specified site for the local construction system.
September 20th:
So I took a long break. Stupid neurological issues.
Currently I am attempting to build the libRocket GUI library into the Mandate Engine. This will allow GUIs to be modified with web standard languages. Although IIRC libRocket is not totally standards compliant its close enough that anyone who knows HTML and CSS can modify the GUI in nearly any way. I intend to provide hooks into C++ for all unit stats. So you can create a unit panel containing only the information you care about.
This should allow some solid freedom for modders and fit well with the new stats system. I would like modders to be able to add arbitrary stats to the game, this should be possible with some vector based classes. So instead of renaming health and energy and abusing resources you can add multiple ammo types, power management and other things to a far future war game. In theory you could even recreate a sim city type game.
This should also allow, assuming my understanding of lib rocket is correct, in game civpedia style manuals as well as more powerful tool tip type options.
Update on Majesty stuff:
I enabled a new function which allows you to specify that a building can only produce a certain number of a given unit. I know that generally this was done using a resource limit but that was hacky and required making a new resource. Its now enabled by a simple xml line in the produce command. This is because Majesty guilds have a limit on the number of units they can build. This function can also be applied to my engines unit creation on a timer capability which is also enabled in the XML. This is because some Majesty buildings create units of a certain kind but limited to a specific number. Like the castle has x tax guys x guards x peasants.
My next goal is to make a faction menu for unit building. This shouldn't be incredibly hard as I've already learned to make new command types and actually I would just be using produce commands here. Just arranging GUI sections I guess. I was always intending to make this anyways. Now is as good a time as any.
I think my next goal would probably be to create an on created AI system. I'm not sure if I should make a special AI just for this demo and/or game style or put some work in to my main AI that I've been getting intermittent work on. Probably the second.
I think that might even be it since the demo uses the regular art assets.
for my mid libRocket break instead of adding fear and awe I decided to attempt to make a functioning clone of majesty, although you won't have random maps.
sort of like a one off scenario but adding engine support for a simple majesty like AI and using the previously added resource generation and item creating capabilities.
ill have to add the special simple AI, clean up the item display panel and stat bonus code and then repurpose some models to act as stand ins. i think ill make just the ranger, warrior, wizard, peasant and tax guy, and maybe a guard. and for buildings ill do the castle, warriors guild, rangers guild, market place, house, and wizards guild. i may add a guard house and a black smith.
i think ill have quite a bit of fun doing it since game logic and unit and item design is the part of game design i actually care about, as opposed to engine graphics and guis.
September 27th, 2012
Today I learned the hell of trying to implement mechanics that a previous person's work were never designed to support. Trying to add commands, even just one, to a faction menu was horrible. There were dozens of obscure functions in dozens of files that traded all skills and commands back to unit types. I have been attempting, for code clarity, to try and make all possible commands work through the built in system but boy is it hard. I eventually had to create a new command class for trading resources, just because it couldn't be done through the normal interface.
Luckily I finally worked through it and in a few hours I can construct buildings from the faction GUI. I can see a buttload of code refactoring in my future as I continue to expand the capabilities of the engine though. I'll probably end up having to rewrite the whole command system just to make it easier to deal with separating commands from being explicitly unit based.
A critical aspect of a Majesty like game is a menu that builds structures, although not units, from the faction level instead of the unit one.
I was thinking I could even abstract the whole command system from units and have a more abstract class that factions and units inherit from to get commands but somehow I see that causing some weird shit I don't want to deal with. Ah well.
I think I may actually get my Majesty demo up and running before the weekend, I had originally planned two weeks to do it with weekends for libRocket integration.
Edit:
Turns out you cannot expand the command system beyond units for a variety of reasons, or rather you could but its just not worth it. Just way too many modifications that could break the code. For this reason I am going to have to create a new type of command, probably similar to trade commands to work with non units. I'm kinda unhappy with this but its unavoidable.
Early commands will probably be a faction build function and maybe some global spell casting type stuff.
Faction Build Progress, September 30:
Faction build is not effectively up and running with only some small issues. You cannot see the ghost image that goes red and green based on if you can build in the current spot. I had to work outside of the command code due to having no unit involved and so I was just now able to figure out how to make the structure build where the mouse is. This system was really not meant to be easily extensible :)
It'll probably take me another day or so to work out all the kinks. I still can't convince the describe and subdesc functions to work. Some access error or another.
Item Creation, Process Integration, Storage, Commands
I have done quite a lot of work, after getting the crude faction build command done, on getting the item system to work better. You can now create and store items with commands, the previously resource only processes, and item creation timers.
My next job will be to allow transfers, its partially done already, and then to get items to apply their effects to their holders and display in the item panel. Applying enhancements should be trivial, its applying bonuses to item, resource, and unit creation, as well as effects and abilities that will prove complex. And commands especially should not be to easy to handle. But items granting spells and other commands would be cool so I shall slave away.
Reserved for small updates:
Giant Update(November 22nd):
I got a shit load done over the last 2 weeks. I got all of the building shit done. I made significant changes to the new GUI code to fix a few errors in the item system. I've added new capabilities such as units with local storage beginning with their own resources. This allows gold rewards for unit kills.
I modified the level system to only work on exp, however to mimic the original Glest system you can just use exp in place of kills and have all units give 1 exp on death.
The final method for levels I used was a base value per hit, regardless of the hit's resulting effect. However its divided by the units level count +1, so it takes more over time. I also added a count function to levels so that you can specify a rank and a number of levels at once with the same bonus.
My first use of this for my current project involves 40 levels:
Level 0 units are all titled as inductees.
Levels 1-10 are recruits, 11-25 are regulars and levels 26-45 are veterans. The last 3 names are specified per unit, inductee is the default title since levels start at 0. The 3 XML derived titles are for the Defender unit from one of the games Orders.
Each level takes 1000 exp. So 2 hits 3 hits 4 hits 5 hits and so forth increasing per level. When I get to work on my other games I might as a few different ways to calculate exp gain.
I've added several more units and fixed some AI as well. Each Order will have at least 3 units and some have more. The units are basic, advanced and Order leader. For instance the defenders have: Defender, Guardian, Preceptor. They may also have a Bannerman unit if I can find a proper model. Some of the Orders have more than the 2 standard buildings now, standards being Motherhouse and Chapterhouse.
I did a lot more cleaning up and bug squashing and some other features I'm just blanking on, I'm definitely on pace for the previously given mid December release date.
Units Owned Bug Resolved(November 6th):
Several units didn't have proper XML for the guild hero cap, ie you could hire unlimited heroes.
Small AI Issue Resolved(November 6th):
So the AI was lagging incredibly for some reason even though it had previously been fine, I think having 51 units lags my ancient 4 year old laptop, I implemented a fix so that AI runs only 5 times a second instead of 40, and only if the unit has no action, so if you are doing a task like killing an enemy it will still select a new attack each time and attack as fast as possible, but if the enemy unit dies it will take 1/8 of a second before that individual unit selects a new target, and the same for other tasks. This appears to have resolved the issue.
Got All Units/Buildings Working(November 4th):
So I finished getting all the models playable. You can build all the mother houses which build all the guildhalls and both of them can build and load their hero unit. Units can almost all move/stop/attack and their are almost no texture/model errors. I am going to take a well deserved rest and tomorrow morning I will set up all the heros with their AI personalities and goals. Then onward to finishing up the keeps and shops and doing the second tier castle and its morphs and such. And then adding new items and upgrades and then finally balancing the factions.