Plasma cover
Plasma screenshot
Genre: Simulator, Indie

Plasma

The Art of Plasma



Hello everyone, I'm Javier, one of the developers of Plasma.
I've been working as an artist on the game, so here I'm going to do a quick intro to the art and visual look of the game. Let's dive in!

Visual look of components and devices


In Plasma, players can use a big library of components to give life to their devices, and the main focus of the game is to build and experiment, so the visual style of the game needed a fun and friendly aesthetic, while also being futuristic and functional.
In the first phases of development, the visual style of the game was entirely low poly, giving priority to simple and basic shapes, and enhancing the tree-like structure of the devices, starting from simple forms that acted as roots, and then using additional components on top, making the device work as intended. Later, the art style evolved to a more rounded and futuristic look, inspired by a good amount of films, tv shows and comics that almost every sci-fi nerd know and love.



An important step in the process early on, was to assign color codes that help differentiate at a first glance the functions performed by the components, as well as to separate the devices from the environment that surrounds them. We used a white base tone for structural and static components, blue accents for behavior components, and orange for mechanical components. The small common surface details of the components help giving aesthetic unity to the whole component collection. This color coding idea can be helpful for the player in the creation process, providing visual information of the type of operation it may have, as well as the way it has been built.



Besides this, the basic structural components have been designed to fit a grid, allowing to be scaled in one or more axes, which gives the player a great flexibility when designing varied and unique shapes, even reusing the same elements in many of their creations.
On top of that, the player has the possibility to color components using a custom color palette, giving a unique personality to each device.

Component creation


The process of each game component starts with a series of sketches to explore shapes and proportions, then the 3d model is made once the design has been approved, and after that it is textured (fun fact: all the components in the game use a single common texture as a detail atlas) before being exported to the game engine.



Environments


The game environments have been designed to encourage device creation and experimentation, with pleasant and relaxing shapes and colors, large flat and open areas to facilitate building, and some ramps and slopes for the use of vehicle devices.
Each biome uses a catalog of assets, with simple and stylized shapes and appearance that help to create visual variety and encourage the use of devices on them. A good example is the shape of rocks and cliffs, which give priority to their geometric and flat shapes, useful when used together with vehicles, walking robots, etc.



From the start, the idea was to have a collection of unique biomes, which use totally different color palettes and moods.



In addition, the transition from day to night within each biome allows to enhance different gameplay experiences, and to use the devices in original and unique ways.

In conclusion


In the future, new biomes will be introduced to the game, as well as new components with unique functions, increasing the possibilities of your creations.
I hope this deep dive into the art of Plasma has been interesting, let us know if you have questions or comments. Thank you very much for reading it!

Robotics Deep-Dive

Hello everyone, Patrick here, one of the developers on Plasma.

I've been meaning to do a focused post on the physics of Plasma for a while. As the old saying goes, there is no better time than the present, so here we are.

As one of two programmers on the project my main focus is on gameplay (building, attaching, detaching, scaling, rotating, etc.) and on physics/robotics.

As you might know, Plasma uses a fairly "new" physics solver based on Featherstone's algorithm, implemented by NVIDIA on their PhysX engine and then supported by the Unity team on the game engine that we use.

I'm not going to attempt to explain in detail how the solver works (mostly because I don't know - refer to https://en.wikipedia.org/wiki/Featherstone%27s_algorithm and the PhD thesis linked there), but instead let's look at what this means in the context of Plasma and in general for a physics sandbox game.

Main advantages



  • No error/drift/elasticity in joint movement - a hinge that is designed to spin on an axis will never move or rotate in any other axis
  • Support for large mass ratio differences - a light hinge won't implode under the weight of a large object it's trying to move
  • High degree of accuracy when stacking joints - a robot hand with accurate finger movement can be simulated correctly

Main disadvantages



  • As a restriction in the reduced coordinate model, it is not possible to have closed loops - everything is structured in a 'tree-like' hierarchy (a leaf cannot connect back to another leaf to close a loop)
  • Computationally more expensive that traditional rigid body simulations
  • More complex to implement some common gameplay scenarios

As a physics sandbox nerd, I get particularly excited about the possibilities enabled by the accuracy of joints, referred to as links or degrees of freedom (DoF).
If, like me, you have played other physics sandbox games and attempted to do any sort of robotics, you will have quickly found out that it's not really possible to do much beyond 2 or 3 link chains, often resulting in elastic/soft movement and positional error on unwanted axis, and attempting to do something like a functional robotic arm that can grab and lift things is pretty much out of the question.

With Plasma, however, allowing for advanced robotics has always been one of my main goals.

A quick example


The setup: a simple stack of 4 rotational hinges
Expected result: the hinges spin accurately on their intended axis

With a traditional rigidbody system, the result is far from what we would like, almost immediately you see the second hinge starts collapsing and after that we have an unstable mess of stretchy joints rotating in every direction, totally unusable.



With the new articulation body system that Plasma uses, the outcome is exactly what we are hoping for, a stable, accurate simulation with no unwanted rotations or drift. A physics sandbox nerd's dream :)


In-game example


With a robust joint system, designing a six-legged creature that can walk, turn, and open/close into a ball becomes a delightful engineering process, not hindered by poor simulation or collapsing joints.



What's coming


While all the above is already a big achievement for our small team, there is still plenty we hope to achieve in the future, such as:

  • Closed loops - while these are not possible in the reduced coordinate model, it is however possible to create a typical rigidbody constrain on them - the constrain will not be as rigid as the rest of the articulation but will be acceptable enough for most gameplay purposes
  • Inverse Dynamics - somewhat similar in concept to Inverse Kinematics, Inverse Dynamics will allow us to calculate the torque/forces required to be applied to different links to achieve an end pose
  • Path planning and collision avoidance - used in robotics to calculate the ideal path for a movement taking into account potential obstacles on the way

In conclusion


I hope this brief deep-dive was helpful in giving more information and context as to what we're doing in Plasma in regards to physics and robotics, please reach out if you have any questions or comments.
Thanks for reading!

Plasma coming to Steam on March 30!

Phew! It's hard to believe, but after more than 5 years of development Plasma is finally ready to be released into the wild!

We can't wait for the day to come and are really looking forward to seeing what you will do in the vast creative engineering landscape that is Plasma.

Over the next month we will work as hard as we can to push it over the finish line and make sure Plasma will be the genre-defining Engineering Playground that it deserves to be!

In the meantime, come join us on Discord if you want to be part of the community and chat to the team!

Sincerely,
Marco, Patrick, Joi, Javier, Michele, and Merlo

Demo Period Ended

Thank you so much to everyone for playing Plasma, sending in suggestions, and helping us shape the future of this ambitious game.

We'll now start working on the full version, fixing bugs, implementing new features, and creating new content.
We hope to release the game into Early Access by Q1 2023.

We aim to involve the community in the process as much as possible by posting updates on Steam, but if you really want to keep in touch come join us on Discord to chat directly!

Demo Extended!

Surprise!


Due to popular demand, we decided to extend the demo period by one week! You now have until the evening of October 23rd to create even more crazy devices and worlds!

Enjoy!

Plasma Demo Out Now!

After a long night of fixing bugs and preparing last minute things, we are finally ready to release the demo!
We hope you will enjoy building and exploring everything Plasma has to offer!
Come join our Discord if you need any support, want to chat with us, or want to share with the community what you're building in the game.

Plasma Next Fest Livestream #2

Come join us for our second livestream during Steam Next Fest!

Plasma Next Fest Livestream #1

Join us for our first livestream of Plasma during Steam Next Fest!