Thread Rating:
  • 6 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
N Sane Trilogy level editor prototype
#11
-hdp --havok-debugger-port Which port to use for the havok debugger.
i don't spose that helps at all...
Reply
#12
Hello, I haven't posted anything here for a long time beacuse I've been so busy just working on the editor. But I'm gonna be crazy busy with other stuff over the next few weeks so I wanted to share a progress update of where the current version is at (yes I did scrap the old version and start again, again).

The most important aspects of this version are 1. the fact that I finally spent some time learning how to read these files properly instead of just searching through them for byte arrays that look like they might represent coordinates, and 2. AdventureT's model converter which means that not everything has to look like an anonymous cube anymore. The combination of those two things means that the editor now looks like this:

[Image: FPvUxnp.jpg]

Things look a little bit messy because I'm learning more about how the files work at the same time as I'm working on the editor, which means I'm constantly rewriting everything and the code used to texture the scenary is completely different to the code used to texture the enemies, because I did the enemies later and haven't gotten around to copying that code into the part of the editor that deals with the scenary yet... it's a work in progress. And also I just don't think the thing I'm using to import the models is very good and I want to find something better.

I am planning to release a video demonstrating the new features as soon as this thing is in a fit state to be shown off properly so I'll hold off on posting a ton of screenshots for now (you can find examples of most of this stuff on my Twitter) but here's a list of some of those features off the top of my head:
  • Anything that's visible in the editor can be repositioned anywhere, objects that have scale and rotation (which is almost all sceneary objects and some other stuff too) can also be rotated and scaled however you want, and individual models can be swapped without changing every occurance of that model.

  • Crate types are now detected automatically so you don't have to do some crazy bullshit to hack into the game while it's running and overlay the editor on it so you can figure out what each crate is.

  • Crates, enemies, collectibles, moving platforms etc (basically anything that's not just static scenary and can be interacted with in-game) can be swapped around using two different methods:
    • You can change each individual object to use the properties of another object that exists in the same map file - eg changing one of the Aku Aku crates in N. Sanity Beach into a bounce crate without affecting the other two.
    • You can change which entity, from any map file that's loaded in the editor, will actually be spawned by each set of properties - so you can change any crate in N. Sanity Beach into a crab, or if you're working with a level like The Grate Gate where there are TNTs in the bonus round but not in the main level, you can change any crate in the main level to a TNT without having to swap any coordinates around. There's not really a simple way to explain how much crazy shit you can do with this but it's fun!
  • The properties of crates can be modified, including:
    • Which type of crate it will become during a time trial (incidentally this seems to be the reason why nitro crates are in the files for Crash 1 levels - they're always an option for time trial swapping).
    • Whether or not it is included in the level's crate count.
    • Whether or not it will fall when crates below it are broken.
    • For outline crates, what kind of entity will be spawned when they are activated.
    • For switch crates, which outline crates will be activated (this also lets you select any outline crate from any file loaded into the editor, including crates which didn't used to be outline crates but you've decided they should be).
    • For slot machine crates, how many slots they should have and which entity each one should be (again, from any file, and they don't have to be crates).
  • Player spawn location can be moved wherever you want (represented by the Crash model in the picture up top).

  • Level combinations are supported and work much better than using the shitty level combiner tool I made (and there's no limit either). When opening a level you can either just open one, or select multiple pak files and you will be asked which one to use as the base level and which additional files you want to include from the other levels you selected. None of the original levels will be affected - for example if you select N. Sanity Beach, Jungle Rollers and The Great Gate, set NSB as the base level and choose to also include the crates files from JR and TGG, you can move and swap around the crates from those extra files however you want and those changes will be saved in your custom level, but when you play Jungle Rollers or The Great Gate everything will be normal. Trying to figure out a good way to do this was the thing that tripped me up and halted my progress with the last version of the editor and I'm really happy with they way I'm doing it here.

  • You can change the level names and descriptions that appear in-game for your level, change what kind of character restrictions there are (eg allowing either Crash or Coco in a level normally locked to Crash, or only allowing Coco in a level normally open to either etc) and choose whether to use Crash 1, Crash 2 or Crash 3 mode for the level. Any Crash 1 or 2 levels set to use Crash 3 mode get automatically patched to let the player spawn properly.

  • I'm still using the same sort of file system I mentioned before - you can export your custom level as a .ard file which can then be patched to the base level. These files only contain the stuff that's been modified so for simple levels they average about 50kb. The patches can be applied using the editor, or with the NST Level Selector which I've updated to add support for custom levels and will include with the editor and as a separate download (so if you only want to play custom levels you don't need the editor itself). When starting a new custom level, any patches currently applied to the pak files you select will be ignored and the editor will read the default unmodified files so you don't need to worry about keeping backups of the originals anywhere or resetting them to default before making a level (I will include an option to load custom levels into the editor from .ard format but that will work a bit differently). You can also save the custom level you're working on in different kind of format that can be opened in the editor as a kind of project file.

  • Other options for exporting levels: zip files that just contain all the files you've modified, if you want to do your own thing instead of using my level patching system, and exporting the level as a .unitypackage file (since I'm still using unity for the editor, sort of works and might be useful for anyone wanting to port the NST or create a fangame or something)

  • There is limited CTR: Nitro Fueled support, mostly as a by-product of that game being the same engine as the N. Sane Trilogy and therefore the level files being in the same format, so you can open tracks and move stuff around the same way you can with the NST, but since CTR isn't available on PC (yet?) and the modding community for that game seems to currently comprise of, well, me, I'm not concentrating too much on it at the moment. The PC version of the N. Sane Trilogy is my priority.

  • Everything works much faster now - the very first version of the level editor took 10-20 minutes to load a list of coordinates from a single file, subsequent revisions gradually decreased that and the latest version now takes about an average of 30 seconds to display a view like I showed above, from opening the level pak(s), even previously unmodified paks because I'm skipping the "normalisation" step I was doing before that always added like an extra minute. If you're interested in exactly how long the process takes then I've uploaded the log file created by the editor when I opened N. Sanity Beach to created the screenshot I just posted: log.txt, some of the file names are a bit weird because it's all a work in progress but the times are accurate and I make that 27 seconds.

  • Some other stuff that isn't fully implemented yet, but is either something I've started working on or already have the code for from previous versions of the editor and am planning to rewrite for the new version:
    • Custom textures
    • Custom SFX and music
    • Camera editing
    • Lighting editing
    • Stuff like modifying the paths of enemies, platforms, boulders etc that chase you
    • A ton of other shit that I can't remember right now because I've had a few days off working on this

As I said I'm gonna be very busy with other stuff for the next few weeks so I'm not gonna be making as much progress as I have recently, and I'm not going to make any kind of predictions about when this thing might finally be ready to release or even when it'll be ready to show properly. I just wanted to show that I'm still going with this project and I'm still excited about how it's turning out. I'll make a video when I can but for now, I need a little break!
solidpoke412, AdventureT, KlitLika, Ewan's Elephant Games (EEG), BlaZeMaN, itstak like this post
Reply
#13
Magnificent progress thus far ARD. Take your time mate.
Reply
#14
Looks great. keep it up!
Reply
#15
We're a couple steps closer to The Huge Adventure HD.
I'm an evil scientist, what do you expect? This isn't a game, you know...

The views in my posts, signature, and other content do not reflect the views of my employer.
Reply
#16
This is only a quick update but I won't be able to explain it in a tweet so I'm posting it here...

As I explained in my last post, so far the main method I've been using for saving levels created by the editor is in a custom format (.ard) which just contains the modified files. When you "install" one of these files, its contents are extracted to the game directory and a single file is imported into the target level archive which points it towards those modified files, rather than the original files inside the archive. One reason for doing it this way is to minimise the size of custom levels and make switching between them pretty much instant, but it also means that you are able to include stuff (crates, enemies etc) in your mods without breaking the levels that stuff came from.

There are a few issues with this process though. For one, it requires the use of either the level editor itself or the updated level selector that will be released alongside it in order to play custom levels, which should be fine if you're making and playing lots of levels but might be annoying if you just want to try one. There's also the fact that, as far as I can tell after much experimentation, there's no way to load files from outside the archives in the console versions of these games. Since all the level combination stuff has relied on the use of external files, that has meant that the level editing available for the console games (which at this point is the only option for CTR) has been much more limited.

HOWEVER, even though I said I was taking a break from the editor for a while, curiosity got the better of me and using the little free time I've had over the last few days I've looked a little more into the format of the archive files and finally figured out how to properly add extra files into them in a way that means they can actually be read by the game. This means that I should be able to include an option for you to export your custom level as a completely standalone level archive (.pak), including everything you've imported from other levels, for either PC or console versions of NST and also for CTRNF, without any reliance on external files or the need to install patches or anything. That also means that if I come up with any custom levels that I think are actually interesting enough to share before I've released the stuff needed to work with .ard files, I'll still be able to upload them in a format you can use. I haven't quite figured out the best way to implement custom level names etc using this new method, because those are stored somewhere else and are normally part of the patching process, but I'll work something out.

There's also a tons of other crazy modding this probably opens the door to but I'm gonna try not to get too distracted by all that before the editor's done.
AdventureT, solidpoke412, KlitLika, DayNightler, Ewan's Elephant Games (EEG) like this post
Reply
#17
I haven't done a good job of keeping this thread up to date for a while but here's a video I just uploaded going through some of the stuff I should have been posting here:

crashbandicootfan, AdventureT, KlitLika, Ewan's Elephant Games (EEG), DayNightler like this post
Reply
#18
Thumbs Up 
This project is so amazing !

If I had the game for PC (I have only the PS4 version), I would immediately download this !

Don't give up and good luck !
If you are still reading this in 2022 (and soon 2023), then congrats ! You've found my completely dead account and the stupid posts I made back then !
I've currently moved on with my life anyways, so... please don't take what I wrote two years ago seriously.
Reply
#19
Things have been a bit crazy for me over the last few months so I haven't had as much time as I would have liked for working on Crash stuff. But I'm getting back into it now and want to try to do a better job of keeping this thread up to date because people continue to ask me about the level editor pretty much every day. Which is a relief because I was worried no one would care anymore now that Crash 4 is on PC.

(I would have kept going with this project even if no one did care, don't worry)

[Image: 7geG6m0.jpg]

In its current state the level editor looks like ^this^. On the surface it doesn't look a whole lot different to when I was demonstrating it in my Arctic Antics behind the scenes video, but there have been a few changes since then and a lot of improvements. If you haven't seen it before then this video shows a series of levels I made using pretty much the latest version of the editor, so this should give you an idea of the kind of thing it's now possible to do (or at least most of the stuff in those levels was done with the editor, I did have to cheat with a few things). If you're interested in that reimagined project, I will be uploading a new video talking about it in the next couple of days.

At this point the editor is now about 95% ready to go for version 1.00, but there are still a few things that are a bit broken or that will prevent it from working if your setup isn't basically identical to mine. So that's why it hasn't been released yet. But to give you an idea of where I'm currently at and what's left to do, these are the main things I'm aiming to get done as part of 1.00, most of these are already in progress:
  • Better way to save projects so they can be shared and don't take up hundreds of MBs - will also allow much faster loading of new levels into the editor
  • Option to add collision without needing to manually import the files for it
  • Option to export levels as single PAKs (bigger file sizes and much harder to quickly swap between different custom levels but won't cause as many crashes after finishing levels as current system)
  • Proper keyboard and mouse camera controls (currently only really works with a controller)
  • Option to export and reimport files for advanced editing with Alchemist etc / file manager option
  • Fix rotation for splines etc that are still broken (eg. from the cannon and death route platform in the above image)
  • Fix model swaps that don't update in the editor until reloading the project and load models that are currently being missed
  • General stability, optimisation and QOL fixes (assume this also covers anything I forgot to list)

If that sounds like a lot, it's nothing compared to what I've already done. The complicated stuff is finished.

There are some features I have started working on but won't be developing further until after 1.00 is out. Some of these will still exist in 1.00 in some form but will be improved later, some I will remove altogether until they work better. These include:
  • Support for CTRNF tracks and Skylanders Imaginators (still needs a lot of work, won't be possible in 1.00)
  • Improved model editing (currently can disable individual parts of every instance of a model in the level, will be extended to modifying individual models later and include options for changing model materials)
  • Improved texture editing (similar to models, currently changes every instance of a texture in the level, will include option to change only for certain models later)
  • Improved importing of models from other games (currently only some static models from CTR are supported, this will be improved on later, and include animated models and stuff from Skylanders if possible)
  • Better options for animation swapping of enemies etc (current system can break other enemies in the same file)
  • More options for modifying lighting effects (currently only has some settings for draw distance that I don't really understand)
  • Some way to add camera changing zones automatically without having to deal with the mouse pit stuff (possibly a similar system to the automatic collision stuff)
  • More options for modifying the properties of crates, enemies, gameplay objects etc (I will have to manually add these in as I find more things you can do - but the option to export and modify files with Alchemist will let you do anything that isn't supported yet pretty easily yourself)
  • Improved accuracy of textures when shown in the editor

There is other stuff I would like to add beyond those features that I haven't started working on yet and will probably leave until after most or all of the other updates are done. I'll probably release a new version every time I finish one of those things and of course there will be smaller bug fix updates etc in between once people start telling me how much I broke their computer. But I can worry about that after the first version is done.

Thanks as always for the continued interest and support in this project! I will keep updating this thread as I work my way through that to do list so you can see how I'm doing. I can't really give an ETA at the moment because I still have a lot of other stuff going on but I have to be out of the place I'm currently living in a couple of months and have no idea what I'll be doing after that so I'm treating that as a hard final final deadline. Should hopefully be comfortably done before that though.
KlitLika, BlaZeMaN, Lama LED like this post
Reply
#20
I'm trying not to get my hopes up like I did when you said we'd likely have the editor before Crash 4.
I'm an evil scientist, what do you expect? This isn't a game, you know...

The views in my posts, signature, and other content do not reflect the views of my employer.
Reply


Forum Jump: