Addtional Map with New Content#424
Conversation
|
To be clear, making changes to the existing map will likely break existing runs (which is checked by automated tests) and probably requires a new major version. The gravity flipping section is kinda fair game though, as changes to secrets are "allowed' without considered breaking (see https://github.com/divVerent/aaaaxy/blob/main/RELEASING.md#versioning). Some changes will need the checkpoint map to be recomputed, which technically breaks runs, but I assume time spent in the UI is minimal, so I would think that is OK in a minor version update as well. However, once the changes are significant enough, I will do the work to allow this to be an additional, "experimental" map to choose from in the game. |
|
From my understanding, if I change the existing map, I will need a major version as it may break speedruns. So should I really be changing the existing map? My goal simply was to add more to the existing map without changing the already created map. But this may have an impact on 100% speedruns. Therefore, I think that creating another map in the same Any suggestion in my approach? Edit: My english :p |
I'd prefer it being a separate level.tmx file, so these can later also be packed independently. I will add a selector UI for that. Thank you! |
|
Alright I will change the "Extend gravity flipping section" as "Add more gravity flipping section as a secret level". I will name the new file as I will be committing to the repo whenever I think that good, small but well defined progress has been made. I will definitely clarify any doubts and take any advice. It may take a long time for me to make a commit as Github is my hobby and not my full time. Thanks! |
QUERY 1Instead of going to the new map through UI, should we try to integrate it directly into the existing map as a secret? Like the screenshot below (sorry, should have written "To New Map", instead of "Addon Content"). Checkpoint - In The Beginning Of course this will no way affect the original map runs and players can switch between maps after this map has been discovered. But we need a way to find how to combine A consequence of this will be that any activated power ups from original map will remain in the new map and players will treat it like a optional extension of the original map. Not much of a concern but if you might want a completely different map with completely different progression then doing like this may not be the idea. So what should be the decision, start new map through UI or a secret path in original map? I am asking to help me make the starting section of the new map accordingly. |
Helps with #424 by allowing an alternate level tmx file by `-cheat_level=foo`.
|
I find this interesting, however I definitely don't think they can be connected seamlessly in the current design of the game logic. For now I'd suggest you consider them separate files, and I think I should find time later to add a command line flag to load a different .tmx file as a start for this. In the end, though, I can totally imagine using e.g. a "teleporter" added to the main map to jump to addon content, instead of a menu. There are definitely a few places where this could be safely added. |
|
Alright thanks! For now I will continue making the |
Problem 1When running Log: I will anyway look for a solution for this. But it is recommended that you make a commit in your repo to fix this permanently. |
I figured this out: you need to compile the game using: This is seldomly needed, and disabled by default as the checkpoint locations depend on the exact version of the |
|
After inspecting the build scripts and Makefile, I can not believe that I was wasting time troubleshooting when the real problem was that in line 28
- if [ x"$AAAAXY_GENERATE_CHECKPOINT_LOCAITONS" = x'true' ]; then
+ if [ x"$AAAAXY_GENERATE_CHECKPOINT_LOCATIONS" = x'true' ]; thenFurther I had to change line 37 to take line 37
- neato -Tjson assets/generated/level.cp.dot > assets/generated/level.cp.json
+ neato -Tjson assets/generated/$lname.cp.dot > assets/generated/$lname.cp.jsonSo Now I am able to play whatever I create in level2. I suggest making a commit in your repo to fix this. |
|
Sounds good so far! As you are working on a new map, I am considering implementing a new engine feature: slopes. Interested? |
|
Yep! I think it would be a cool feature. I will mention #428 here. Sorry for late response, been busy. |
`SwitchableSprite` of `BackToHub` is having some problems, need to fix it
Name also changed from `Turning Point` to `Path Untraced`
|
Changed some level design concept
The code requires some cleanup in `internal/game/trigger/jumppadvertical.go``
|
I have added the |
Probably best would be just extending JumpPad so it can calculate the jump using the jump pad's middle top (add a method like Foot() in m.Rect that returns the top center instead) as starting point and not the player. All other math should work fine if otherwise left as is. |
|
Thanks, this really helps. I will modify parameter given to |
Therefore removed unneeded class `JumpPadVert`
Thanks, this works too. |

As discussed in #423, this is a pull request for discussion of content which should be added. Any suggestion is appreciated.
A new map is created for this -
assets/maps/lethodromia.tmx. Original map will remain same and additional content will be created inlethodromia.tmx.Current Roadmap
The map will have 3 Hubs:
First Hub,Second Hub,Anti Hub. The themes of levels here will be written down here, more to be added soon.1.1.
Corus: Maze type level1.2.
Reaching Star: Climbing Platformer1.3.
X/Y: The letter X and Y2.1
Spike Bound: Dodging SpikesThe ability givers also has some themes.
Stand: Recreation of original mapRiser down: Inverted design ofStandPull: Attraction using ferromagnetHow to Test
Note
You don't need to download this fork repo if you already have a repo from
divVerent/aaaaxy. Simply copy thelethodromia.tmxandlethodromia.cp.jsontoassets/maps/andassets/_savedrespectively from this fork repo.And run:
./aaaaxy -cheat_level lethodromiaCopy this fork repo and follow build instructions:
Now before running the
./aaaaxyyou need to runmake assets-update-allmainly to generate the checkpoints map of all*.tmxmaps as it is required by the game.Note
Tip: This is a long process so if you want, you can execute
sh scripts/generate-checkpoints-only.sh(created only for this fork repo) to only generate the checkpoints map if its changed. But it is recommended to runmake assets-update-allatleast once. This script will be removed once this repo becomes available for merging.To test the map, type
./aaaaxy -cheat_level <tmx>where<tmx>is replaced with the name of level file you want without the.tmxextension. Level file must be located inassets/maps/*.tmxto be used.This new map is written in lethodromia, so run
./aaaaxy -cheat_level lethodromiato test. Remember! There is no save game when testing, you need to manually move your Player object in the Tiled application, save and then run to test different areas.Bugs
got <hash to copy>, want <hash don't copy>) in the error log message and go to Tiled application and open the.tmxwhich is giving this error when running. Go to (Upper ribbon) Map -> Map Properties -> Look at custom properties -> Paste copied hash tocheckpoint_locations_hashproperty -> Save. Then run the game again. Level hash is needed to properly save the game in the save file.