Page Header

Challenges with S&box Game Engine

I work with Unity Professionally. It's decent. I can do everything I want to do with unity, but the experience kinda sucks. I will be comparing S&box to Unity.

Unity is very old. It has lots of duplicate systems, all of varying levels of functionality. Sometimes they're even named the same thing. I think there are 3 different Input Systems. It's confusing.

S&box is new, so it doesn't have this issue. All of the systems in s&box are pretty good and nice to work with. Except they're usually half finished.
In general, the systems in s&box are much nicer than the systems in Unity.

I really like coding UI with Razor.
Text Mesh Pro in Unity is decent, but it's annoying to do anything complex with it. I'm a noob at css/html, but I found it very pleasant to use and quick to prototype with.

Most of the small usability issues  got fixed quick.
I encountered a lot of small annoying things, but Carson fixed them very quickly. Some things prefabs not having icons, Not being able to do certain actions on multiple things at once, etc.

I want to use S&box more. It's fun!
I encountered a lot of bugs and issues. This list is long, but it's not as bad as it seems.

Things kept randomly getting deleted.
I think there are a few causes of this. The Undo/Redo system is buggy. Sometimes things wouldn't undo. Sometimes multiple things would undo at the same time.

If you save your script with an error, there's a small chance the component will just get deleted from the Game Object.

Prefabs.
You can't make modifications to prefabs in the scene. If you want two identical prefabs, except one value is different, you need two prefabs. You also can't see any of the prefab's Properties without collapsing it. I ended up not using prefabs for most things placed directly in the scene.
Can't rename assets.

You can't rename assets in s&box. If you rename your material or prefab, all references to it are lost. You also can't change the file location.

If I wanted to organize these food types into different folders, I would have to manually reassign every reference to them.
Filename issues
Having spaces in file or folder names messed things up. This was confusing because it seemed to work at first. Also, s&box kept making file names completely lowercase.
The built-in pathfinding is very bad, especially when using a Hammer Map. Characters kept walking through walls and getting stuck.
I needed to constantly restart s&box.

Unity crashes a lot. S&box doesn't crash as much, but I needed to constantly restart it because it kept acting strange. Sometimes things would get partially hidden/deleted, sometimes my controls would stop working. This is to be expected with an early Work In Progress engine.


The asset browser is very slow.
It takes so long to switch between the official Facepunch cloud assets, and your local assets in your project. You can favorite searches, but it didn't seem to work properly. This doesn't bother me too much normally, because I just open a bunch of asset browser windows.

This is worse in the level editor, Hammer. You can only have 1 window open at a time, and it locked my input any time I added a model to the level.
Multiple cameras active at the same time.
They appear to work properly at first, but they don't really work that well.

Different behavior in Editor VS in Game.
A few things behaved differently when testing in editor compared to when testing in the regular game play mode. It seemed to mostly be physics initialization issues.

Inconsistent Physics.
There are many different types of physics with similar names, but they behave differently. Ragdolls behave differently from regular physics objects. When you drag a model into your scene, it's given a "Prop" component. You can click "Break into Separate components", but those separate components don't act the same as a Prop. Mainly, "IsStatic" on the Prop is different from "Static" on the Model Collider. I don't know if this is intentional. It's very strange.
Cloud Assets are scary.
Most things on the "asset store" seemed to be stolen or improperly licensed. We only used Facepunch's stuff to be safe, but sometimes they would just become errors.
Hammer Editor.
If you ask any level designer, they'll tell you Source2 Hammer is the best level design tool ever made.
However, it's terrible in s&box. It's degraded so much. I'm not sure if we're supposed to use it anymore. I wish Facepunch would either commit to updating it and improving it, or just delete it entirely.
One day we woke up to find broken screen space reflections forced on all our metallic materials.
We couldn't figure out how to turn this off. Everything with a metalness texture has this. It's still in the game. We had to update all our materials to make it less obvious, but it's still on, lowering the FPS...
Inches.
S&box uses Inches instead of Meters. We didn't realize and made all our models using meters. This didn't matter, but nothing lined up on the grid.
The Game Jam's tight deadline encouraged me to NOT report bugs.

