Author Topic: Space RP - A New Gamemode for Blockland  (Read 6601 times)



Introduction

So, over the past week or so I have been *silently working on a new game mode for Blockland. Being relatively new to TorqueScript, a lot of development was met with countless syntax errors and other problems, or at least until I got a basic handle on how TS worked.

I elected to develop an actual gamemode for Space RP servers, not some cheesy poor-excuse-for-an-add-on. I have aspirations for it to (hopefully) significantly enhance the gameplay experience for players on these servers. Hopefully the addition of a stable, fun role-play system will increase the popularity, too. The gamemode will incorporate a survival aspect to it, where you and other players must survive in a hostile, unforgiving environment*

* - This idea is still well on the drawing board.

Content

I haven't done all that much so far, but I have implemented the following:

(In order of implementation)

- Chat System

The chat system (what I'm calling "BrickRPG Chat" for now) utilises a localised chat system, with support for /yell, /whisper and /ooc (out of character) too. I had also planned on adding a Long-Range Radio system, but due to bugs I have disabled that component, at least for the time being.

Here are a few snippets of the system at work:

Normal (Local) Chat


Whisper Chat


Yell Chat


OOC Chat


Now, for all of you "keyboard-happy" critics out there  :cookieMonster:, I am going to take the liberty of clarifying a few things for you, before you start screaming at me:

"You're just throwing three different kinds of pre-existing mods together in one"
That's technically true, yes, but when was the last time you saw a server running both the LocalChat and Radio mods at once, without there being some kind of conflict occurring between them, or i.e. one breaks the other?

My intention is to put all of this functionality together in one package, in one system. This will completely remove any recurring compatibility issues associated with "mix-modding", and also allow for greater flexibility in how the system will work.

- Brick Power System *Which includes a limited linking system to link bricks together (similar to Wiremod in the sandbox game Garry's Mod)

This system is intended to allow for the creation of various systems that generate, store and consume virtual "block Watts", which can be used for a variety of applications such as powering lighting, weapons, computers and anything that you can think of that could possibly consume power.

What is the Linking system and how does it work?

The linking system is a series of commands which allow for powered bricks to be linked together and allows them to communicate with one another via invisible "wires".

To initiate a link, it's as simple as typing /link and then clicking on two bricks. The first will be the output of the brick you want to link to, and the second will be the input of the brick you want to connect to. In the following example, I have linked the output of a Solar Panel to the input of a Battery:



Now, the Solar Panel will start charging the battery once per tick, until it is unlinked or switched off.

The system works both ways too; typing /unlink and then clicking on a brick will unlink that brick from everything it is connected to.

You can also cancel a linking or unlinking operation in progress by typing /cancelLink and /cancelUnlink respectively.

I also coded a low-level tick system to allow for update functions such as power generation to work.

Each brick will have certain information attached to it, such as what type of brick it is, how much power it generates/holds/consumes etc., which can be obtained simply by clicking on the brick itself.

For the moment, most of the "power bricks" in the mod will rely on standard brick models, until such time as I create my own.

Having (finally) got Blender working with a .dts and .blb exporter, I am now free to make my own custom content for the mod.

Currently, there are a few options to choose from in terms of power:

Generators

These bricks generate a certain amount of power per 'tick'. They can either linked to a battery (power storage) or directly to a power consumer e.g. light. Note that if the power generator fails for whatever reason, anything that is linked to it will stop receiving power. So it would be wise to connect them to some form of storage.


Solar Panel

!!Update!! (05/10/14)

Here is a snapshot of a model which I am currently working on for the Solar Panel. I'm going to tell you now, I am by no means the best brick modeller in the world, but this is what I have got done so far:



Once I work out how to import custom textures, the brick texture you see on top of the panel will be replaced with something like this:



Storages

These bricks store energy. They can be linked to a power generator, which will supply a certain amount of power per 'tick' to charge the storage with energy. Linking a power consumer will draw energy from a storage until it runs out. A storage will continue to run even if the connected generators fail.


Battery

Consumers

Self explanatory. These bricks will draw power from power storages or power generators. Power consumers will cease to function if they loose power for any reason, so if this power consumer happens to be a defensive shield or weapon system, I would keep a keen eye on the status of these bricks!


Light

Events
I have implemented some custom events to work with the mod. I thought these were a great idea as they add extra functionality to the already fantastic eventing system available to Blockland players, as well as enabling the mod to work hand-in-hand with the eventing system! I would like to give credit to username Zack for this awesome suggestion.

Events added are:

onPowerUpdate
An input event, which triggers each time a 'tick' occurs, once per tick. e.g. Setting up onPowerUpdate -> Self - > PlaySound(Beep) on a Battery would make the battery play a 'beep' sound every tick. You may let your imagination take you wherever you like with this one ;)

onPowered
An input event, which is triggered the moment a brick receives an electrical charge. For example, you could set this up with a JVS door to open the door whenever it receives power from a battery or generator :)

