Master Architect, A Game About Creating Things

Hi all, for the past three weeks I have been working on a game on and off called Master Architect. The game is currently in a very early pre-alpha state, the game isn’t ready to be tested but I will need playtesters in the very near future probably before the middle of February. You can play it right now if you want; the controls and link to the game are down below!

Master Architect is a game where you can own a server, create anything you want with your friends or by yourself and share these creations with anyone who has the password. In the Beta, players will be able to add functionality and interactivity to their creations like creating a flying passenger jet, making their own mini-game, and being able to make their own functional Obby. There will also be a moderation system to prevent any inappropriate creations.

As a builder, you have two modes: a play mode and a build mode. Play mode which is on by default allows you to place bricks and do everything you can in build mode except the free camera. Build mode switches you into a free camera which is similar to the Roblox Studio camera. You can switch modes by clicking on the “Switch Modes” button.

Currently, you can place bricks, move bricks, select bricks, clone selected bricks, rotate bricks, set the colors of selected bricks, delete selected bricks, use the build camera, and create your own server. I also have finished the color palette for the game at least the default color palette, but I’m still working on all the bricks that will be included. The feature to give bricks textures and materials is also not implemented yet but coming soon! Support for mobile will be added before the game leaves Alpha and you also can’t share your creations just yet.

You will also be able to save and load your creations once I add the feature. You currently have a small plot but I am going to be introducing a system where you can expand your plot indefinitely so theoretically you could have an infinitely sized plot!


All default colors in the color palette.

Old photo of the building system before I worked a little bit on the UI

Just created the first version of the building system.

So for the few who want to play it right now here are the controls. The link to the game will be under all the controls. Also most features aren’t implemented yet!

  • To spawn a brick click on the “Place a Brick” button to load up the brick menu. The “Place a Brick” button may be hidden as of editing this post it has not been accepted it. The brick you selected will be spawned at the origin point which is near the player if you haven’t moved your player into play mode.
  • You can switch modes by clicking on the “Switch Modes” button.
  • To exit the brick list menu click on a brick you want to place, I will add an exit button soon.
  • To select a color click on the “Select Color” button to load up the colors menu. Please select a color, the exit button is also WIP.
  • A brick will be transparent when it has been selected.

Build Camera:

  • W to move the camera forward
  • S to move the camera backward
  • A to move the camera left
  • D to move the camera right
  • Right-click and drag the mouse to rotate the camera

Building Controls:

  • Click to select a brick and click again to deselect
  • T moves all selected bricks up by the movement increment
  • U moves all selected bricks down by the movement increment
  • Y moves all selected bricks forward on the global axis by the movement increment
  • H moves all selected bricks backward on the global axis by the movement increment
  • G moves all selected bricks left on the global axis by the movement increment
  • J moves all selected bricks right on the global axis by the movement increment
  • R rotates all selected bricks on the global y-axis
  • F rotates all selected bricks on the global z-axis
  • C clones all selected bricks
  • Delete, deletes all selected bricks
  • Change the moving speed of selected bricks by changing the move increment number

When you first play the game make sure to click on “Build a Creation” in the main menu to create your own server or load your server if this isn’t your first time playing!

Here is the link to the game! Master Architect - Roblox
If you play the game let me know if the game is broken or if there are any bugs I have tested it myself but it could be broken for other users! Either way please let me know your feedback! Sorry for the wall of text! If you have any questions about the game feel free to ask below!

4 Likes

I can see the potential in this game but there’s several issues I have with it:

  • you can only create one server
  • there are no dragging tools
  • not mobile or XBOX compatible
  • no images:

    what are these?

Other than that, the game seems very well made, other than the fact that resetting your character will break the camera in play mode.

2 Likes

Thanks for the feedback! I actually have solved the image issue you’re seeing here but I haven’t added all the functionality for all the new UI components so that update hasn’t been published yet. Those are bricks without a UI icon yet which has been solved in the latest unpublished update. At the moment the game is not compatible with mobile or console however I do plan on making both platforms compatible before the game is fully released. Yes resetting your player does break the camera mode which I am aware of but should be an easy fix! As for the one server, I could add a way to publish your private creations which will allow for an infinite amount of servers for a given creation. They will still require passwords this is a game design decision mainly to discourage exploiters and to manage the potential spread of bad creations. The UI is certainly not final it is far from finished and as someone with previous experience in Web Design we have a long way to go. I’ve only been working on this since the 29th of December on and off but I figured it would be important to get the word out there to see if the game is a good idea and it isn’t completely broken.

1 Like

I think you’d also have to implement a limit for the data so that players do not use up all of the 4MB of space.

1 Like

Isn’t that only for data stores? I’ll be using the teleport service which can be a bit broken but I don’t remember that being an issue unless I have not been aware of it. I’ve already come up with a dynamic solution when it comes to saving serialized data and loading said serialized data which can go around the limitations of the data store of 4 MB. Although this is for the save and load feature for creations. Then again most of my programming experience comes from other Game Engines and Web Development so I probably don’t understand Roblox’s API 100%.

1 Like

It look good, the only thing i would change is pretty much was @SubtotalAnt8185 , i see potential but if you add images to the game(pictures of the tools, etc) it will make the game better. Also you hould be able to change the material. So like plastic,smoothplastic,metal,etc.

1 Like

I am working on the ability to change materials so it will be implemented quite soon.

1 Like

I originally went with a dragging system for moving bricks if that was what you were saying, however, I realized I wouldn’t be able to implement it exactly how I wanted it. This was specifically due to not being able to change the Z axis which I wasn’t able to do with the dragging system. On second thought I could implement a system like this for mobile players but include a way to change the Z position most likely as a text box.

