Add an example entity, plus readme rewrite, plus code cleanup.

This commit is contained in:
moonheart08 2023-05-11 08:36:48 -05:00
parent ad7a0fa055
commit 2aeb9dad28
8 changed files with 30 additions and 4 deletions

View file

@ -1,3 +1,4 @@
using JetBrains.Annotations;
using Robust.Client;
using Robust.Client.Graphics;
using Robust.Client.State;
@ -9,6 +10,7 @@ using Robust.Shared.Timing;
// DEVNOTE: Games that want to be on the hub can change their namespace prefix in the "manifest.yml" file.
namespace Content.Client;
[UsedImplicitly]
public sealed class EntryPoint : GameClient
{
public override void Init()

View file

@ -1,3 +1,4 @@
using JetBrains.Annotations;
using Robust.Server.ServerStatus;
using Robust.Shared.ContentPack;
using Robust.Shared.Timing;
@ -5,6 +6,7 @@ using Robust.Shared.Timing;
// DEVNOTE: Games that want to be on the hub can change their namespace prefix in the "manifest.yml" file.
namespace Content.Server;
[UsedImplicitly]
public sealed class EntryPoint : GameServer
{
public override void Init()

View file

@ -1,14 +1,16 @@
using System.Globalization;
using JetBrains.Annotations;
using Robust.Shared.ContentPack;
// DEVNOTE: Games that want to be on the hub can change their namespace prefix in the "manifest.yml" file.
namespace Content.Shared;
[UsedImplicitly]
public sealed class EntryPoint : GameShared
{
// IoC services shared between the client and the server go here...
// See line 23. Controls the default game culture and language.
// See line 24. Controls the default game culture and language.
// Robust calls this culture, but you might find it more fitting to call it the game
// language. Robust doesn't support changing this mid-game. Load your config file early
// if you want that.

View file

@ -1,4 +1,14 @@
### Robust Toolbox Template Project!
This is a multiplayer (with optional singleplayer!) template project for RobustToolbox, to help bootstrap the whole thing. Good luck.
## Robust Toolbox Template
This template is designed to provide an easy entrypoint into creating a new game on [RobustToolbox](https://github.com/space-wizards/RobustToolbox),
with a functional client and server provided that can connect to one another (if not much else until you start adding content.)
Also check out our [singleplayer-only template](https://github.com/space-wizards/RobustToolboxTemplateSingleplayer)
This template additionally includes some helpful IDE settings if you're using Visual Studio or Rider, like RobustToolbox-specific file templates to quickly make new components, systems, and prototypes.
An example file structure for Resources is also provided.
### Wait, why would I use RobustToolbox?
RobustToolbox is a fairly modern ECS game engine with strong multiplayer support. Out of the box, it's netcode is capable of handling hundreds of players (as demonstrated by the game it was originally written for, [Space Station 14](https://spacestation14.io/)) and is relatively easy to use with less risk of common mistakes like giving clients authority over game state compared to other engines.
It provides prediction-based server authoritative netcode by default, with options to both autogenerate simple state synchronization for components and to manually implement more complex state application algorithms as necessary. Additionally, basic RPC is provided through networked entity events (which can be sent both ways, and optionally targeted at specific entities) alongside direct access to the underlying transit layer for more direct control when necessary.
Features like network visibility culling (called PVS by the engine) and replay recording are also provided by default, and client/server code is split to greatly reduce the odds that server specific information leaks over to the client due to programmer error.

1
Resources/Audio/info.txt Normal file
View file

@ -0,0 +1 @@
Place game audio here.

1
Resources/Fonts/info.txt Normal file
View file

@ -0,0 +1 @@
Place fonts here.

View file

@ -0,0 +1,7 @@
- type: entity
id: ExampleEntity
name: example entity
description: example entity's description
components:
- type: Sprite
texture: /Textures/noSprite.png # Provided by the game engine.

View file

@ -0,0 +1 @@
Place textures here.