onUnpowered
An input event, triggered the moment a brick looses power. This one is pretty self explanatory, but functions such as turning a system of lights off to simulate a loss of power are possible here.

-More soon to come!

Conclusion

I will be continuing to work on the gamemode as much as I can in the weeks to come, but I now call upon the community's support.

What features would you like to see implemented?

I am fast running out of ideas on what additions to make, so I strongly welcome any suggestions that you may have. I appreciate any feedback that you can offer me, as it will help me greatly in making this new Space RP gamemode fun and exciting for all.

Let me know what you think!
« Last Edit: October 05, 2014, 03:22:58 AM by Trinity »

This is pretty cool I hope it turns out well

I would like it :D

 :cookieMonster::nes: + :cookie::panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda: :panda:


A solar panel puts out 10 BW and a light consumes 5 BW? You might wanna work on your numbers later too. But cool idea.

I actually really like the idea for this, so my suggestion for the future is this:

Do you know about Space Station 13?

Do that.



Ah well, if you could make the wiring system you're using compatible with the events system, I would love you.

Hey guys, thanks for the great feedback so far!

@Zack
Do you know about Space Station 13?

I haven't heard of it before, but I will make sure I do my research. Thanks for the suggestion!

...If you could make the wiring system you're using compatible with the events system, I would love you.

I was just working on that today actually. This is my first time trying to get custom events into the game, but I will keep trying!


A solar panel puts out 10 BW and a light consumes 5 BW? You might wanna work on your numbers later too. But cool idea.

The numbers that I have chosen are place-holders for now. They will be modified later to suit gameplay needs :)

The numbers that I have chosen are place-holders for now.
Thank god, lol.

This is my first time trying to get custom events into the game, but I will keep trying!
If ya need help I've gotten more than my fair share of custom events made, they're surprisingly easy to do if you ask me.

New updates! (05/10/14)

- Added custom events!

- Custom models now being implemented!

Check the original post for further details.

I would like to give credit to username Thorfin25 for this awesome suggestion.

Ah well, if you could make the wiring system you're using compatible with the events system, I would love you.

'Twas Zack that suggested it. I say you should add a variable onto bricks that alters as the power does, so for instance is the solar generators stop outputting x amount of power you can event the batteries to turn on.

Quote
'Twas Zack that suggested it.

Whoops-my mistake haha. I'll change that lol

Quote
I say you should add a variable onto bricks that alters as the power does, so for instance is the solar generators stop outputting x amount of power you can event the batteries to turn on

That sounds like an interesting addition :) I'll look into it
« Last Edit: October 05, 2014, 03:40:15 AM by Trinity »

It'll work well with the "onPowerUpdate" it could be like a VCE kinda thing. Would make for some interesting contraptions.
onPowerUpdate>self>ifPower[<=][amount][event lines]

Quote
It'll work well with the "onPowerUpdate" it could be like a VCE kinda thing.

Once I get more of a handle on how scripting ties in with eventing, that will be the next thing ;)
i.e. I'm not quite there yet