Posted on 02/01/20 @ 03:31 PM (updated 07/03/20
This project aims to provide a full external scenario editor for Age of Mythology by reverse engineering the scenario format and providing greater editing flexibility.
* Cover terrain
* Terrain painting
* Elevation painting (Game height restrictions do not apply - Normal range is -5 to 15)
* Water painting (Includes water removal)
* Water colour painting (No colour restrictions)
* Water height painting
* Player data editing
* Multiplayer lobby override
* Terrain with textures (No blending)
* Elevation of terrain and water via height map
* Water via colour overlay
* Unlimited depth undo and redo
* Memory of tool values and crew position
* Keyboard shortcuts
- Ctrl Z and Y to undo and redo
- Esc to close current tool
- 0-9 to change the brush size (Same as AOM game)
* Extraction and compression of scenario files for external viewing.
Notes on using
* Written in java 8 using JavaFx graphics developed using Eclipse IDE. You need to have java 8 or later runtime installed to run it.
* Maps opened need to be saved with latest version of the game and must not have custom terrains, water types, etc.
* Development in progress: May be bugs and could be crashes. Save often and work on a copy rather than original where possible.
* You can view the current project source here: https://github.com/nottud/Kronny
I hope you find this tool useful. Please let me know what you think and feel free to suggest ideas for future features and let me know of any bugs. I am developing this in my spare time whenever I feel like it so no guarantee on update frequency. What gets done next will depend on interest and ease of figuring out the scenario format for that area.
You can now edit most player fields both for both players and Mother Nature:
* Player colour
* Major god - you can now also select Nature and if you want the god to be randomly determined on scenario load
* Resources - food, wood, gold, favour
Major bugfix with build versions where textures were failing to load due to filename casing mismatch.
You can now click select (optional ctrl key modified) or box select existing units and edit their properties. Setting of properties on multiple objects at once is supported. The following properties are currently supported:
* Name - Internal name triggers use to look up the unit
* Type - The actual unit. I have supported look up using either the editor name or scenario name. Wildcards ? and * are supported as well as partial matches.
* Player of the unit
* Position - X, Y, and Z can be freely changed
* Scale - X, Y, and Z independently can be changed. Negative values are supported turning the unit inside out!
* Rotation matrix - Even I don't particularly understand it but it seems represent a transformation matrix used primarily for unit rotation but you can do crazy things like skew.
Other fixes include making the water and land interact better when zooming and panning.
Know issue: Setting a property on a very large number of units is far slower than it should be due to an unresolved internal inefficiency.
Hotfix where loading some scenarios would fail due to an invalid invariant hook for units.
Hotfix for regression issue saving scenario with no units.
This brings out an experimental feature allowing you to override multiplayer lobby information when playing a scenario. When enabled and the map is hosted - the lobby information will be ignored and replaced with what is provided on the scenario. Please note the following:
* The interactions between the data and the game is complex and circumstantial. The game does with the data whatever it feels like which may not always be intuitive.
* The intereactions change drastically based on the player type selected - If things are not working try switching between AI and Player.
* Depending on the situation e.g. ai vs non ai player different information may be used - some cases it will use the override data, some situations it will fall back to the data in player data
* All lobby data is overriden or not - you cannot save override the game type but not the player gods i.e. You can't pick and choose sorry!
* I recommend testing your change to your scenario in a LAN game with yourself to see what happens
* All override data is LOST if you open up the scenario in the editor and save it - you have been warned! This is due to it being completely unsupported by the game editor.
The following things can be changed for global data
* Override: This determines if the scenario should have lobby data to use appended to it. This needs to be enabled before any other changes are made.
* Game type: This allows pushing the mechanics of random map game types such as Supremecy, Deathmatch, Lightning, Treaty, etc. to the scenario. This includes things like faster build, instant age up, more resources, all techs, treaty timer, AI behaviour, etc.
* Difficulty: Allows forcing of the game difficulty - this is mainly useful when dealing with the AI
* Pause limit: This can be freely set to a value up to 255
* Shared resources: If resources should be shared between your team
* Shared population: If population should be shared by your team - I had difficulty testing this one so I don't know its effectiveness.
* Locked teams: Prevents diplomacy from being changed. Had trouble in testing allowing teams to be changed but might work in some situations.
* Enable cheats - This can be used to force cheats to be enabled.
The following things can be changed for player data
* Type: This indicates the type of player being represented. I do not fully understand this but you should match how the scenario is expected to be played. If you run into trouble getting other properties to work properly try swapping between player and AI. I could not get observer to work on a scenario and I wasn't sure the different between Hidden and Unknown. When player is selected and an AI is playing the game seems to treat it as a missing player. The name will be game default and data will come from the player data of the scenario.
* Name: This forces the name of the player. It does not seem to work on the AI which instead prefers to use the map data instead.
* God: This allows forcing of the god that is used.
* Rating: You can set the rating of the player - I don't know if this has any effect other than potentially appearing in some screens/dialogs
* Handicap: Overrides the ingame handicap with the provided value. 0 is the normal amount.
* Team: Forces the team of a player
* Associated player: Seems to set which player the game thinks you will control. It is possible this is an artifact from players being potentially able to select their player colour. Changing this does not sadly change which player you play as - least not from testing so far...
This software is and will always be completely free for anyone to use. However if you appreciate the work going into this and would like to make a small donation (A few of you were asking about it) as a thank you, you are more than welcome to with the link below. Any support is appreciated but is by no means expected.
|Author||Comments & Reviews ( All | Comments Only | Reviews Only )|
Oh my goodness, this is incredible
Posted on 02/06/20 @ 02:59 PM
it's cute!! i love it.
Posted on 03/09/20 @ 09:12 PM
Posted on 02/20/21 @ 08:06 AM
And thanks for your work.
Question: is there any trigger in this scenario editor that modifies 1 particular unit?
Say, during the game, I create 1 hoplite. This hoplite, later on, kills some enemy unit. Now he gets 5 hitpoints as an XP bonus. Obviously, only this hoplite gets the bonus, not other hoplites. Is this kind of bonus possible?
Not with this tool sorry. There isn't a way I know of doing what you want without modding the game to use system similar to hydra.
Posted on 02/20/21 @ 03:11 PM