S&box screenshot

S&box and Pragma

By AtomicFirefly 🧩 | The Chatter Box | 15 Jan 2020


Links
S&box
Pragma

 

If you have not heard about them yet, I would like to introduce two video games with extreme potential.

 

The first one is Facepunch Studios' sequel to it's own 2004 sandbox hit, Garry's Mod. The title of this successor is S&box.

Unlike it's predecessor, S&box is developed in the Unreal Engine, a cutting edge game engine with a whole host of capabilities. It began development in 2016 and has gained quite a fanbase despite not being released yet. A Youtube user by the name of Crayz has been following the development of this game for quite a while:

 

Features

 

Webcon

Devblog 1: "Most games have an in game console. They're usually used to run commands and set/get variables.

When we first started making Sandbox Game, I decided that the console should be an external app. It should open when you press the console key - like the console in Source 2 works. This worked, and worked well. It was using WPF though, so was obviously windows only.

So I considered using something like electron to create a cross platform app to replace it.

Then I thought another step deeper.

So in the current implementation, the game itself creates a tiny web server. It serves the console's webpages and javascript, and also listens to websockets on the same port.

This means that you can navigate to the server's rcon url (localhost:27016) and the console will show, and connect to the game. You've got a direct TCP connection to the game.

This ticks a lot of the boxes for us. It's totally cross platform, it offloads all the bullshit to an external process, you can copy and paste from and to it really easily, it survives the game if it crashes so you don't have to go looking through log files.

It also means that we don't have to implement rcon, because you can set a username and password and access the console via your web browser remotely."

 

C# Coding

 

Devblog 2: "Coding in c/c++ isn't enjoyable for us. Unreal Engine doesn't make that any more enjoyable.

So the goals are simple

 

  • Load new code at runtime
  • Hotload code while playing
  • Easy to learn and use
  • Reduce coding ballaches
  • End user never touches c++, Unreal Engine or any other SDK

 

Please keep in mind that I haven't cleaned any of this code up, we're still prototyping so nothing is fixed yet.

The implementation is very straight forward. There's a World class, a Gamemode class, and Entity classes. We're remaining very Source engine'y with our terminoligy because that's what we know.

Here's some example code.

This should be quite easy to read. It's from a weapon that shoots a rocket. It's creating a rocket entity, setting the position and velocity and spawning it."

 

HTML UI

 

Devblog 3: "We're using HTML for our UI right now. I've found that this is a pretty divisive thing to do, so let me explain our work flow and how we're trying to make it not suck a**hole.

As programmers we tend to think things like "I just want to draw some text to the screen, this is too much". That's a valid point if your entire game UI consists of writing a single string to the hud, don't use HTML. But there's a point where putting in a bit of extra work means a lot less work in the future.

 

There's a few benefits to a HTML system.

 

  • You don't have to code your own UI system
  • You don't have to code your own Font system
  • You don't have to code your own Styles system
  • You don't have to code your own UI Animation system
  • You don't have to code your own Video system
  • HTML is already used everywhere
  • Lots and lots of tools to edit HTML
  • Styling is easy, fast, versatile
  • Animations are easy, fast
  • Effects like text shadow are easy, fast
  • Blur effects make you feel like 3017
  • Learning html/css/js is a transferable skill
  • Automatically multithreaded
  • Forced separation of view/model/controller"

 

 

Asset Importer



Map Editor

 

 

 

Pragma

 

Pragma is a similar game created by Silverlan. While not as near-complete as S&Box, it still shows plenty of potential and even has it's own answer to the outdated software, Source Filmmaker.

 

Open Asset Import Library

Pragma utilizes a format library known as the Open Asset Import Library, an open-source format library boasting support of over 30 different formats, including a format used by the open-source 3D modeling program, Blender.

 

 

 

Both are still being developed, but once released, could revolutionize gaming for the better.

 

How do you rate this article?

0


AtomicFirefly 🧩
AtomicFirefly 🧩

I am an avid content creator with a lot of creativity and a passion for creative commons. I have a variety of accounts.


The Chatter Box
The Chatter Box

The Chatter Box is a crypto-blog containing articles on anything in society, past, present and future.

Publish0x

Send a $0.01 microtip in crypto to the author, and earn yourself as you read!

20% to author / 80% to me.
We pay the tips from our rewards pool.