Yes, the particle effect designer is a Node Editor with support of binary serialization and deserialization. Even very complex scenes will load in just 1 - 3 seconds. A simple scene loads immediately.
I plan to update this thread with further information around the development of the Mercury Particle Sandbox and how things work as often as I can.
Looks amazing, I put it on my wishlist . Looking forward to fiddling with it. What are the export possibilities? Will it export shaders that can then be used in MonoGame?
It will be possible to export your creations in the following formats:
GIF
APNG (animated PNG)
Image Sequence
Sprite Sheet
I’m thinking about to make it also possible to export a particle effect as a XNB or JSON file, so that it can be used more directly with the Mercury Particle Engine. However you would then need to use the particle effect library which ships with my application, because I made some changes to the original particle engine (like support for sprite sheets / animated particles). But in the moment, this is not implemented.
No, you can’t export shaders, but I plan to make it possible to use shaders inside the sandbox. At least you will have some possibilities to apply realtime color grading effects.
I used the ColorGradingFilter from @kosmonautgames with success in the past. So this would be my choice for the Mercury Particle Sandbox.
I am currently on the road to the early access release and I will report soon what I am working on in the moment to make the release possible.
Thanks for your message @Sultaneous and for wishlisting!
PS: Click on my name or user avatar here in MonoGame to see an effect I created with the Mercury Particle Sandbox. A colorful, blooming / blurish background. It’s kinda a shader if you want to call it like that Something like this is definitley possible, but it will be not possible to export actual shader source code.
Awesome work! When the game is live then maybe you could blog about the process + how you got published on Steam. Hopefully this would inspire other MonoGame Indie devs and help them get published on Steam also
After beeing accepted, you need to process a checklist to be able to make your store site public. In the end pretty trivial work to do.
But when you see the steamworks backend the first time, it’s pretty much overhelming. Alot of stuff to learn. This is indeed worth to be blog about or create tutorials to make it easier for newcomers. However it’s not allowed to show the backend sites to non-partners which makes it rather difficult to talk about that.
Fortunately the steamworks documentation is publicity available, which should make things easier, as it also contains help videos made by valve here and there.
Of course i’m always there to help as best as I can if someone has questions I can help with. Not only with the backend, but also with SteamAPI integrations like Facepunch.Steamworks or Steamworks.Net I created repos for.
I find it pretty pleasant and effective to work with repos / wikis / docs and communites instead of creating a blog and would prefere this way of helping furthermore
This looks awesome, great work!! Something I couldn’t gather from the post and page was whether this was free software (as in free speech) or just free as in price. Can you clarify?
Also, is there the possiblity of a non-Steam version?
It’s planned as free as in price, so in the moment there will be no source code publicity available and such things.
This is currently not fully decided, but with cross platform services like mod.io there is definitely a chance, because it would be possible for me to offer the same functionallity / experience for all users on all platforms, which is very important for me.
However, my plan is to do a clean steam release first and then build on top of this.
After beeing on steam in early access I will discuss with you and others in the community about the direction of the sandbox including features and general topics like the cross platform mod service mentioned above.
There is still alot of work to be done. Espacially when it comes to platform specific features and how to combine all of this to the general satisfaction of all users.
Sandboxing with particles and physics is a great way to test particle effects under certain conditions. It’s also great to simulate real forces on ProjectilesFireballs or Water Splashes for example.
In future versions of the sandbox it will be possible to let particles flow on splines and trigger various special effects and events on their way.
It will be like a script-system but without the need of actual coding / programming. Everything will work easily and directly within the sandbox environment.
What I’m currently working on?
Currently i’m working on modernizing some parts of the GUI so that I can show the application to the public. This means exchanging old prototype form controls with new ImGui widgets. Yes, I’m using the .Net version of it
Normally these sites are rather for games and mods but it was possible to add the application to a hidden “Software” section. Despite that, the news will also appear on their front-site as you can currently see. I talked with the admin Scott Reismanis to get that information.
So, from now on there will be also news around the development of the Mercury Particle Sandbox on these platforms.
The first week after holiday was kinda adventurous but also productive. I’m still in the process of modernizing parts of the user interface and I think I can show you something next week.
This week I fixed some bugs and made the last missing piece of data serialization / deserialization fully modular and dynamic.
Entites connected to a content file are now fully linked per GUIDs instead of pathes. Having a predefined folder structure, linked dependencies and content types makes it possible to re-assign all content and data on loading the sandbox or a project file.
Additionally the filename of an entity data file is a GUID as well as the name of a scene folder. So the causal chain is complete.
Sharing a project of the Mercury Particle Sandbox is now as easy as copy-pasting it to a different project folder of a different user. This is important for the later workshop integration where users can share their creations with just one click!
By the way: the entity data files itself are serialized into a binary format instead of JSON, so the deserializing process is very fast and projects are getting loaded in just a couple of seconds. Later this makes it possible to browse user generated content and fastly download and initialize the project inside the sandbox application.
This in turn realizes to spontaneously open the application and directly have alot of fun browsing online and offline content and try many different projects in a short amount of time! yaay
I also have something visual for you, because I don’t want to leave you with nothing than a wall of text:
Casting a Magicka Spray Spell
Thanks for reading and watching this and have a sparkling & sunny weekend!
Particles, Physics, Creativity - the ingredients of life!?
Our first DEVLOG is up on steam:
News Hub:
Do you want to get this news directly in your steam client in the future?
Then wishlist & follow the app on steam:
I will try to write the devlog news on steam as interesting as possible and not just in a technical way. Soon I will expand the news hub with more categories like “Update” too, so that it’s possible to apply filters on your needs.
Here is what i’m currently thinking regarding delivering news and updates on the different platforms I am active on:
MonoGame-Community: Technical (maybe in-deep) News Reports including visual content IndieDB: Technical News Report including alot of visual content Reddit (yeah, we have a reddit now): Visual database of Particle Effects & Particle Scenes including videos and maybe short news. Everything filtered by “Flairs”. Later including WORKSHOP and GUID links / urls Steam: Interestingly written Dev-News in a Semi-Technical way including visual content and also adding new categories over time like “Update”, “Workshop” etc. Twitter: Non-Technical Short-News including visual content
Thank you very much for reading and have a sparkling day!
The last weeks were pretty busy for me (mainly in real-life), but I managed to get the layer-system done it that time and a bit more.
By using the node editor system it’s possible to define the layer depth for each drawable entity. In the following video you will see a single particle effect with 2 smoke emitters - one in the background and one in the foreground. The factory image is exactly between the two smoke layers.
Watch the latest video:
I also added the new “view” menu, as you saw in the video, which makes it possible to show or hide specific world elements or entites from the rendering. This helps keeping the overview and makes cherry-picking of elements for the final render output alot easier.
The terrain component is now able to take an alpha image as input, so that you can generate mesh data by using the colors pure white (mesh generation off) and pure black (mesh generation on).
I’m finally back to work on important parts of the Mercury Particle Sandbox.
As some of you may remember, I wanted to modernize the GUI in the first place to make it more user friendly and to step away from the clunky windows forms style.
This is something I definitley want to be finished before going early access on steam.
The modernization includes a new Color Wheel Picker
My aim is to achieve a fresh and clean look of the GUI. As you can see I removed many rectangular outlines (old group frames) and I keep some basic order just by using colored horizontal lines instead.
An integrated color wheel picker makes the old windows forms color dialog obsolete.
However not all widgets / tool windows are updated so far and I think they are so basic that they don’t need to be. At least for the first.
This is why I focus now on the “New Project”-dialog. I will also keep in mind the future steam workshop integration which comes with a char limit for the project title and project description.
I have also something to say regarding the generall future of the Mercury Particle Sandbox or rather the early access phase on steam (and how it is going so far).
But this is for the next devlog
Don’t forget: I will release this application COMPLETLY FOR FREE on steam! My only “currency” is YOU - following and whishlisting this sandbox on steam:
I would also love to get your follow on my steam developer site:
This time I talk about the new “Project Hub” - a centralized place for all of your projects, which combines loading and creating a new project in one process!
And - as promised in my last devlog - I also talk about numbers (wishlists, followers) and traffic (page-views, impressions) the Mercury Particle Sandbox got so far.
If you want to read the news with more animations and better formatting, then feel free to read this news on IndieDB / ModDB:
This time earlier than expected: Devlog #004 is up!
Steam:
IndieDB/ModDB:
This time the main topics are:
Json-Export [ ! ] Export particle effect creations to the JSON file format.
Custom-Icons Add your own icons to entities inside the scene manager.
View-Icons Polishing the “View” menu by adding icons to the different options you have with this menu.
Tab-Context-Menu A scene-tab now has a context menu which allows further interaction. For example creating new particle scenes or renaming the current scene.
A more detailed description of everything is available in the devlog
Have fun reading!
:: Marcel
PS: In the devlog is a new animation created with the Mercury Particle Sandbox. On IndieDB you see a APNG (animated png) with higher quality and less file size and on steam you see the GIF version with lower quality and higher file size. Check it out!
Deeply Controlable Particles
Creating particle effects alone and edit them with profiles and modifiers is nice, but the Mercury Particle Sandbox goes deeper by adding an event-system which reacts not only to input from your keyboard or gamepad, but also to custom sandbox-events - all placeable by using the node editor system!
SteamInput
The above mentioned input capabilities are happening through the SteamInput api, which basically means, that alot of input devices will be compatible with the sandbox. Further it will be possible to create and activate your own input sets - again fully integrated in the node editor system!
Navigation
Got lost in the deep space of the sandbox? This nagivation arrow helps you finding your way back “home”, which is the center of the sandbox world.
Color
The background color of the render window is now changeable. This is helpful when working with specific particle set-ups, which otherwise would be kind of invisible when working with them.
A more detailed description of everything is available in the devlog of course
Presets & Sample Projects
To follow the spirit of the old Mercury Particle Editor (some of you might know ( )) there will be presets and sample projects included within the Mercury Particle Sandbox - right from the start. You will learn from it and jumpstart your own creation ideas!
Particle Collection
A huge particle collection, containing over 170 royalty free particle images, will be available in the Mercury Particle Sandbox - also right from the start. I got the official permission from “Peter J Rigby” to use this collection inside my sandbox for free. Read the devlog to know more about this and the different particle categories! (I'm pretty happy about this one, because the licence situation around the included images in the old Mercury Particle Editor is pretty unclear. On top of this the new collection is... well... way bigger and has more types and variations, phew!)
A more detailed description of everything is available in the devlog of course