The game works fine, but the parts are stuck and I can’t drag the parts using my mouse
robloxapp-20230121-1150007.wmv (2.5 MB)

1 Like

for simplicity, I will refer to the Roblox Y axis as ‘Z’

Some systems implemented a selection of dragging modes. For example, you can have the part below, above, or center to your cursor. Additionally, you can snap the part to the grid. There might be a way where you can hold down shift or another key to lock the Z position while dragging the X and Y.

If you would prefer an easier way to implement this, the more traditional dragger style is by using the Roblox handle adornments, which are quite intuitive and easy to use.

However, the keyboard controls are nice but quite confusing. I’d prefer some selection movement controls also mapped to the arrow keys since it feels more natural, since some other platforms have this too.


If you’re using DataStoreService, then the 4MB limit will affect you if you reach it. If you’re serializing data and encoding it with JSONEncode, you can use string.pack to compress the data and string.unpack to uncompress the data to save space.

Again, of course, there are algorithms that will prevent you from ever reaching the limit, or if you’re on a larger scale, you can use HttpService to send requests to external storage API to save data that’s way larger than 4MB in size.


One more thing to note:

This might be quite confusing to some users thinking that this will allow them to select bricks in the plot. I think there should be a keyboard shortcut for this as well, such as spawning the same type as the last spawned brick (though I’m not sure if this is really necessary or even wanted since the clone shortcut already has similar functionality).

1 Like

You should be able to move the parts selected using the controls from the keyboard which I provided in the post. Let me know if that fixes the problem!

This might be quite confusing to some users thinking that this will allow them to select bricks in the plot.

I was thinking about changing the name of the icon to spawn a brick since that would be more relevant.

If you’re using DataStoreService, then the 4MB limit will affect you if you reach it. If you’re serializing data and encoding it with JSONEncode, you can use string.pack to compress the data and string.unpack to uncompress the data to save space.

I do know about JSONEncode including the methods you mentioned. If I remember correctly isn’t it only per key? The idea I had was to save each creation into chunks this way I don’t have to worry about compressing all the data into one key. That being said I will try to compress it if I can. For example, I would have the main data store for each creation for a player and inside of each creation is another data store split into chunks of the saved creation. This way I could save a lot more parts without needing to save all of them into one key. Let me know if this is possible since I haven’t tried it yet.

However, the keyboard controls are nice but quite confusing. I’d prefer some selection movement controls also mapped to the arrow keys since it feels more natural, since some other platforms have this too.

That certainly is a good idea. I will probably have to think about that.

Some systems implemented a selection of dragging modes. For example, you can have the part below, above, or center to your cursor. Additionally, you can snap the part to the grid. There might be a way where you can hold down shift or another key to lock the Z position while dragging the X and Y.

If you would prefer an easier way to implement this, the more traditional dragger style is by using the Roblox handle adornments, which are quite intuitive and easy to use.

I will think about adding a dragging feature, the main issue I was having was not being able to move the Z axis (the Roblox Z axis). I could move the X and Y with the mouse but not necessarily the Z. Although I suppose I could keep the keyboard controls for the Z axis whilst allowing the dragging feature for X and Y. I will probably add it as an additional control scheme once I get it set up or replace the current system. I’ll keep what you said in mind when I get around to it.

As for snapping to a grid, I implemented the move increment as a pseudo grid which players can change. This also allowed for better rotation. I did not implement a collision detection system for the bricks since I wanted players to be able to get creative with their builds.

1 Like

add the key controls in the game

1 Like

Unfortunately, DataStoreService limits are not locally applied to each individual key or DataStore. I think data compression and limits are probably necessary for you.

Speaking of increments, I suggest you also include a rotational increment. Other than that, there isn’t really much else for me to say about the current state of the game.

1 Like

I already have planned on adding a control UI that displays all the key controls. It would be a bad idea to release a game without controls or a tutorial.

Yes, I had thought about including an increment for rotation as well, so thanks for reminding me about that!

Hmm, I see, if that is the case I will probably introduce a brick limit since I can only compress it to a certain point. Although I could certainly create a way to save a lot more data. In the future I may decide to host my own backend to remove the limit if this is the case.

Any updates to the game will be made as replies. I will be working on the controls UI and publishing a lot more of the bricks including their icons in the next update. Thanks for the feedback!

Update 1

Turns out Roblox has the arrow keys mapped and at the moment I don’t feel like going through the hassle of overriding them. I probably will in the future once I’ve added some more of the other features.

  • Updated controls which have also been updated on the original post.
  • Play mode is now on by default and the brick list button is on regardless of the play mode. Resetting your player now resets the camera back to the default camera.
  • Added over thirty new bricks and included all of their UI icons.
  • Expanded the size of the plot and changed the material.
  • Changed the lightning.
  • Changed the “Spawn a Brick” button to “Spawn a Brick” although this change won’t be visible until the image is accepted.

Working On:

  • Controls UI in the main menu and in the game.
  • Starting to design concepts for the final UI.
  • Allowing players to change the material of bricks.

Had to replace the spawn a brick image since it got moderated on Roblox, I changed it to “Place a Brick” instead.

I think TextButton instances might be more suitable than images. I think you can achieve the same effect by using a UICorner.

1 Like

I am using ImageButton instances because I am doing much more than just a corner radius. I am applying a custom font, and a drop shadow plus a text shadow while I could do these things with TextButton instances it would take longer except I don’t think you can add text shadow and I wouldn’t be able to develop as quickly. Unless Roblox adds the ability to add drop shadow, text shadow, and custom fonts I won’t be able to use TextButtons

1 Like