Blocks Isle: A Two Week Project with Blocks and Unreal Engine
The Project
The project was simple, come up with a virtual reality project using Blocks with a time frame of two weeks. A project like this usually entails making a cool environment that can then be shared with the community via the Blocks gallery, a video, or still renders. Knowing that two weeks is a short amount of time I wanted to take on the challenge of building the environment but also bringing it into Unreal Engine 4 to add some interactivity to it and take it from being a visual to being a short experience. I also wanted to explore a VR first approach to the creative process with an emphasis on a low poly visual style.
Unreal Engine 4 has been my game engine preference for quite a long time now simply because of the power that it unleashes on the artist. With minimal to no programming knowledge you can easily prototype just about any idea you can think of.
I also thought that it would be pretty cool to use software from friendly rivals. Blocks was developed in Unity 5 so the majority of my models would be made in Unity while being realized and developed in Unreal Engine 4.
The Initial Idea
For the initial idea, I wanted to create three or four small environments, that as the player went through and solved simple puzzles, would move, come together, or grow to make a single environment. I played with this idea for a bit and built a quick prototype in UE4 to test out the movement and simple mechanics. After some testing, I scrapped the idea. I really liked the thought of growing the world around you and it’s something I want to explore further down the line but mixing that with movable pieces in the scene would most likely lead to the user getting sick.
I had a few other different concepts that I tried. As always, in the beginning, they all sound fun and practical. Blocks quickly allowed me to build a mock-up of each for testing. I didn’t have to spend too much time on them to get something that I could drop in the engine and test.
For one, I wanted to make little block worlds that the player can walk around and explore. They would somehow connect to reveal other parts of the level.
Concept 1 in Blocks
For another one, I wanted to take the connecting aspect a little further and have it so when the player collected certain items in each block they would come together to form the Blocks logo. After some quick testing, a lot of the vertical and horizontal movement would make the player feel a bit uncomfortable so I ended up shelving that idea.
Concept 2 in Blocks
The Island
I decided to pivot, instead, I increased the size of the scene and made it an interesting place to explore, somewhere that you cannot physically go to, something alien yet relatable. I went with a small tech-organic island.
Blocks Isle is an island that is much bigger than the previous mini-block concepts but without the elements that could get a player sick. The player can explore the island and try to discover what happened to their missing friend while solving a few puzzles. I had to remind myself a few times that I only had two weeks to get this done so the scope had to be limited.
From that concept, the basic story of the experience was born.
Your friend Jasper went on another one of his crazy adventures. This time he decided to explore the mysterious Block Islands. It’s been weeks since you last heard from him so you go to his last known signal broadcast location.
This is where you begin. I ran through the prototype and it felt good. The entire experience is a short one at about 20 minutes if you’ve never ran through it before.
Starting location
Throughout the isle, you find logs and notes left by your friend Jasper as he records his findings on the mysterious island. You can read or listen to them to help uncover information that may help you on your quest.
Jasper’s Log



The Modeling
Modeling in Blocks is such a joy. I’ve stated before how freeing and creative the feeling is so I won’t go into it. I will say, if you have not tried it out yet, definitely do so. It’s been one of the most fun ways to create low poly models while also keeping a perfectly consistent look and visual language.
I will mention, Blocks is an amazing tool for spatial prototyping. Before bringing it into Unreal I found myself blowing the scene up to actual size, standing in it, and using a combination of the move grip and me moving my arms back and forth to simulate walking within the space. It helped me further understand how I wanted the player to navigate the space and where certain things may need to be placed. This saved me so much time.
The Development
Tag teaming both Blocks and Unreal Engine 4 worked very well! Blocks allowed me to visualize and be in the space during the modeling and conceptual phase. Unreal is like giving an artist magical powers. With it, I am able to fully build a proof of concept and implement functionality without being a professional programmer.
Unreal Engine 4 Functions Prototype
I found myself spending parts of the day in Blocks experimenting with concepts and the other creating basic functionality for those ideas within Unreal. This method allowed for very fast rapid prototyping and was later very beneficial when populating the space with art assets.
Even though I am very proficient in traditional 3d modeling, I think the project would have taken me much longer to put together using traditional methods. Blocks helped me take out some steps in the process. While traditionally I would model out the scene and throughout the process export some pieces, bring them in engine, place them, and move around to get a sense of how the space feels, all that got combined inside Blocks. It was a big time saver. Oh and not to mention color exploration. If I wanted to try out colors I would also have to create materials and place them on each asset during the in-engine test which takes more time. I can easily preview all of that in Blocks.
After all is said and done I had to take the geometry from Blocks and bring them into a 3D program for unwrapping and lightmap baking. So that part of the process is still there.
The UI
I kept a lot of the UI very simple for this, so simple in fact that’s there’s almost no UI at all. The only UI visible is the descriptions that you toggle on items and the tooltips that pop up on the controllers when you hover over intractable items.
One thing I noticed when testing was that people were missing or forgetting what some of the buttons did because an experience is usually short there’s not a lot of time to train the player. To mitigate that I made the controller have context-sensitive tooltips that appeared when you hover over an item. It also highlighted the button associated with the action. This dramatically helped the user. I didn’t have to include a longer tutorial session that they would potentially forget.
Controller tooltips