~~NOTOC~~
===== Role Block =====
----
{{infobox>
name = Role Block
image1 = roleblock.png
Development lifespan = 2016
Initial release = 2016
Game Engine = Gamemaker 8.1
Developer = Mooshimity Ltd.
}}
**This is an article of one [[:brickhill|Brick Hill]] Development era. If you want to take a look on other development era, please refer to [[:developmenteras|Development Eras]] article.**
**Role Block** is the earliest prototype of sandbox game [[:brickhill|Brick Hill]], originally released in Late 2016 by brick-luke on Mooshimity forums. Role Block had two releases.
==== Release features ====
* No multiplayer
* 2D release can be started via ''game_test'' only, because it's the only folder in game's release, though incompatible 3D release games can be played fine with this client.
* 3D release can be started via ''game_luke'' only, because other games don't have the ''draw.txt'' file to be executed by the game's code.
==== Controls ====
* W,A,S,D - Up, down, left, right.
* Shfit - Crawl (3D Release exclusive).
* Space - Exit the car.
==== Game folders ====
==== "game_test" ====
{{developmenteras:roleblock2dgp.png?250}}
''game_test'' is likely a technological demo for the engine, written by brick-luke.
==== "game_race" ====
{{developmenteras:game_race.png?250}}
Ditto, except it was probably meant to be for car object testing.
==== "game_run" ====
{{developmenteras:game_run.png?250}}
''game_run'' is about running from zombies while you have 5 lives.
==== "game_classic" ====
{{developmenteras:game_classic.png?250}}
''game_classic'' is likely a technological demo, too.
==== "game_luke" (3D release exclusive) ====
{{developmenteras:roleblock3dgp.png?250}}
''game_luke'', also known as Luke's Game is about running over random people with your car.
==== Example Game Structure ====
- game folder (eg: game_nut):
-- system_map (3d exclusive directory)
--- draw.txt
-
-- system_player
--- function.txt (can be empty)
--- player.png
-
- background_nut.png (defined in settings.txt file)
- gamemode.txt (creation event?)
- gui.txt (what to draw)
- settings.txt (game settings)
Script examples:
''gamemode.txt'':
while vehicle != 1
{
instance_create(room_get_width/2,room_get_height/2,system_vehicle)
vehicle += 1
}
''gui.txt'':
if (global.player_lives > 0)
{
draw_text(2,2,global.player_lives)
}
''settings.txt'':
//Control Game Settings Here
global.player_walkspeed = 4
global.player_spawnpoint_x = room_width/2+random_range(-100,100)
global.player_spawnpoint_y = room_height/2+random_range(-100,100)
global.player_lives = 5
global.background = "background_race.png"
global.ai = ""
global.vehicle = "racecar"
==== 3D Release oddities ====
It seems like that the codebase of 3D Role Block release was the main codebase until the first full rewrite by brick-luke in 2017, because of how differently 3D initialization works. In Early 2017 Brick Hill workshop, the game's code creates ''obj_environment'' for environment initialization while also initializing GMNewton for physics capabilites. While the 3D Release of Role Block does it via system_player object.
Though the 3D Release requires the ''draw.txt'' file to create a ''system_brick'' object, it may be misinterpreted as a floor drawing procedure.
----
Links:
* [[https://archive.org/download/role-block-brick-hill/Role%20Block.zip|Role Block 2D Release, thanks to MemoryArchive for this release.]]
* [[https://archive.org/download/role-block-3-d/Role%20Block%203D.zip|Role Block 3D Release, grabbed from blocky's Brick Hill client archive.]]