logo80lv
Articlesclick_arrow
Research
Talentsclick_arrow
Events
Workshops
Aboutclick_arrow
profile_loginLogIn

Histera on Developing a Multiplayer First-Person Shooter Game in Unity

StickyLock Games' Jamel Ziaty has offered an exclusive behind-the-scenes look at the studio's upcoming FPS Histera, explaining how Unity's DOTS and Unity Gaming Services help the team set up the game's multiplayer component.

Back in late 2023, StickyLock Games, an indie game development studio hailing from the Netherlands, officially announced Histera, a free-to-play, fast-paced multiplayer shooter boasting one of the most unusual approaches to game levels – a dynamic battlefield that shifts between past, present, and future.

Powered by Unity, the game heavily relies on the engine's DOTS, a combination of technologies and packages that delivers a data-oriented design approach to building games, and Unity Gaming Services' solutions, which the team utilizes to set up the multiplayer component of Histera.

To learn more about the history of StickyLock Games, the development process behind Histera, and how they leverage Unity's DOTS and UGS to their advantage, we spoke to the studio's Producer Jamel Ziaty, who offered an exclusive behind-the-scenes look at their upcoming game.

When asked about the early days of StickyLock Games, Jamel told us that the studio started as a team of five people working on XR-oriented projects. Today, it has expanded to the size of about 70 people with locations in the Netherlands and Spain.

"Our working process is mostly quite standard: the design team creates the mechanics and functionality with the player in mind. Depending on the scale of the functionality, they pitch their idea to management, me, and possibly the other leads.

Once everyone is aligned, the team works out the finer details and then we head to production to flesh out the idea or straight to implementation. The implementation teams then keep a close line of communication with design to ensure the functionality is headed in the right direction."

Speaking about the team's experience with Unity, the developer revealed that the engine has been their go-to game creation tool from the very beginning. With many students learning Unity during their university studies, a significant number of newcomers at StickyLock already had experience with Unity and knew how to work with it when they joined the team. According to Jamel, the engine's main strengths are:

  • "A low entry barrier. I believe this is due to multiple factors like C# being perceived as a good starter programming language, Unity being an early 'free' engine, and a lot of information being available since there are many people stepping into Unity to learn it and create content for it.
  • Ability to target multiple types of hardware. Tightening the compatibility between HDRP and URP will make this even more true.
  • The engine's capabilities when it comes to mobile development. After working a bit with mobile development in Unity, I saw the value in the tools right away. I also think this is somewhat connected to my previous point where Unity shines at being able to target multiple platforms. With their plans to have the HDRP and URP pipelines work together better, I expect this to improve even more."

Furthermore, Jamel commented on Histera's unique approach to level design, revealing that the concept started with the idea of portals that could transport you to different eras, proposed by the company's CEO. The initial goal was to refine this concept into something that would distinguish the game and cater to a diverse audience. StickyLock's vision was to create a game where players could choose their preferred style, be it fast-paced action, slow tactical gameplay, or something in between.

"The reason we went for an FPS genre was because of something I dearly respect in our CEO: we try to go big. We wanted to take on one of the more prominent genres, create a huge game and concept, and, most importantly, bring a fresh take to it. We did this by introducing a mechanic called the Glitch. The Glitch transforms parts of the map to a completely different era during the game, changing the visuals and layout of the map. During the Glitch, players are given a chance to retrieve one of many special power-ups, which creates a hectic spectacle that introduces a bit of chaos into the gameplay. Players who adapt the quickest by using the Glitch or a new layout to their advantage will be able to thrive.

The range of games we drew inspiration from is quite large. We did an extensive audit of many shooters and made notes, ranging from simple UI elements to complex functionality like networking prediction or spray patterns. It is always challenging to balance when creating something new. There’s always a temptation to create new concepts instead of reinventing the wheel. With the Glitch as an important USP in mind, we work towards features that we believe complement it best. That is the core of all our decisions and the decisions we will continue to make."

Discussing Histera's multiplayer component, Jamel praised Unity's packages, the incredible creators of Unity Asset Store, and the recently introduced Unity Gaming Services, an ecosystem of backend and LiveOps services to support multiplayer and live games at any scale.

"Nowadays, I must say Unity fares well when it comes to creating multiplayer games. They have the packages 'Netcode for GameObjects' and 'Netcode for Entities', and don't forget the heroes of the Asset Store who provide their implementations for networking, as well if one of the built-in packages is not to your liking.

On top of that, they've introduced Unity Gaming Services, which are basically services that can help you with many aspects of a game. I think it's great that they offer this, as it gives you the option to go with a first-party package that they maintain themselves. The services themselves are modular and flexible; you can work with other packages or decide upon a custom implementation if you'd like. The choices and flexibility of packages and services is what meets our needs."

Last year, Unity Technologies officially launched Unity 2022 LTS, introducing a slew of new features and improvements. One of the release's highlights was the integration of the Entity Component System (ECS) into DOTS, which became available via the Unity Editor, allowing the integration of Entity-based development with GameObject-based code. When asked about what this update meant for Histera's development, Jamel had this to say:

"It's funny that you ask that, as we're currently busy with upgrading our packages and version of the engine to 2022 LTS. For us, it's been a long time coming, ever since DOTS got released out of preview, and we're no strangers to scouring the forums for updates on the packages.

What the upgrade means for us is that we'll have a higher performance potential as well as improved stability. As we'll also be on a stable release, we'll be better supported on those versions."

Expanding on the topic of game development in Unity, Jamel offered advice on how to get started, suggesting mastering Unity basics and Object-Oriented Programming (OOP) before delving into DOTS/ECS. Additionally, Jamel shared some valuable tips on creating multiplayer experiences in particular:

"First off, I would think about what kind of multiplayer game I'm going to create. As an aspiring developer, I would recommend to keep it simple and to get familiar with networking concepts first. If that is not your style, at least try to test out various networking concepts before diving in and writing your code.

I don't have any specific resources for this, but even the package descriptions will refer to multiplayer concepts. If you aren’t familiar with these concepts, make sure you at least get what they are intended to do. Concepts I believe you should somewhat understand are: remote procedure calls, synced variables, latency, interpolation, prediction, and lag compensation.

Then, determine the package you're going to use. Depending on your game engine, the available packages will be different, of course. For Unity, you can choose NGO (netcode for GameObjects) from Unity itself, or packages on the asset store like Mirror, Photon, Fishnet, etc.

If you're wondering which kind of multiplayer setups are possible and what their usages are, you can find info here or here, but there are also many other websites that can provide information.

And finally, get to prototyping, and be sure to test with friends! If any more experienced developers are interested in the Dedicated Game Server multiplayer, architecture, ECS, and netcode, I'd like to recommend the following talk by Timothy Ford:"

Lastly, Jamel provided insights into the studio's current roadmap and future plans regarding the launch of Histera:

"Currently, we're buckling down on getting Histera out of the door with an Early Access launch in 2024. I will say we aren't too far off from that goal, so be sure to keep a close eye on our socials (Twitter, Discord, YouTube, Instagram, Facebook) and wishlist the game on Steam to receive updates – which also helps us!"

Learn more about DOTS here

Jamel Ziaty, Producer at StickyLock Games

Interview conducted by Theodore McKenzie

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more