HomeGamesUpdatesPricingMethodology
Steam News26 September 20223y ago

Developer talk: DREAMERS step system

Today we are talking about DREAMERS step system! We used our PlaySys Interaction Framework and the inverse-kinematics technique to make it look as accurate to reality as possible.

Full notes

Full DREAMERS update

Read the full published notes in a cleaner layout. The original post stays linked below.

What changed

0 fixes0 additions3 changes0 removals
  • Compatibility
  • Performance
  • UI and audio
changedThank you Federica for this interview. It feels odd but fantastic to write at the same time on this form with different accounts :) The PlaySys Interaction Framework is a set of tools that I am developing since the early years of PlaySys. I usually pretend in my articles that it is very stable and consistent, but in reality, it is continuously being iterated. This happens because we don't have a single style in our projects and it is very difficult, if not impossible, to define objectively everything that may happen in a game. This is the case of DREAMERS for example, where a lot of functionalities have been designed and implemented for the first time in my profession. In DREAMERS we have characters, and the game is seen in third-person. Moreover, the game is an adventure so we need to constantly move and fetch something. So as a result we implemented the PlaySys.StepSystem namespace, that is technically a group of classes and methods used to define everything that may happen in our game and that influences the fact of having feet and being on surfaces. In this vast system, there is one third-party tool, Final IK, that I want to mention because of the excellent work of its author Pärtel Lang. There are not many plugins in the DREAMERS development because of the risk of a lack of compatibility when developing a project in such a long term, but this is another story. So the PlaySys.StepSystem provides a quick and reliable answer (about 60 times per second) to many questions such as:
changedwhat happens with the collision detection? are the characters colliding with something invisible or are they really colliding with what we render to the screen? what is the fastest method? what exceptions we may have?
changedIn the game, we wanted to give a sense of freedom and for sure the players will enjoy this when exploring what we call in the development "the port region". Now, this region has multiple zones and areas and, of course, materials. One element I am very, very proud of in DREAMERS is the sound of the steps. My colleague Elena and I were spending days thinking about how to play a certain, consistent, sound effect when stepping on a surface and we ended up with what I consider a great solution if I can say so myself. it was one of the first "wow, it really works" moments during the development, and the computation is insanely fast. And once again, this is handled entirely by PlaySys.StepSystem classes. Also, consider that the sound effect is played together with some particles and these have a size, speed and colour depending on the stepping surface. They are also real 3D particles, bouncing and spreading in the scene for then disappearing. If you look at the gameplay videos you'll see this

Today we are talking about DREAMERS step system!

We used our PlaySys Interaction Framework and the inverse-kinematics technique to make it look as accurate to reality as possible.

But it will be Luca, DREAMERS' game designer and main developer, to explain the details.

So, Luca, how was the PlaySys Interaction Framework involved in the steps' programming?

Thank you Federica for this interview. It feels odd but fantastic to write at the same time on this form with different accounts :) The PlaySys Interaction Framework is a set of tools that I am developing since the early years of PlaySys. I usually pretend in my articles that it is very stable and consistent, but in reality, it is continuously being iterated. This happens because we don't have a single style in our projects and it is very difficult, if not impossible, to define objectively everything that may happen in a game. This is the case of DREAMERS for example, where a lot of functionalities have been designed and implemented for the first time in my profession. In DREAMERS we have characters, and the game is seen in third-person. Moreover, the game is an adventure so we need to constantly move and fetch something. So as a result we implemented the PlaySys.StepSystem namespace, that is technically a group of classes and methods used to define everything that may happen in our game and that influences the fact of having feet and being on surfaces. In this vast system, there is one third-party tool, Final IK, that I want to mention because of the excellent work of its author Pärtel Lang. There are not many plugins in the DREAMERS development because of the risk of a lack of compatibility when developing a project in such a long term, but this is another story. So the PlaySys.StepSystem provides a quick and reliable answer (about 60 times per second) to many questions such as:

  • when you move from one point to another, how is your motion happening?

  • when you step on a surface what happens to your feet? and what happens if the surface is not planar?

  • what happens if you stand (or move) on a moving apparatus?

  • what happens with the collision detection? are the characters colliding with something invisible or are they really colliding with what we render to the screen? what is the fastest method? what exceptions we may have?

What is that you're most proud of, regarding the characters' moves?

In the game, we wanted to give a sense of freedom and for sure the players will enjoy this when exploring what we call in the development "the port region". Now, this region has multiple zones and areas and, of course, materials. One element I am very, very proud of in DREAMERS is the sound of the steps. My colleague Elena and I were spending days thinking about how to play a certain, consistent, sound effect when stepping on a surface and we ended up with what I consider a great solution if I can say so myself. it was one of the first "wow, it really works" moments during the development, and the computation is insanely fast. And once again, this is handled entirely by PlaySys.StepSystem classes. Also, consider that the sound effect is played together with some particles and these have a size, speed and colour depending on the stepping surface. They are also real 3D particles, bouncing and spreading in the scene for then disappearing. If you look at the gameplay videos you'll see this

Source

Steam News / 26 September 2022

Open original post

Changelog.gg summarizes and formats this update. How we read updates.