Alex McGilvray

TowerJam 002 Designing the tower and surrounding world

January 18th, 2016

I started by designing the world around the tower because in my head I wanted the start of the game to involve the player approaching the tower in a fashion that shows how vast the tower is. To do this I have the player start a few kilometers away from the tower with the tower in view.

The world design involves the player starting in a small mountain peak town with the tower in a distant view. This is used as a beacon much like the north star to guide the player. The world will be designed to also guide the player and blocking geometry will be used where appropriate.

Here are the first two sketches I made to get a rough outline of the world :

Quick design of the tower splitting it up into its major sections.



Topdown view of the world (tower is in the center top)




Side view approaching tower :



After drawing this I began blocking out the world in the Unreal editor to quickly establish the scale and world size. Important to get that right as early as possible to reduce the pain of fixing scale issues later. As I worked on the layout the world design began to change relative to my sketches. There’s many reasons this happens. One of the main reasons is that once I have something in 3D I can frame the world using the game camera in different ways and see issues I couldn’t see when only desgining on paper.

I will most likely go back and redraw the world overhead view again to reflect the new world. At that point I wouldn’t be surprised if the design changes again when I got back to taking a big picture view of the level. This kind of iterative and destructive design I find immensely helpful early in the project. This is the point where throwing out things that don’t work is the cheapest to correct so it’s important to make as many mistakes as possible.

Here is an in-editor screenshot of the world at the point this blog was written.



Finally I think many blog posts for this game jam will have a cliche shot of the player standing with the tower in the background 🙂


TowerJam 001 The beginning

January 16th, 2016

As I mentioned in the previous 2016 post I’ve been itching to do some kind of personal game development lately but have not had the time as work, life and every other excuse has been taking up a lot of my time.  I’m trying to find time to focus on personal projects because I could spend my whole life telling myself I don’t have the time to focus on my own work.

With that in mind I went to to see what the current jams were and I saw a jam called “Tower Jam” which caught my attention. I have a deep affection for games that focus on a intricate unfolding environment. Often referred to as metroidvanias. I thought the tower jam might be a chance to do so.

My scope is ridiculous for the time I have but I’m going to try anyways. I’m essentially planning to make a game that’s a love letter to these environment focused games. I’ve been doing a second run in the PS4 version of Dark Souls 2 recently so I’m sure some of that will bleed into my design.

I will be using the Unreal 4 engine as I’ve been toying with it for the past year and have been VERY impressed with it. I think it’s probably one of the cleanest, best designed engines I’ve ever used. I figure even if I fail to produce for the tower jam I’ll at least have the benefit of having more time with the Unreal engine.

I’ll post whenever I have something to show. It will be pretty off the cuff and unrefined because I want to spend most of my time working on the game rather than blogging. I’m actually only writing this post because I’m waiting for unreal to update and I’ve already read the necessary docs I need to get started.

Here’s a screenshot of the default unreal character standing in front of a block tower without much implemented 🙂


Screenshot from my current Unreal 4 project

October 17th, 2015

This is a screenshot from my current project with the unreal engine. This isn’t exactly intentional but I do like it and might try to find a way to keep it 🙂




Unreal Lightmass Study

June 22nd, 2015

So I recently took a vacation and during that time I thought I’d sit down and play with the Lightmass rendering system in the Unreal 4 engine and see how it compares to a high end renderer like mental ray. It turned out quite well although there were a few visual issues that came up.

Here is the series of images that shows my progress towards my scene match.


In this first pass I learned the lesson that when you have multiple monitors, make sure they are calibrated correctly. I had the reference image on one monitor and was doing the work in the other monitor.

They were the same monitor but one was hooked up using DVI while the other used HDMI. For whatever reason this caused them to have different color and temperature profiles.

Once I looked at them on the same monitor I began to see how different the two shots were.

The camera in my scene was also not setup very well. It didn’t match the shot and seemed to be a little rotated.


This second show shows some of the progress I made setting up the camera and getting the color profiles to match. I did this by checking the reference image and working in the same monitor.

Unfortunately there’s also some steps backwards here. The shadow on the floor is too sharp, there are bright light artifacts on the top of the screen. The floor texture is too dark and non-reflective. Finally the wall in the back of the scene had the floor texture applied to it!

The texture error seemed to be due to some funky stuff going on when exporting my model from Maya to Unreal. Resetting the materials and then re-applying materials per-face eventually fixed the issue. The materials always seemed correct in Maya though. It’s possible it was a exporter bug. It’s also possible it was a human error on my part.


This next pass cleans up the texture errors and attempts to make the floor texture better but still suffers from the over-bright corners in the top of the scene and the odd shadow on the floor on the bottom of the scene.

The floor shadow is also still too sharp.


In this pass a lot of the errors are starting to get cleaned up. I also modled in the small piece of trim along the bottom part of the wall.

The over bright corners at the top have been fixed up. This seems to have been a result of me dropping the global illumination contribution of my main light as well as disabling screen space ambient occlusion (I still use AO for the global illumination pass though).

The floor shadow is now also softer and the floor is more reflective.

Also starting here I broke my main light into 2 lights. One with a low GI contribution and very soft shadows to sort of act as a advanced ambient contribution light. The other light had sharper shadows and significantly less contribution to the global illumination calculations.


This final pass is where I told myself I just need to walk away from this project as it had now began to consume a decent amount of time. I was attempting to get some of the details that were blown out in the previous render visible again.

Unfortunately I deviated too much with my lighting color and took a bit of a step backwards from the previous render. There is also a slight artifact on the bottom trim where the wall changes angle.


This was a fun 2 hour quick project that ended up becoming a 6-8 hour study about how Unreal 4’s lighting and material system works. The lessons I learned from tweaking various material, light and render values helped me understand Unreal 4’s rendering process immensely but towards the end of the project the gains were becoming less and less profound so I cut myself off and considered this project complete.

I learned a lot and will be applying what I’ve learned here to all my future unreal projects.