Thread Rating:
  • 4 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
N Sane Trilogy level editor prototype
(03-04-2019, 04:17 PM)ARD Wrote: Here is another update! I started making a new version of the editor from scratch a few weeks ago and have been working on it pretty much every day since then. I still have a lot to do but I'm really happy with what I've got so far. The new version is a kind of combination of the other prototypes I made, so it includes both the visual unity editor and the cheat engine style "in game" editing that I used in the first command line version. I'm not gonna show much of the actual UI yet because it's constantly changing as I add and change features but it is a lot more advanced than the old version, it didn't actually take me very long to get back to the point I was at before and then I just kept going as I kept experimenting more and learning more about programming.
Speaking of patching, the current system saves a custom level as a single file (.ard obviously) which can apply all of your modifications in one go, plus any extra files you choose to add to your level (if you have any custom music or textures etc you can add them to the level with this). But no point getting too much into that yet while there's still so much work to do. Just wanted to show that I am actually making some progress with this thing and didn't feel like making another 40 minute video about something that's still not ready to release. But it will be soon hopefully! Many thanks to Neo_Kesha for helping me with the PAK normalisation stuff.

That's a sick amount of work! It's just amazing progress you did with editor and stuff. Wonder how far you can go with it. Hoping some day NST modding scene will become that easy so everyone could make their levels and bosses for a game, making NST immortal. 
Just as always, if you'll need any help - just ask and i will try my best. Good luck!
I wonder what file format NST's models and animations are?
In case it's something that Blender models can be exported into
(05-05-2019, 02:15 PM)Guyus The Raptor Wrote: I wonder what file format NST's models and animations are?
In case it's something that Blender models can be exported into

Animations are from havok engine. I've tried editing them but no success yet.
-hdp --havok-debugger-port Which port to use for the havok debugger.
i don't spose that helps at all...
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, itstak, Ewan's Elephant Games (EEG), AdventureT, KlitLika, BlaZeMaN like this post
Magnificent progress thus far ARD. Take your time mate.
Looks great. keep it up!
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.
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.
KlitLika, AdventureT, Ewan's Elephant Games (EEG), DayNightler, solidpoke412 like this post
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:

DayNightler, crashbandicootfan, KlitLika, Ewan's Elephant Games (EEG), AdventureT like this post

Forum Jump: