Windows DARKSPINE : Level Editor Framework [GAMEMAKER STUDIO 1 & 2] *GML* [ON SALE]

JaimitoEs

Member





DarkSpine works with GameMaker, as an extension. Put the core (an object) in a room, the editor is displayed (a master object that contains the Darkspine´s core) with its interface, where all the core scripting is stored.

The editor creates objects that are children of a relative that is not used in the whole game, which inherits a quantity of initial information, just as gamemaker does, these objects do not consume Cpu since they do not contain any event except for the create and destroy event. Once an object is created, it can be assigned different types of data such as its textures, the type of drawing, animation, buffers, physics, etc ... These objects can be transformed into any other object of your library, the object to replace will inherit the data previously inserted from the editor (you can choose a non inherit creation if you desire) when a level is executed in play mode. Basically it is to work as always, the objects placed in editor mode do not execute any script, only draw, when you enter in play mode is when the entire process of execution is performed in one step (NOW YOU CAN EXECUTE OBJECTS IN THE EDITOR!!).

The more precomputing you do from the editor, the less you have to load later while you play a level. Bassicaly when you play a triple A game, you must to wait a time of load, depending of how big is the world and how many data is loading. Here is the same concept, but is much more faster because all the big data is loaded at start of room, and this happen only one time in the game. Once all the data is assigned to the objects and you decide to play the game (or level in debug mode), the DarkSpine core is destroyed,
leaving only the logic assigned to objects.


The current performance (Debugger mode):

Graphics performance stress test:


Pc (GM Studio 1.4):

* Cpu i5 2500k.
*Geforce GTX 760.
*ShadowPlay recording (Same graphics card to record, this reduce the fps counter).
*3 active monitors: 2 x (1920x1080) and 1 x (2560x1080).
* full screen and 1080P 60fps mode.
*View in screen: 12800 x 7200.
*Z distance -10000 to 20000;
*Unlocked room size (drawing in range of 19800X10800).
*Vsync enabled.
*Culling off (more expensive to draw).
* 2048 and 1024 textures (a single piece of foliage contains 2048x1024 pixels).
*Physics world activaded.
*Physics update speed = 120.
*Physics iterations = 15.
Fps range in editor mode: 182--230.

Fps range in play mode: 189--240 with all dataloads (object logic, physics, tweens, etc).

Smartphones
*same configuration.
*Reduced textures to 512..

Motorola nexus 6 (2014)

Fps range: 70-90. (54-68 in high thermal conditions)
Samsung galaxy A mid-range (2017)
Fps range: 70-110. (it appears not stressed, not much temperature)

*NOTE: Graphics pipeline optimizer consist in 2 scripts:
- The first script is executed manually in one step, just press a button and all instance are recreated in a specific order to optimize the texture swapping.
- The second script is not implemented at the moment, but basically is a vertex buffer merging, the script searches among all the objects that contain a buffer with the same textures and unifies them in a single buffer, thus having a single call to the graphic card and reducing the bottleneck of the vertex and fragment pipeline.

. There is more graphics optimizations implemented, like reducing the number of triangles of a vertex buffer on terrains and paths.


Create smooth or straight terrains, you can set a vector individualy, that means you can have only a part of the terrain smooth and the others straight for example.



Filling textures and edges:

Setup smooth vectors, only where is needed:



Bezier path don´t use the Game Maker path system, with this non closed polygon you can add an edge texture, switch the sprite corners to get different visual sides, this can be smooth or straight, like the terrain, you can configure the texture settings, physics properties, auto-gen of colliders, blending, colour, etc...
Darkspine works with a hierarchy called "Deco" objects, Deco objects starts without data and you can insert the only essential data for every object, Deco objects can be setted to merge the data with a Deco parent. This picture represent a tree (parent) and foliage(childs):

Advanced object editing: An object can contain different types of data, such as an animation, a vertex buffer, a tween, color, blendmode, transformations,
physics, etc ... These objects can be converted into any object of your resource tree preserving the additional data that had been inserted .. If a copied object is a parent, your children will also be copied for later duplication.

DarkSpine can be manage vertex buffers like other 3d engines, you can tween, colouring, transforming in all dimensions, set physics values, like a regular object...

D´ont be afraid, the workspace in DarkSpine is like always, X is X, Y is Y and Z is the depth. That means the workflow are the same as GameMaker editor, indeed, DarkSpine is 100% compatible with your project, this does not interfere in your code, DarkSpine only need one Room, all is created and destroyed when you load, save or switch your levels...

Can i create a full game with DarkSpine? Yes! and without the use of rooms. The methodology are the same as GameMaker, once you have you level ready, you can swap the desired Deco object to your objects...Just assign the name of the object in a Deco object and it´s done, that means you do not to learn how works the core, just manage your project like always...

Can i implement DarkSpine like a game level editor? Of course, Darkspine starts putting only one object in one Room, so, imagination is your limit ( and your graphics card).


The objects do not necessarily have to be in the depth of the layer, for example, a layer can have a depth value of 200, and the object belonging to that layer can be in a lower or higher number. In this way we have a very fast interaction of the environment if we want to hide the layer, block it, change its depth value, etc ... If you change the depth of a layer, the group of objects belonging to this layer will move relatively to its new value, which is perfect for repositioning the depth of objects in a single click ...

Cos the limits of images per posts, I will continue updating in the following posts...
 
Last edited:

JaimitoEs

Member
Nice, keep it up!
But you might want to make the player bigger.
Yes, i´m working on the programming side, for the moment i´m centered on core, btw in this framework you can resize sprites easy, but there needs to do in HD...

As soon is possible i revamp the video presenting all feature, uff!! a lot of work on video editing to show how many is capable the framework....
 

JaimitoEs

Member
DarkSpine can be manage vertex buffers like other 3d engines, you can tween, colouring, transforming in all dimensions, set physics values, like a regular object...

D´ont be afraid, the workspace in DarkSpine is like always, X is X, Y is Y and Z is the depth. That means the workflow are the same as GameMaker editor, indeed, DarkSpine is 100% compatible with your project, this does not interfere in your code, DarkSpine only need one Room, all is created and destroyed when you load or switch your levels...

Can i create a full game with DarkSpine? Yes! and without the use of rooms. The methodology are the same as GameMaker, once you have you level ready, you can swap the desired Deco object to your objects...Just assign the name of the object in a Deco object and it´s done, that means you do not to learn how works the core, just manage your project like always...

Can i implement DarkSpine like a game level editor? Of course, Darkspine starts putting only one object in one Room, so, imagination is your limit ( and your graphics card).

 
Last edited:
L

lumini

Guest
WOW! :) I'm quite impressed with your work. Keep it up! When do you think will this be available for public use ? :)
 

JaimitoEs

Member
WOW! :) I'm quite impressed with your work. Keep it up! When do you think will this be available for public use ? :)
Thanks @lumini !! Hard to tell, GMS2 is here, and first, i want to view how is the new editor and how expandable is... imagine the posibility to extend Editor in GMS2, or GMS2 editor is already heavy advanced... i don´t know in this moment...;)

1 More video added!! Lights and colors!!
 
Last edited:

JaimitoEs

Member

The objects do not necessarily have to be in the depth of the layer, for example, a layer can have a depth value of 200, and the object belonging to that layer can be in a lower or higher number. In this way we have a very fast interaction of the environment if we want to hide the layer, block it, change its depth value, etc ... If you change the depth of a layer, the group of objects belonging to this layer will move relatively to its new value, which is perfect for repositioning the depth of objects in a single click ...
 
Last edited:

JaimitoEs

Member

I have implemented a compact (but powerful) tween system based on TweenGms asset with some mods ( i will give credits to @8BitWarrior, i dont know if i can implement this after the free update of 8bitWarrior) , to be able to edit in real time, you can edit without the need of scripting for the following values: X, Y, Z, XSCALE, YSCALE, ROTATION, XROTATION, YROTATION, ALPHA AND COLOUR BLENDING. This editor can be very extendable.

Like the other tools, the value data are stored in local coordinates, so, after a Tween is inserted, you can move your object freely in the world, coordinates are updated automatically to preserve the original animation.
 
Last edited:

JaimitoEs

Member

Taking the control of meshes and tweaking the light area. The fade direction are relative, starting from the centroid polygon.

You can fake a shadow area, look how the player reacts:
 
Last edited:

JaimitoEs

Member
Stress Performance

Pc test:

* Cpu i5 2500k.
*Geforce GTX 760.
*ShadowPlay record.
*3 active monitors: 2 x (1920x1080) and 1 x (2560x1080).
* full screen and 1080P 60fps mode.
*View in screen: 12800 x 7200.
*Vsync enabled.
* 2048 and 1024 textures.
*Physics world activaded.
*Physics update speed= 120.
*Physics iterations = 15.
*Unlocked room size (drawing in range of 19800X10800).
Fps range in editor mode: 182--230.
Fps range in play mode: 189--240 with all tweens, objects and physics activated.

Smartphones
*same configuration.
*Reduced textures to 512..

Motorola nexus 6 (2014)
Fps range: 70-90.
Samsung galaxy A mid-range (2017)
Fps range: 70-110;

*NOTE: Graphics pipeline optimizer consist in 2 scripts:
- The first script is executed manually in one step, just press a button and all instance are recreated in a specific order to optimize texture Swap.


- The second script is not implemented at the moment, but basically is a vertex buffer merging, the script searches among all the objects that contain a buffer with the same textures and unifies them in a single buffer, thus having a single call to the graphic card.
 
Last edited:
M

modler2

Guest
are you going to release or sell this editor? Would be more than happy to give you my money! lol
 

JaimitoEs

Member
are you going to release or sell this editor? Would be more than happy to give you my money! lol
I´m thinking about this, but beta testing is needed, and tests need time, i´d like a very solid upgradeable system before the launch, in the most easy understanding as possible.

Thanks for the interest.:)
 

JaimitoEs

Member
Got a place where we can sign up for this beta? I'd be into beta testing this for you.
At the moment no, but is a good idea for the near future, first i´ll finish some things like physics tools, 3d paths, and a revamped 3d lighting.

Again for hippyman, thanks for your interest. I´m working hard to give my last project for GMS....
 

Cameron

Member
This looks real nice! Almost too good to be true. Can't wait to read more about it and look under the hood someday, test performance, etc. You may want to use non copyrighted/trademarked assets to show it off though.
 

Joe Ellis

Member
Wow this is an RDL editor (rational level design), they used a very similar engine to this for rayman origins and legends, this will be so useful to people who want that kind of engine, as its a really pro thing that isnt available to the public (or it is? im not sure, its not for gamemaker though which is amazing, it'll be one of the best extensions ever made)
 

JaimitoEs

Member
This looks real nice! Almost too good to be true. Can't wait to read more about it and look under the hood someday, test performance, etc. You may want to use non copyrighted/trademarked assets to show it off though.
Hi @CameronScottMusic ! I really want it to happen soon! About the graphics assets, yes, i need to change this, but it was necessary to understand how the the Ubi Art framework works, it´s inspired on this engine and other tools like Photoshop...

If someone volunteers to draw the assets, he can contact me, he will be grateful for the credits and will receive a free copy of DarkSpine when it is available ... Unfortunately, I have no other way to reward his effort, but if things go well he will receive a future small reward ..


I have planned to work exclusively on this and offer little by little all the content of the engine for the next few days ...

If I can get help from someone who can draw the textures, it would be wonderful and I would be very grateful.
Looks really good!
@lolslayer Very thanks for the comment!
 

JaimitoEs

Member
Wow this is an RDL editor (rational level design), they used a very similar engine to this for rayman origins and legends, this will be so useful to people who want that kind of engine, as its a really pro thing that isnt available to the public (or it is? im not sure, its not for gamemaker though which is amazing, it'll be one of the best extensions ever made)

Hi! @Joe Ellis !
Indeed the Ubi engine is a closed system that is not for sale, however I think you can contact them for a license, other games such as Child of Light have been created with this engine ...

I greatly appreciate your words!! I fact the extension content more than 600 scripts hahaha, i spend more than 2 years of dev, and i really want to give this for the public soon as posible...

Unfortunately there is a lack of documentation for the moment, but soon as posible i will continue to show the ready features of this piece of software.
 
I

immortalx

Guest
That looks like a massive project and looks very impressive!
Could you please provide details about the actual workflow bewtween your editor and gamemaker?
 

JaimitoEs

Member
This looks real nice! Almost too good to be true. Can't wait to read more about it and look under the hood someday, test performance, etc. You may want to use non copyrighted/trademarked assets to show it off though.
@CameronScottMusic
I just updated one of the posts doing a stress performance.

That looks like a massive project and looks very impressive!
Could you please provide details about the actual workflow bewtween your editor and gamemaker?

Of course, i am building this thread in my free time, I will go little by little giving information on the interaction, making a scheme of how the engine works, and that is more visible to users.

I just edited the first post, but the best thing is to create a series of tutorials on how to work with the editor and how to customize it with the provided functions.
 
Last edited:

DBenji

Member
This is all awesome, and I would easily pay a very high price for it if you released it, but I simply can't understand why nobody (to my knowledge) has released a gm extension that optimizes sprite/graphics draw. Extremely inefficient rendering performance, is IMO the number one reason why we don't have games like Rayman Legends or Ori and the Blind Forest being released with game maker. The fact that gm is supposed to be an engine that is dedicated to the production of 2D games but it can't handle this kind load on it's own, is a huge missed opportunity.

The project you are working on is simply incredible, but I would already pay loads for an extension that simply optimizes sprite draw.
 

JaimitoEs

Member
This is all awesome, and I would easily pay a very high price for it if you released it, but I simply can't understand why nobody (to my knowledge) has released a gm extension that optimizes sprite/graphics draw. Extremely inefficient rendering performance, is IMO the number one reason why we don't have games like Rayman Legends or Ori and the Blind Forest being released with game maker. The fact that gm is supposed to be an engine that is dedicated to the production of 2D games but it can't handle this kind load on it's own, is a huge missed opportunity.

The project you are working on is simply incredible, but I would already pay loads for an extension that simply optimizes sprite draw.
Game Maker Studio is very well optimized and is a great engine, in the options of the Room, you can sort your objects, but this can be tedious if you make many changes, since many times, for the logical part of an object, you need to one or the other is executed before, when executing the room, everything that happens later depends on how the user draws his objects, being easily possible to have micro freezes due to excess texture swaps. You will always have swaps, so my idea was to separate the logic and the drawing, allowing to adjust what is drawn in the correct sequence, in this example, the trunks of all the trees are drawn first, after all the leaves, the mountains, etc ... Also separates the 2d drawing from the 3d, in the 3d part, draws all the buffers that contain a concrete texture, then sequentially does the same with the following texture, to avoid unnecessary texture swaps, with only this changes, you can see how the overlay has stabilized (avoiding fluctuations). I have also including other ways to optimize that later I will explain ...

I greatly appreciate your comment, at this time I am looking for an artist that can draw original textures for the new presentation, when they are finished i will update this thread and organize better everything by showing new content and features about DarkSpine.
 
Last edited:

Japster

Member
Amazing stuff! - I could even see this very impressive looking framework of yours taking a LOT of effort out of creating levels, gate and enemy placements for 2 of my WIP projects!

Definitely keeping an eye on this!
 

JaimitoEs

Member
Amazing stuff! - I could even see this very impressive looking framework of yours taking a LOT of effort out of creating levels, gate and enemy placements for 2 of my WIP projects!

Definitely keeping an eye on this!
Very thanks @Japster. I hope you like the new video working with pixel art:
Edit: Sorry something was wrong uploading the video. I´m re-uploading in HD.
 
Last edited:
I

immortalx

Guest
That's so mind blowing! I've drooled over watching videos of the ubi-art framework years ago, and seeing this now be done in GameMaker is absolutely insane!
 

JaimitoEs

Member
That's so mind blowing! I've drooled over watching videos of the ubi-art framework years ago, and seeing this now be done in GameMaker is absolutely insane!
Ey! Very thanks for the comment! A Kickstarter campaign is planned for June to August (Maybe a bit later).
When the campaign is over, the first official version will be released for Gms1. Those who have supported the campaign will receive a copy of DarkSpine for Gms1, and another copy for the launch in Gms2 on the stipulated date. The price in this campaign will be much lower than the launch price in the Yoyogames store.
 

MusNik

Member
Wow, look at you! I was planning to make exact same system little soon, but you did it, and I am no longer needed to do it myself! :D
Back in 2013 I saw UbiArt Framework presentation and got infected with the idea to make it real on GameMaker. You just made my dream come true, sir.

Gonna back this on Kickstarter!

P.S. If you you'll need any help with GUI design, shaders / lighing, physics (I am sure you can handle it yourself, but anyway), you can ask me!
 

JaimitoEs

Member
Wow, look at you! I was planning to make exact same system little soon, but you did it, and I am no longer needed to do it myself! :D
Back in 2013 I saw UbiArt Framework presentation and got infected with the idea to make it real on GameMaker. You just made my dream come true, sir.

Gonna back this on Kickstarter!

P.S. If you you'll need any help with GUI design, shaders / lighing, physics (I am sure you can handle it yourself, but anyway), you can ask me!
His words cause me joy. I'm glad to see that there are people who thought the same, I was beginning to think I was crazy haha ... I had the same thought when I saw the brilliance of that video, and the illusion of trying something like that since the signing campaign of Change.org came out. Today I realized that it is a great coincidence that I was born in the same province as the components of Ubi-soft Montpellier (I currently live in Spain). I knew very badly that Ives Guillemot promised that his software was going to be free and then never fulfill it. So I decided to make my mix of Photoshop and Ubiart for YoYoGames. About your offer, you come down from heaven because I was thinking about the future of this software and how well I would help for the near future, the editor is 90% finished, since he is halfway there, going adding visual scripts in the editor, I realized that I could do a system in which the user could easily extend the editor, something like what Unity does with the Scripts editor. With this in the package you can create your own systems and use them in the engine, such as shaders or any type of code that needs a customized structure of data, a good example is that the editor always knows the identification of all objects if they are passed through the system of relatives created for DarkSpine. Anyway, I have your step and proposal in this thread if things go well.
Also to say that just yesterday I finished recording the series of videotutoriales of Darkspine, which consists of 16 videos of basic tutorials on how to use the extension. But I already have a few more videos to explain the inner workings and a fundamental part that I have tentatively called "Object scripting" and that I will explain later. The only thing I need to release these videos is their dubbing because, for you, I have given interpretation classes and English (I have previously had relationships with English speakers and I have always been related to English people), and I am going to give record that the videos and the quality of these at the time of explaining will be as understandable as possible. Possibly the English speaking people notice some diction mistakes, but I already have confirmation of the first dubbing tests done today, showing my professors 100% satisfied with the interpretation and that is understood perfectly.
So I thank you forever for your words, I know I'm not very active in the forum, but it's because I'm always in front of the screen haha ... I want to launch this project to the public, but at the same time I want to launch it as perfect as possible, although always always, in this life, everything can be improved. And without realizing you spend the days, that's why I have created an update system for the levels, so that from now on, you can start to create, without worrying about losing your work with the updates ... in short, this is coming , is able to create levels of infarction and, at the price of a movie ticket, some popcorn and cola. A big greeting from Spain.
 

MusNik

Member
@JaimitoEs, thanks for that answer!
I have the same feelings about that.
Looking forward to see this videos.
Hope things will go well, I am excited to see what you gonna done with that. Hello from Russia!
 
Last edited:

JaimitoEs

Member
Hello everyone, I've uploaded the first DarkSpine video tutorial to Youtube. I would love to know if you are satisfied with the dubbing in English, since I am not a native of any English speaking country. It would be great for you to give me a rating of the views to see if you understand my diction, and if this dubbing is sufficiently understandable by users ... thanks in advance guys.
 

MusNik

Member
Hey. It's pretty much understandable even for not native speaker.
I also noticed that you're using GMS 1.4 for that. Are you planning to upgrade your system for GMS 2?
 

JaimitoEs

Member
Hey. It's pretty much understandable even for not native speaker.
I also noticed that you're using GMS 1.4 for that. Are you planning to upgrade your system for GMS 2?
Thank you! I was very concerned with this topic, but if you tell me that it is well understood, you have cheered me up today. In fact, it has been written in GMS 1.4X and will be ported for GMS2. The Kickstarter campaign will be for this reason, among others such as the creation of a website, hire an artist, a support programmer and the guarantee of updates for years. I know that if the cape is positive, things will move much faster and I will be able to dedicate myself fully to this issue, it all depends on the spectator ...

Second mini Tutorial, roadmap goes in crescendo...
 
I

immortalx

Guest
I don't know how this hasn't caught the attention it deserves, because it definitely deserves tons more. I'm absolutely amazed!
If you could release a stripped-down version of what you currently have( maybe having some features disabled), it would certainly boost its popularity.
Keep up the great work.
 

JaimitoEs

Member
I don't know how this hasn't caught the attention it deserves, because it definitely deserves tons more. I'm absolutely amazed!
If you could release a stripped-down version of what you currently have( maybe having some features disabled), it would certainly boost its popularity.
Keep up the great work.
Thank you very much for your words, I'm glad to see that you like it, I think it can be a great visual tool, and above all, for the physical ones. You can change the way people look at Box 2d. When you have something visual to test without having to compile, everything becomes easier.

I have added a new video:
 

JaimitoEs

Member
I don't know how this hasn't caught the attention it deserves, because it definitely deserves tons more. I'm absolutely amazed!
If you could release a stripped-down version of what you currently have( maybe having some features disabled), it would certainly boost its popularity.
Keep up the great work.
Sorry! A Demo is planned for very soon. I'll let you know when it's available.
 
E

Eriksaw

Guest
This is all awesome, and I would easily pay a very high price for it if you released it. Well done mate :)
 

JaimitoEs

Member
This is all awesome, and I would easily pay a very high price for it if you released it. Well done mate :)
Do not worry, the editor will not cost much money. Thank you very much for your comment!:)

This looks amazing.

Sorry if i missed it but will the be compatible with GMS2 as well?
The editor will be compatible with the 2 versions of Game Maker Studio. Thank you very much for commenting!:)

The level manager:
 
Last edited:
Top