User Tools

Site Tools


developmenteras:roleblock

This is an old revision of the document!


This is an article of one Brick Hill Development era. If you want to take a look on other development era, please refer to Development Eras article.

Role Block is the earliest prototype of sandbox game Brick Hill, originally released in Late 2016 by brick-luke on Mooshimity forums. Role Block had two releases.

Game folders

"game_test"

game_test is likely a technological demo for the engine, written by brick-luke.

"game_race"

Ditto, except it was probably meant to be for car object testing.

"game_run"

game_run is about running from zombies while you have 5 lives.

"game_classic"

game_classic is likely a technological demo, too.

"game_luke" (3D release exclusive)

game_luke, also known as Luke's Game is about running over random people with your car.

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 - Crowl (3D Release exclusive).
  • Space - Exit the car.

3D Release oddities

FIXME - Describe the codebase changes between Role Block and 2017 Early Brick Hill Legacy Workshop a little bit much further.

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:

/// Create event
//Initialize 3D
{
friction = 0.2;
d3d_start();
d3d_set_hidden(true);
d3d_set_lighting(false);
d3d_set_shading(true);
d3d_set_culling(false);
draw_set_color(c_white);
d3d_set_perspective(true);
d3d_set_fog(false,c_black,10,100);
texture_set_interpolation(false);
zdirection = -3;
}

/// Draw event
//3D draw
d3d_set_projection(x,y,global.playerz,x+cos(direction*pi/180),y-sin(direction*pi/180),global.playerz+tan(degtorad(zdirection)),0,0,1);

//Draw floor
if global.pause = 0
    {
    draw_set_color(c_white)
    draw_set_alpha(1)
    d3d_draw_floor(-1000000,-1000000,0,1000000,1000000,0,background_get_texture(background_floor),1000000/background_get_width(background_floor),1000000/background_get_height(background_floor));
    }

Though the 3D Release requires the draw.txt file to draw a system_brick object, it may be misinterpreted as a floor drawing procedure.


Links:

developmenteras/roleblock.1762524064.txt.gz · Last modified: by blamedenny