Difference between revisions of "Worldhaus"

From talkhaus wiki
Jump to navigation Jump to search
 
(2 intermediate revisions by the same user not shown)
Line 2: Line 2:
[[File:Worldhaus login.png|thumb|The Worldhaus login screen]]
[[File:Worldhaus login.png|thumb|The Worldhaus login screen]]
Worldhaus was added on the 12th June 2017 as a fun update for the talkhaus' 8th birthday. Worldhaus is a massively multiplayer building game inspired by reddit's [https://www.reddit.com/r/place/ r/place], which was a collaborative project and social experiment where anyone with a reddit account could connect and draw on the canvas resulting in abject chaos. Comparatively, worldhaus is fairly tame, since the world is infinite and each 16x16 chunk can be locked by a user to prevent griefing.
Worldhaus was added on the 12th June 2017 as a fun update for the talkhaus' 8th birthday. Worldhaus is a massively multiplayer building game inspired by reddit's [https://www.reddit.com/r/place/ r/place], which was a collaborative project and social experiment where anyone with a reddit account could connect and draw on the canvas resulting in abject chaos. Comparatively, worldhaus is fairly tame, since the world is infinite and each 16x16 chunk can be locked by a user to prevent griefing.
Originally Rena planned to add more features to make it a sort of online rpg game creator, with features like npcs, objects and scripting, but the initial interest in Worldhaus wasn't long-lived enough to warrant future development. Despite this, a whole lot of stuff got built during this time and is still explorable.


= How to access Worldhaus =
= How to access Worldhaus =
Line 7: Line 9:


= Mechanics =
= Mechanics =
Worldhaus is a multiplayer building game that can be connected to by signing in with a talkhaus account. Once connected for the first time, a player profile is created, and the player is spawned at the starter town in the default dimension. The player can then walk off in any direction to find some unclaimed land, and use the built in rpg tilesets to build custom buildings, towns, terrains, and pixel art.
== The Blocks palette ==
The blocks palette is the default tab of the tools window at the right. Here, one of 53 tilesets can be chosen, the default of which is 009-CastleTown01, and any tile from within the tileset can be chosen for painting.
The default mode is the selection mode, which doesn't allow you to paint any tiles. This is the cursor icon at the top next to <code>Tools:</code>. By switching to one of the other layers you can paint tiles on the map.
== Layers ==
== Layers ==
The <code>Tools:</code> selection in the Blocks tab allows you to select a layer to draw tiles on.
=== The background, midground, foreground, and overlay layers ===
These four layers allow you to draw tiles on the map. The layers are drawn in order, background first and overlay last, which allows overlapping layers of transparent tiles. The foreground and overlay layers render over player characters, and the background and midground behind.
=== The collision layer ===
The other option is the collision layer, which allows the player to paint collision tiles onto the map. These are only visible when the collision layer is selected, but stop players from walking through them. If you get stuck due to collision tiles and you don't have access to the chunk to clear them, you can use the <code>/escape</code> command to get back to the default spawn.
Originally, collision was determined based on the tile you drew, but in order to give players more options, the collision layer was added so that it can be hand-crafted. This opened up the door to adding more than full-tile collision (such as slopes and partial tiles), but it was never added.
== Chunks ==
== Chunks ==
The map is divided into 16x16 chunks, which can be claimed by a given player to prevent griefing. The owner of the current chunk is shown at the top left if you mouse-over the padlock icon. If there is no owner of the current chunk, the padlock is unlocked, and can be clicked to claim the current chunk for yourself. If the padlock is locked, the chunk is claimed by someone else and you can't edit the map there.
== Dimensions ==
== Dimensions ==
The worldhaus map extends infinitely in any direction, but you might still want to build on a whole new map. You can go to a new dimension with the <code>/dimension</code> command, which has the same coordinates as the main map, but is entirely separate, and starts off as an empty grass void. Any player can get to the same dimension just by specifying the same dimension name with the <code>/dimension</code> command.
Originally this was intended to be used to provide support for interiors, where you'd be able to warp from a door tile to an interior tile, but this was never added to the game due to waning interest.
== Characters ==
== Characters ==
The Character tab on the tools window allows the player to select a different character sprite, which will be visible to all players.
== Chat ==
The chat box allows the player to talk to other players in the game. By pressing enter to focus the chat box, or clicking into it with the mouse, the player can type a message and then press enter to have it broadcast to other players in the chat box. Chat messages can be seen anywhere in the game, as there aren't enough players to need it to be local or anything. Private messages, and server messages such as the results of commands are also shown in the chat window.
== Commands ==
== Commands ==
=== setspeed ===
=== setspeed ===
Sets the speed that the player can move at. This was originally an admin command. The base speed of all players is 200 units, but to move faster a player can type e.g. /setspeed 500, after which time it will be possible to move much faster. The limit of the speed is 500 to prevent database overload from players loading too much of the map too fast.
<code>/setspeed 500</code> - sets the player's movement speed to 500
 
Sets the speed that the player can move at. This was originally an admin command. The base speed of all players is 200 units, but to move faster a player can type <code>/setspeed 500</code>, after which time it will be possible to move much faster. The limit of the speed is 500 to prevent database overload from players loading too much of the map too fast.
 
=== dimension ===
=== dimension ===
Teleports the player to another dimension. The dimensions are provided as a way to have places to build that are separate from the main map. By typing "/dimension test" the player can switch to a dimension called "test". The default dimension is called "default" so the player can return to it by typing "/dimension default".
<code>/dimension default</code> <code>/dimension test</code> - teleports the player to another dimension
 
Teleports the player to another dimension. The dimensions are provided as a way to have places to build that are separate from the main map. By typing <code>/dimension test</code> the player can switch to a dimension called <code>test</code>. The default dimension is called <code>default</code> so the player can return to it by typing <code>/dimension default</code>.
 
=== escape ===
=== escape ===
Teleports the player back to the default spawn in the default dimension, the entry town. By typing /escape, a lost player can always find their way back to civilization.
<code>/escape</code> - teleport back to the origin in the default dimension
 
Teleports the player back to the default spawn in the default dimension, the entry town. By typing <code>/escape</code>, a lost player can always find their way back to civilization.
 
=== msg ===
<code>/msg rena hello old friend</code> - send message <code>hello old friend</code> to rena
 
Allows a player to send a private message to another player.
 
=== friends ===
<code>/friends</code> - shows the player's friends list
 
Shows the player's friends list, which is the list of people allowed to modify a player's chunks.
 
=== addfriend/removefriend ===
<code>/addfriend rena</code> <code>/removefriend rena</code> - adds or removes a friend from the player's friend list
 
Allows the player to manage their friends list, which allows other players to modify their chunks.
 
=== pos ===
<code>/pos</code> <code>/pos rena</code> - gets a player's position
 
Gets your own, or the given player's position. This allows you to work out where you are in the world and find other players.
 
=== getchunkowner ===
<code>/getchunkowner</code> - gets the owner of the current chunk
 
Allows players to find out who the owner of the current chunk is.
 
=== changeflair ===
<code>/changeflair mukyuu</code> - sets the current player's flair to mukyuu
 
Allows the player to change their own flair. The flair is the text shown above a player's name.
 
=== tp ===
<code>/tp rena</code> - teleports the player to rena
 
Allows the player to teleport to other players.
 
=== players ===
<code>/players</code> - shows the list of online players
 
Allows the player to view the list of online players.
 
== Admin-only comands ==
=== setname ===
<code>/setname rena cat</code> - changes rena's name to cat
 
Changes the display name of a player.
 
=== setflair ===
<code>/setflair rena mukyuu</code> - changes rena's flair to "mukyuu"
 
The flair is the text displayed above the name of the player, and the setflair command can be used by admins to change it.
 
=== tp ===
<code>/tp rena 1000 1000</code> - teleports the player rena to (1000, 1000)
 
Teleports any given player to the given coordinates.
 
<code>/tp rena someoneElse</code> - teleports the player rena to the player someoneElse
 
Like the previous command, but teleports the player to another player.
 
=== kick ===
<code>/kick rena</code> - kicks rena from the server
 
Kicks the given player from the server.
 
=== ban/unban ===
<code>/ban rena</code> <code>/unban rena</code> - bans or unbans the given player
 
Bans players, kicking them from the server and preventing them from reconnecting.
 
=== setchunkowner ===
<code>/setchunkowner rena</code> - sets the owner of the current chunk to rena
 
Allows an admin to change the owner of a given chunk.
 
=== unsetchunkowner ===
<code>/unsetchunkowner</code> - unsets the owner of a given chunk
 
Allows an admin to unset the owner of a given chunk.
 
=== clearchunkowner ===
<code>/clearchunkowner rena</code> - clears all chunks owned by rena
 
Allows an admin to clear all chunks owned by a given player.
 
= Notable locations =
(todo...) It might be worth somebody documenting notable locations like the starter town.
 
= Source code =
Like with most things Rena creates, Worldhaus is open source and available at [https://github.com/catchouli/worldhaus] if anybody wants to run their own instance, tweak it, or contribute some new features.
 
If there was demand for new features to be added to the game I'd probably add them myself (such as warp tiles, objects, npcs, and scripting), but afaik only about 1 person logs into the game per week, so it probably isn't worth the development time.

Latest revision as of 16:47, 17 June 2021

The Worldhaus login screen

Worldhaus was added on the 12th June 2017 as a fun update for the talkhaus' 8th birthday. Worldhaus is a massively multiplayer building game inspired by reddit's r/place, which was a collaborative project and social experiment where anyone with a reddit account could connect and draw on the canvas resulting in abject chaos. Comparatively, worldhaus is fairly tame, since the world is infinite and each 16x16 chunk can be locked by a user to prevent griefing.

Originally Rena planned to add more features to make it a sort of online rpg game creator, with features like npcs, objects and scripting, but the initial interest in Worldhaus wasn't long-lived enough to warrant future development. Despite this, a whole lot of stuff got built during this time and is still explorable.

How to access Worldhaus

At launch, Worldhaus was available through an announcement banner at the top of the page, which automatically logged you into the game in a small frame which expanded when you clicked into it. Worldhaus was also and is still available at [1] by logging into your talkhaus account.

Mechanics

Worldhaus is a multiplayer building game that can be connected to by signing in with a talkhaus account. Once connected for the first time, a player profile is created, and the player is spawned at the starter town in the default dimension. The player can then walk off in any direction to find some unclaimed land, and use the built in rpg tilesets to build custom buildings, towns, terrains, and pixel art.

The Blocks palette

The blocks palette is the default tab of the tools window at the right. Here, one of 53 tilesets can be chosen, the default of which is 009-CastleTown01, and any tile from within the tileset can be chosen for painting.

The default mode is the selection mode, which doesn't allow you to paint any tiles. This is the cursor icon at the top next to Tools:. By switching to one of the other layers you can paint tiles on the map.

Layers

The Tools: selection in the Blocks tab allows you to select a layer to draw tiles on.

The background, midground, foreground, and overlay layers

These four layers allow you to draw tiles on the map. The layers are drawn in order, background first and overlay last, which allows overlapping layers of transparent tiles. The foreground and overlay layers render over player characters, and the background and midground behind.

The collision layer

The other option is the collision layer, which allows the player to paint collision tiles onto the map. These are only visible when the collision layer is selected, but stop players from walking through them. If you get stuck due to collision tiles and you don't have access to the chunk to clear them, you can use the /escape command to get back to the default spawn.

Originally, collision was determined based on the tile you drew, but in order to give players more options, the collision layer was added so that it can be hand-crafted. This opened up the door to adding more than full-tile collision (such as slopes and partial tiles), but it was never added.

Chunks

The map is divided into 16x16 chunks, which can be claimed by a given player to prevent griefing. The owner of the current chunk is shown at the top left if you mouse-over the padlock icon. If there is no owner of the current chunk, the padlock is unlocked, and can be clicked to claim the current chunk for yourself. If the padlock is locked, the chunk is claimed by someone else and you can't edit the map there.

Dimensions

The worldhaus map extends infinitely in any direction, but you might still want to build on a whole new map. You can go to a new dimension with the /dimension command, which has the same coordinates as the main map, but is entirely separate, and starts off as an empty grass void. Any player can get to the same dimension just by specifying the same dimension name with the /dimension command.

Originally this was intended to be used to provide support for interiors, where you'd be able to warp from a door tile to an interior tile, but this was never added to the game due to waning interest.

Characters

The Character tab on the tools window allows the player to select a different character sprite, which will be visible to all players.

Chat

The chat box allows the player to talk to other players in the game. By pressing enter to focus the chat box, or clicking into it with the mouse, the player can type a message and then press enter to have it broadcast to other players in the chat box. Chat messages can be seen anywhere in the game, as there aren't enough players to need it to be local or anything. Private messages, and server messages such as the results of commands are also shown in the chat window.

Commands

setspeed

/setspeed 500 - sets the player's movement speed to 500

Sets the speed that the player can move at. This was originally an admin command. The base speed of all players is 200 units, but to move faster a player can type /setspeed 500, after which time it will be possible to move much faster. The limit of the speed is 500 to prevent database overload from players loading too much of the map too fast.

dimension

/dimension default /dimension test - teleports the player to another dimension

Teleports the player to another dimension. The dimensions are provided as a way to have places to build that are separate from the main map. By typing /dimension test the player can switch to a dimension called test. The default dimension is called default so the player can return to it by typing /dimension default.

escape

/escape - teleport back to the origin in the default dimension

Teleports the player back to the default spawn in the default dimension, the entry town. By typing /escape, a lost player can always find their way back to civilization.

msg

/msg rena hello old friend - send message hello old friend to rena

Allows a player to send a private message to another player.

friends

/friends - shows the player's friends list

Shows the player's friends list, which is the list of people allowed to modify a player's chunks.

addfriend/removefriend

/addfriend rena /removefriend rena - adds or removes a friend from the player's friend list

Allows the player to manage their friends list, which allows other players to modify their chunks.

pos

/pos /pos rena - gets a player's position

Gets your own, or the given player's position. This allows you to work out where you are in the world and find other players.

getchunkowner

/getchunkowner - gets the owner of the current chunk

Allows players to find out who the owner of the current chunk is.

changeflair

/changeflair mukyuu - sets the current player's flair to mukyuu

Allows the player to change their own flair. The flair is the text shown above a player's name.

tp

/tp rena - teleports the player to rena

Allows the player to teleport to other players.

players

/players - shows the list of online players

Allows the player to view the list of online players.

Admin-only comands

setname

/setname rena cat - changes rena's name to cat

Changes the display name of a player.

setflair

/setflair rena mukyuu - changes rena's flair to "mukyuu"

The flair is the text displayed above the name of the player, and the setflair command can be used by admins to change it.

tp

/tp rena 1000 1000 - teleports the player rena to (1000, 1000)

Teleports any given player to the given coordinates.

/tp rena someoneElse - teleports the player rena to the player someoneElse

Like the previous command, but teleports the player to another player.

kick

/kick rena - kicks rena from the server

Kicks the given player from the server.

ban/unban

/ban rena /unban rena - bans or unbans the given player

Bans players, kicking them from the server and preventing them from reconnecting.

setchunkowner

/setchunkowner rena - sets the owner of the current chunk to rena

Allows an admin to change the owner of a given chunk.

unsetchunkowner

/unsetchunkowner - unsets the owner of a given chunk

Allows an admin to unset the owner of a given chunk.

clearchunkowner

/clearchunkowner rena - clears all chunks owned by rena

Allows an admin to clear all chunks owned by a given player.

Notable locations

(todo...) It might be worth somebody documenting notable locations like the starter town.

Source code

Like with most things Rena creates, Worldhaus is open source and available at [2] if anybody wants to run their own instance, tweak it, or contribute some new features.

If there was demand for new features to be added to the game I'd probably add them myself (such as warp tiles, objects, npcs, and scripting), but afaik only about 1 person logs into the game per week, so it probably isn't worth the development time.