Hello all! In the last progress update, I mentioned that I was considering creating an editor as well as my own format to go along with it. And I've decided that I will! I've been working on it for the past week and here's what I have so far:
That green box is NXPlayerStartMarker. The NXPlayerStartMarker (which is automatically created each time the editor starts up) contains the start position of the player, as well as many other properties such as start health, move speed, and more to come soon:
The next thing is the Create menu:
Geometry - Self Explanatory
- Model - Creates and renders a model object created from a .nxm file (my own custom model binary format)
Zones - Areas in which certain actions are possible or will occur.
- Climbable - While in this area, the player can hold or press the cross button to climb.
- Runnable - In this area, the player can run on walls.
- Damage - As long as the player is in this area, health will decrease by how ever much is set in the editor.
- Death - In the player enters this area, the player automatically dies.
- Checkpoint - In this area, the game will create a save file that will be loaded the next time the player dies.
- Level - When loaded into my engine, a BoundingSphere is created in it's position. Using the BoundingSphere, I can check if the player is intersecting the sphere, and if so, I can load the level attached when the player presses a button of my choice.
There a many more types of objects as well as zones & markers coming soon. Before I go, let's setup a quick scene real fast just to demonstrate. I just created a triangle and moved the player back from it a little bit:
After I exported (File -> Export) and loaded the scene in the PSM version of the engine, this was the result:
I can also change the skybox here:
I am working hard at the engine and Shadows, this is probably the third re-write of my level system (LOL), but this rewrite is permenant because of my format's simplicity & flexibility, plus, after rewriting it three times, I'm am sure of how I want to do things. Other times, levels were loaded using .xml and .zip files which wasn't really the best way to load it. Plus, the level manager was built into Shadows rather than the actual engine. Now, it is built into the engine which will allow me to use the same format with another PSM game that I've been working on as well. ;) With my new format (.nxs), it is really easy for me to add new zones, markers, geometry, and other objects. My scene format can easily be loaded in my game engine like this:
GameObjectManager.AddObject(NXLoader.CreateScene(".nxs path")); //Adds the scene to the game object manager which will automatically initialize, update, and render the scene as well as handle its disposal. Plus, it will get rendered to a texture! :D
Anyways, I know I might've jumped around a lot in this article lol (I'm in a rush haha), but I just wanted to keep everyone updated on what's going on. Progress Update 6 is coming soon. Thanks for all the wonderful comments and support! I really appreciate it. :)