Anyone else super pleased about the Deathmatch source code?

I took a peek at the Deathmatch code and wow I was shocked at how understandable and readable it was. I seriously feel like I could start developing right now without even looking at the documentation. Glad to see that Garry is designing this game with modders in mind and the stuff that we’re gonna be able to create is awesome. So glad my favorite game wasn’t forgotten about.

7 Likes

I haven’t done a lot of C# in my life but I also found their code to be quite understandable and accessible to everyone, which is a good thing.

IMO C#, as an oriented-object language, is more understandable (modulo developer skills) thanks to the structure enforced by the language itself. However, it requires more “discipline” in your code writing than LUA.

Also, I did not checked if there’s a way to hot reload your program without recompilation or if you need to recompile it each time you modify something (and that’s fine too, you just need to create a workflow to recompile your project automatically).

The game takes care of compiling your code so you don’t have to use anything external for it.

The same applies to autorefresh, the game’ll detect file changes and handle the rest.

1 Like

Oh nice, thank you for this information :slight_smile:
I just started to follow the development of S&Box, I wasn’t aware that we already have this information

All jokes aside. I’ve never been disappointed with Garry & the team’s work. One reason why I will always be a fan of what they do.

2 Likes

Who was joking?

1 Like

I agree with this characterization. Scripting languages like Lua and Python are supposed to be really easy to understand and develop with, but my biggest issue was always that it isn’t strongly typed so that it’s really hard to understand what’s actually happening. In the dm code I can see exactly what is going on and I don’t even know c#.

1 Like

I’ve done a decent amount of C# but I’ve always found c-syntactical blocks (outlined with curly brackets) easier to visualize than its counterpart in Lua or python. I’ve started writing a gamemode using the API calls found on the github, can say I’m loving the experience so far.

1 Like

A few months ago I posted this on the FP discord showing how easy people understand the code:


(This image was taken on a different Discord completely unrelated to S&box)

The API is kept simple yet extendable and this is what will allow a lot of people to write great games and addons.

image

image

4 Likes

I’ve been reading over all of the code they’ve given us during my free time and it’s been really enjoyable due to their cleanliness. I’m glad they’ve been willing to share it with us :slight_smile:

1 Like

But you complained about partial classes.

I didn’t complain, I just said that I didn’t see partial classes used that much anywhere else. You probably mixed me with someone else who did that instead.

In any case that’s still unrelated as partial has nothing to do with the API

I’m sure it was you, but yeah probably complaining is not the right word.

Also you were talking about Garry’s coding and how people find it easy to understand, that’s why I mentioned it, not because of the API.

Same, sometimes if I’ve got nothing to do I’ll just go thru the gamemodes they’ve posted and try to understand whats happening. Most of it is really easy to understand

Agreed, as someone who comes from a C++ background, I could understand pretty much everything in the codebase. Never touched C#, but I’m looking forward to it now.

Very. It’s clean and clear. I want to start developing a gamemode or two but I don’t think it’s practical before release (or without access).

2 Likes

I think it’s doable right now, but yeah I think I’m just gonna save myself the headache and wait until the game comes out when I can actually test my code as I’m writing it to make sure it works.