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.