• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Sandbox (role playing) engine - SotFRP

Status
Not open for further replies.
Level 3
Joined
Jan 6, 2016
Messages
11
What is a sandbox game?
Its a game without any predefined aims or goals. Its not possible to win or lose - except when players have built these conditions for themselves.
The main goal of a sandbox game is to give its players the tools, and then the players utilize them to entertain themselves.

A standalone game whose main idea is quite similar is Garry's Mod.
There also were similar maps in Warcraft 3 before - DoBRP, SotDRP, RoTRP, YARP, and others.
SotFRP is meant to serve as a massive improvement upon them.

People use SotFRP to RP freely, set up their own campaigns and D&D games, or even test various melee scenarios.

SotFRP supports both SD and HD, HD support is almost perfect already, while SD support is on its early stages but is being worked on.

The map supports English, Russian and (partially) French. The language is chosen automatically based on your game client.

So, what SotFRP has to offer?
SotFRP can be viewed as an online collaborative world editor with the possibility to play with things in parallel to creating them, which is just perfect for RP of any scale.
It can also be useful as a technical tool to test various gameplay cases, as it can offer almost as mush possibilities as the World Editor itself - a bit less in some cases, and even a bit more in other.

You can spawn various units and build various doodads using the custom UI, and then alter them using the Command System - change their colors, sizes, stats, abilities and much more (described below).

1640947499418.png


You can alter terrain, including even its height.

1640947808128.png


And most importantly, you can save and load everything, including terrain modifications, doodads, units and their current orders.

1640947898020.png


The Command System

1640949605700.png


SotFRP ships with a complex built-in interpreter, working with the SotFRP Command Language.

However, the basics of the system are very easy. There are two kinds of commands - 'common' and 'unit-targeted'.
Common commands are executed once, unit targeted commands are executed once for each selected unit.
Commands should be sent to the chat, preferably to 'Observers', so you won't disturb other players with your input.

The simplest usage is just to type in commands in the form of
Code:
command first_argument second_argument ...
E.g.
Code:
maxhp 600
Its going to change the max hp of all selected units to 600.

Commands are also used for chatting, both OOC (Out Of Character) and IC (In Character). 'ooc' or '.' allows you to talk on your own behalf in the OOC chat, while 'ic' or '%' allows you to talk on behalf of the selected unit, giving the ability to RP properly.

1640950457722.png


Some of the most basic commands for altering units are 'size', 'tint' (vertex color), 'fa' (facing), 'color' (player color), 'maxhp', 'maxmana', 'damage', 'armor', 'level', 'herostr', 'heroagi', 'heroint', 'name', 'propername', 'kill' and 'remove'. Even this simple set of commands should get you ready to play and RP.

Going Advanced

DISCLAIMER: This section is meant for people how are already comfortable with the command system and/or have basic (at least) programming knowledge. You can skip it without hurting your ability to play the map.

Actually, the possibilities of the Command System are far greater.

Each command is a function by nature - it returns a value. You can pass results of commands as arguments to other commands.
Commands are also overloaded, meaning that they can behave differently when supplied with a different amount of arguments.
A good example is 'maxhp' command, which returns the max hp of the unit its operating on when called without arguments.

This line will set the current hp of the unit to be equal to 25% of its max hp for each selected unit.

Code:
hp $[/ $[maxhp] 4]

The brackets are used to tell the system that the contents should be executed and their return value should be used in their place. Technically speaking, it's just a function call syntax. You could see something similar in some functional languages, like Clojure.

You can also 'chain' a set of commands, using the '&' operator. The return value of the chain will be equal to the return value of the last command in the chain.

Code:
maxhp 600 & maxmana 600 & armor

This chain will set max hp and max mana of the unit to 600, and use the unit's armor as its return value.

There are also special commands that accept an unexecuted command as an argument, and then execute it under specific conditions. For example, 'forall'. It executes the given command for all of your units. The simplest usage is 'forall $[remove]' (can be shortened as 'forall $ remove'), which will remove everything you have spawned.

Utilizing all mentioned above, you can also define your own commands with 'defn'. Here is a custom command that accepts a value and sets both max hp and max mana of the unit to the given value. The dollar sign is used to reference variables.

Code:
defn mycmd [value] $ maxhp $value & maxmana $value

It can be then used as 'mycmd 500'.

Showcase

Here is just a small subset of all the magnificent zones created by our players in SotFRP.

1640951158144.png

1640951278056.png

1640951314787.png

1640951408468.png


Conclusion

SotFRP is a huge map series with various pre-built terrains with different tilesets.
I'm attaching one of our universal (Maelstrom) and one of our HD-only (Riverlands) maps to this post.
You can download other pre-built terrains, receive regular updates, ask any questions, submit suggestions and find more info in our Discord: Join the Shadows of the Future Discord Server!

Feel free to give your feedback in this thread as well, I'll be happy to get it and respond to it!
 

Attachments

  • SotFRP_Riverlands_HD_1.0.0.294_RC.w3x
    22.9 MB · Views: 63
  • SotFRP_Maelstrom_1.0.0.294_RC.w3x
    22.7 MB · Views: 78
Last edited:
Status
Not open for further replies.
Top