I could spend 10 minutes working around the bug, or I could spend 30 minutes filing a bug report (and still have to work around the bug)

I feel bad for not reporting every bug, but it saved two or three days of development time.

Also, it was disheartening to see entries that people had worked on for over a year. My friend and I worked on this project for over 150 hours during the Jam, but there is no way to compete with a game that was in development for over a year. We knew this was a possibility going into the jam, but it hurt a little seeing it come true.
Maybe when s&box is more finished.

I loved using s&box! It's much nicer than Unity, but I can't make any money from s&box yet.

If I make a game on Unity, I can sell it.
If I make a game on s&box, I can't do anything with it. It's just a portfolio piece.

I like making small games for fun, but if I can't make money from the project, then I can't pay other developers to help me with it.

The Game Jam was fun, but there is no incentive for me to continue developing long term.

Comments

May, 5 2021
0
Also, it was disheartening to see entries that people had worked on for over a year. My friend and I worked on this project for over 150 hours during the Jam, but there is no way to compete with a game that was in development for over a year. We knew this was a possibility going into the jam, but it hurt a little seeing it come true.

I agree with this for sure. I think being able to use old projects is just completely against the spirit of a game jam IMO, it feels gross, and I haven't seen a single person outside of the Sbox discord happy about this. I don't care if facepunch will factor that in when judging or not, it's more or less the principle; It feels like shit to start fresh on a project just to see someone submit something from months or years prior, they get a massive head start.

I really wish the rules were a bit more tight, other game jams I've done with less on the line have a more strict ruleset and sure, some people cheat, but typically those people don't make it too far anyways.

The issue that comes up with this is how would facepunch enforce more rules (such as limiting team size/not using older projects)? For one, I think just having the rules in place is probably enough to stop the majority of people from breaking them.  The others could potentially be caught by the community, and reported to facepunch.

Or just don't worry about enforcing them until the final selection, then do due diligence on the ones that are looking like they'll win some prizes.


Currently with their rules, the "meta" would be to start on a project right now in prep for the next jam, since there's no reason not to give yourself a headstart and there's no hints at wanting themes or anything of the sort. I think that's just not fun, but I guess the jams aren't for us, its for facepunch to see what the engine can do and give people a reason to actually make things with it.
Apr, 4 2021
655

Thanks for the write up - some really good points here.
I think the way to prevent people working on their entry before the contest starts is is to declare a theme. This wasn't something I really wanted to do, but I think it's the only way to get around it.

Letting developers make money from their games is a priority. It's the thing we fucked up in Garry's Mod IMO.
Aug, 8 2022
0

One thing I found pretty disheartening as an artist is how many people relied entirely on AI to create assets. Luckily, these games were massively downvoted by the community. However, I think that a more "strict" rule about the use of AI, like in GMTK's Game Jam could help.*


Don't get me wrong, I know some people have limited options when it comes to creating assets for their games, because unlike Garry's Mod you cannot use other games models, sounds and textures and get away with it. 

It sure makes things harder, and the only solution is to either hire an artist or buy asset packs. But I don't think it should be a reason to let a soulless AI do all the job.

Not only this, but it degrades the quality of the content available on the platform, and gives me flashbacks of when the developer preview was released to the public and people made shitpost games to complain that this isn't Gmod 2.

Some people may argue that AI can have its place in the art department in the future, I'm still very skeptical about it but that's up for debate.



*To be fair, there is a rule about owning the rights to your assets, and I think I saw somewhere that you don't possess any rights on AI generated content, but I guess that depends on way too many factors and probably isn't true for all of them.
May, 5 2021
0
This feels reeeeeally close to our experience with s&box so far. I strongly agree on the Game Jam part. Even if big teams and older projects were allowed, I was really hoping that people would play fair and square.