-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add ability to launch level in 1.5 #2
Comments
As per the discussion on the linked thread, this requires some game changes, which Edward Rudd has been given the go-ahead to make. Once these are done, functionality can be re-added to the editor. In the meantime, the Linux version of the game supposedly supports this already, so we can test it there. |
@meh2481 re-looking at the code the "level-loading" code was there for win as well (just not macOS). but was locked behind a DEBUG flag. So possibly the 1.3 version had debugging enabled? Anyways, my initial stab at enabling this full time has come up with some issues. Right now around game crashes when exiting the level. Also, is there a user-level I could try on the game? |
@urkle The game crashing when the level is completed is actually how it's always worked lol. At least the game has always immediately closed upon clicking the "continue" lever, which is great for modding since it just kicks you back into the level editor. There's no OCD information at this point anyway so I'm unsure how else it would work. This attached custom level should work fine, there are signposts in it so |
@meh2481 thanks. So completing the level there was a hack in there to call exit(0). but doing other menu options (quit level, etc) would crash it. I now have some small tweaks to make that more pleasant.
Now I have a few questions about resources. Are there any other resource files that have to be modified to support the mods from these tools? e.g what are all the things that can be modded? |
@urkle I think that would work really well to have a Our modding tools can customize pretty much everything in the game, I think. But we have a pretty robust mod manager tool that can e.g. remove/add custom particles from While we're on the subject of modifying how the game loads resources, do you know anything about Route99 and the MightyBlimp? The resources and level info for these are packaged into the 1.5 version of the game, but they seem to be disabled. I think this content was originally exclusive to the iOS version, but was eventually patched out there as well. The other thing that seems to have been removed from 1.5 was the tank on the right side of a level that appears when you reach the pipe and the first Goo Ball enters. The fluid level in this tank fills up as you get closer to the level quota, and Goo Balls appear in it after they've finished traveling through the level's pipe. Screenshot from 1.3 Humble Bundle Android version: |
@urkle Apparently I had misunderstood the state of custom islands, so I'll bring that up as well. Even if a new button is added to MapWorldView and e.g. Also re/ Route99 & blimp: It seems the Route99 dialogue isn't in text.xml, but there's a commented-out button for Route99 in island 4 that opens the level, though no dialogue is there. We can mod in most of this content (using a bunch of different signposts in place of dialogue), but would still be neat to have the anniversary edition be a definitive edition with all the Route99 content built-in. |
It does seem that the route99/mightyblimp were ios only as I do see some code-paths that are only for IOS. Odds are they were not intended to be included but neither kyle nor I saw that. I'm unsure if he'd be ok with adding that in there or not. I do see specific scripts (that I somehow missed when I worked on the update) that explicitly excluded those maps on the OLD linux build (not done by me) Island6, yeah there is code that explicitly prevents island6 from being accessed. (a define turns it on and lots of places look at that). And the "goo tank".. oh yeah.. we FOUGHT and fought with that stupid tank. The initial goal of the 1.5 project was just to update the engine to run on more modern computers. And part of that was higher resolution. So I started doing work on getting scaling working in the game engine so that things could work at different aspect ratios but that started opening new issues. One of them being that tank. It was either too small, or too big, or off the screen and not visible. In the end Kyle decided to have a default fixed aspect ratio that was letter/title boxed and just to remove completely that goo tank. (so it is completely disabled in code). so unfortunately there is no way to get that back in at the moment. Back to modding again. So what I was thinking for a "clean" modding handling would be to build a better mod system that would allow overriding assets more easily by
I've done the zip mod approach in other ports (democracy 3) and it should be easy enough to do here. I'd need to check the other properties/* files to see how easily I can handle override loading. Hopefully the code is already similar to the text resources. The more complex part would be seeing how I could allow mod island6 to have that be introduced as a mod-able island (only one mod at a time most likely) and have the playable content work correctly. |
@urkle so, it's funny that you bring up .zip files, because that's exactly how we currently package mods. I had extracted the key parts of my "Escape from Shuttle Alpha" example addin to upload above, but the whole package is a http://goofans.com/download/697/239/ShuttleEscape.goomod (This is a spec-version 1.0 addin, and there are some changes in 1.1, more on that in the linked article) This format is explained in detail here: http://goofans.com/developers/addin-file-format Basically there are "compile", "merge", and "override" folders for XML, XSL, and PNG/OGG/anim files. The "compile" subfolder used to have to encrypt the level XML for World of Goo version 1.3, now that it's all unencrypted in 1.5 the newer version of our mod manager tool ("GooTool") just renames the XML files to match, e.g. for levels The "merge" folder uses XML transforms (XSL) which can add, modify, and remove XML from various game files. GooTool does this transparently behind the scenes for island1, adding level buttons to the top of it and extending it horizontally a bit. The "override" folder just copies files to new folders or modifies existing files. So if I have an image I want to add for a level, if I want to make a new theme to give all the Goo Balls Christmas hats, etc. This is also used for overriding animation and movie files, as these formats are binary. It's entirely up to you if you want to make your own modloader built into World of Goo itself or if we can just keep using GooTool, which we have working for both 1.3 and 1.5 currently. If you want to make it builtin and keep the existing Re: Goo Tank: Understandable, I figured this was why it was removed. Re: Route99: I have heard that the iOS version no longer contains Route99/blimp at all, though I don't have an iPhone to verify for myself. We already can mod some of this stuff in, and now with 1.5 we have a lot of the files for it, but would be nice to have the iOS version (or just SOME version) have this content again if it was cut at some point. Re: island6: Some of our more ambitious modders would definitely like to have island6/island7/island8/make their own entire new planets/etc. If it's non-trivial to allow |
Island6 was a scrapped free DLC, maybe it's time to remove it from the default world map view and that define too? The strings for Island6/Chapter6/Chapter0 were removed already in 1.5, maybe removing it for the sake of allowing people to add Island6 and beyond would be a nice trade off? (unless Kyle wants to finally add it of course but that doesn't seem very likely) |
1.3 allowed for specifying level name e.g. "WorldOfGoo.exe AB3" to launch a level for testing purposes. This does not work in 1.5, unclear if this has changed or if it's simply been removed.
The text was updated successfully, but these errors were encountered: