Developing a Generic FPS System

Developing a Generic FPS System

Ulli Berthold talked about Sinespace, the development of FPS components for the platform and gave recommendations to those who want to create something big.

Ulli Berthold, the developer of BKR (FPS components) for Sinespace, talked about the platform, the development of BKR and gave recommendations to those who want to create something big.


My name is Ulli, I’m from Germany, and usually, I’m a developer for business software applications. That means my “normal” daytime work might sometimes be technically advanced, but in general, it is quite boring.

A couple of years ago, back when I was working abroad, I started creating things for virtual worlds, simply to avoid just another night at a hotel bar.

What might a developer do in a virtual world? Well, scripting, naturally, and that’s where I started. Over the years that expanded to until I was able to cover most of the creation parts needed, from script to mesh and texturing.

But with the “old” virtual worlds there’s a limit to what the platform can do. Or who you can take there. Especially if you want to use them to target real-life customers.

Discovering Sinespace

A few years back (late 2016) I discovered Sinespace when they started their public beta, and quite liked the community that was already around from the closed alpha/beta phases.

I saw several major advantages for the ideas that were running around in my head. It was technically up-to-date, based on an efficient platform, and yet fit in with my pre-existing toolchain from other worlds. One of the biggest advantages for me was the white label option where you can basically create your own grid, keeping visitors separate from the main one. A very important point if you want to target business customers or the education sector.

By now, I have several projects under development based on Sinespace platform, with BKR being the biggest and most advanced one.

And the community is nice and usually very helpful. Having the developers available in the chat is quite fantastic, too!

1 of 2

Development of BKR

BKR is a set of free and open source add-on components and samples for Sinespace that allows creators to set up their own first-person shooter easily. Depending on the creator’s knowledge level they can either use the samples and just drop them in on their own scenes, or use the code and extend and expand everything to create their very own look and feel.

Beyond those free and open source add-ons, there’s an extended version in progress for a full-featured shooter game that’ll launch soon on a separate grid. Many of the fixes and extensions for that will find their way back to the free creator’s tools, so if you create something using those today, you’ll still have a future.

To read more about BKR and how it can be used in Sinespace, check out the wiki page here and watch the video below:

At some point, I got into talks with Sinespace team about what kind of demos would be fun to pull in more creators. After all, if I build a project on the platform, I want it to succeed! Several ideas came up, and a few of those were implemented, e.g. a quiz system (Elephant in the Room), a racing system (e.g. Dessert Track Race Meet), and now the first person shooter components. The Sinespace team then turned those into a nice competition for designers! Great fun!

Were there any challenges? Well, as with almost everything I do, I tend to push the envelope, touching points in the system that weren’t used before. So there were a few functions added to Sinespace platform to allow for a better implementation of the FPS components.

Now that’s what I call support when you can poke the core developers because you need some more API functionality!

1 of 2

Compatibility with Unity

Sadly, FPS components wouldn’t work in Unity alone. The FPS components use Sinespace API and are written in LUA, not in C#. They do work within the Unity editor during development, but not without the Sinespace Editor Pack component.

If You Want to Create for Sinespace

Considering the very broad range of things you can create within Sinespace, it’s very hard to answer whether a person needs a lot of technical knowledge to start creating stuff for Sinespace. You can start with very little knowledge, leveraging the platform for most, and then expand as you learn. Even scripting isn’t needed that much, at least compared to other platforms.

1 of 2

For learning to create, I’d recommend Sine Wave Youtube channel where you can find a lot of tutorials.

Here’s a video by Sine Wave that will guide you through the process of importing the SDK, setting up the Unity project, and how to publish and access your first multi-user region in Sinespace.

How to Organize Work if You Want to Create Something Big

Like with all the bigger projects, I think the most important thing is planning.  As boring as it sounds, but if you don’t start to write down and organize your ideas right from the start you will fail.

Collect your ideas, reach out to the community for input, explain your idea to your dog, well, the typical project steps. And yes, I meant that with “explain the idea to your dog”, though feel free to use a rubber duck instead. Explaining the idea to something or someone makes it a lot clearer to yourself, too!

Once you have a basic plan of which way to go, setting up some simple demos are a good way to see if your idea has merit, if it feels good. Maybe get a few friends to join testing. Sometimes an idea that sounds great does show unexpected problems when you try implementing it. Or it might guide you down another, even better, path.

From there on, it’s a project. Plan steps, track ideas and try to keep the workspace clean. And most importantly, stock up on everything you need to bribe your friends to play-test yet another round, helping you collect even more bugs you need to squash and ideas you would love to put in, but can’t for time limitations.

But then again, maybe you should first try to decide if you build it as a commercial project, or just because you enjoy creating and want to have fun creating. Which is what I do most of the time and as a result, forget about the planning steps above. And then sometimes I see that what I just did for chuckles ends up growing and I kick myself for not planning… Tough luck!

Ulli Berthold, Developer for Business Software Applications

Interview conducted by Daria Loginova

Re-create your favorite game scenes and more using the new Desert Warzone assets from Quixel:

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