Hi Elliott, This is a great breakdown and very generous in sharing your process and insights, you came a long way from the vending machine days!
Are you planning on releasing the UE4 project to the public? Or only builds? I'd love to play around with it in the editor if possible!
Donald Macdonald talked about the production of his environment exploration game Niten. It’s the first title that Donald ever made, but it already looks pretty cool. Created with the help of UE4, LAM (soon to be available with Unity 5), Speedtree and Ocean plugin. A great achievement for a newbie.
Hi, my name is Donald Macdonald, I live in Edinburgh, Scotland and I am currently working on a game called ‘Niten’. My love of video games started back in the 80s at the age of about six with my first computer, an Amstrad CPC464. Only a couple of years later my mother and I would move to the edge of Edinburgh where she ran a bar on the beach front. At the other end of that beach was an arcade hall. I could go into long descriptions of the sights and sounds of that arcade hall but honestly, when I was standing in the middle of all the lights and noises pouring out of those machines, that for me was magic. I have loved video games ever since.
As much as I loved videogames however, I had never planned on making one. Last year a friend of mine came to me and suggested we start learning Unreal Engine 4 and make a game. Prior to this I had spent a couple of days in Unity and maybe a week in Cryengine. I liked what I saw but I was studying Network Technology and drowning in college work at the time so I never got past taking a look at the engines let alone understanding how they worked. After I finished my year at college though there I was, looking for work, too much free time on my hands and not that much to do with it so I finally said yes to my friends idea.
Like most people starting something new I had grand ambitions for my first project. There were animations, combat systems, online features, a pet dog, you name it and I probably had it. My friend wisely stepped away from the project as he knew it was destined for failure and this brings me to the best piece of advice I have ever heard, “fail fast”.
I failed everywhere, all day, every day. It was great. This is when I actually started doing research, learning about all the different tools required, not actually on how to use them but more what role they played. I had dived head first into the extremely complex world of game development and I needed to understand it. I then stopped and finally did something sensible, I subscribed to the Digital Tutors website and worked my way through pretty much all of their Unreal Engine 4 courses that were available at the time. By the end of it things were starting to click and once I felt at home in the editor I turned my hand to 3DS MAX and learned a few basics there. I applied this process to a handful of other software packages too such as Photoshop and World Machine as I knew it would help if I had a basic understanding of them. Suddenly I could work in Unreal Engine 4 and make some very basic assets. Nine months and a lot of hard work later here I am now, I have a game in development with realistic milestones and a basic understanding of the process.
Niten is a story driven exploration game set on a remote island off the coast of Japan. Experienced through first-person gameplay in a free roaming environment, the player will uncover the history of the island and its previous inhabitants; a Samurai master and his orphan-child student.
The story will be delivered to the player via voice acted narration. Each piece of story uncovered by the player will be available at the end of the play session as a downloadable illustrated pdf file so while you are playing the game you are also building a graphic novel. As well as having a strong focus on exploration Niten will also provide the player with a home environment with a customisable Zen garden where you will be free to remain and return to after completing the game. You game relates so much of environment and exploration.
Initially I was modelling my terrain in Unreal Engine 4 and then exporting the heightmap to World Machine, then reimporting it back to UE4. This was problematic due to the fact that at this time I did not have enough experience with World Machine to have absolute control over the erosion it was applying to my map. I was creating beautiful terrains but the original layout was being destroyed. I knew then that I needed help so I decided it was time to engage with the community.
The ‘Unreal Engine 4 Developers Community’ Facebook group has been an essential part of my journey and if it wasn’t for the shared knowledge and help I have received from its members I would not be able to do what I’m doing now. It was also here where I met two very talented and key individuals who are involved in my game, Paul Dipayan and Will Whittaker.
Will is a very talented 3D modeller and environment artist living in Mississippi, America. At the time Will and I were discussing models required for the game and knowing what I know about 3D modelling I knew I needed a professional. After seeing Will’s previous work I contracted him to create models for the project and to help revise my base landscape.
After sending over the original heightmap from UE4 we did a screen-share consultation where the map was edited with more precision in Zbrush. From there the height map went into World Machine and then back into UE4. Will also provided a landscape material with parameters for near/far tiling and blend distance. Over time I have iterated this material to accommodate more layers and parallax occlusion mapping which I use for the beach rocks in the video.
There are certain key scenes I want the player to discover that are important to the story so I make these with a degree of precision, not so much that it feels unnatural but enough so the environment relates to the story being conveyed at that time. After this I blend these areas into each other by raising/lowering the frequency of certain tree species/foliage which makes things flow and you don’t get an abrupt change in scenery.
I always begin my scenes by walking around in the space I am about to create in. I consider things like ‘What do I want the player to see?’, ‘Is this meant to feel open or close?’, ‘What story am I telling here?’. I then start editing the landscape. Unreal Engine 4’s landscape tools are essential to the process. I always try to avoid flat looking spaces as they make the landscape look unnatural so first thing I will do is to apply some erosion and build up some areas so there is variety and a kind of an organic ruggedness to the environment. Next I consider things like more ambient objects, tree stumps, rocks, etc. ‘Where would water collect?’, ‘How much light gets in here?’, ‘How thick should the grass be?’, things like that. Once I’ve made those decisions I place water plains where needed, add any foliage required to the Foliage tool and start painting the foliage for the scene’s floor. I usually let the tool paint some trees too just to get a feel for things but normally I’ll remove them and hand place them later.
After that it’s just iteration. I walk around, I see how it feels, if anything looks good I’ll preserve it and if it doesn’t I’ll erase it. Most of the time it simply comes down to keeping what ultimately pleases the eye.
Creating Small Scene
I always begin my scenes by walking around in the space I am about to create in. I consider things like ‘What do I want the player to see?’, ‘Is this meant to feel open or close?’, ‘What story am I telling here?’. I then start editing the landscape.
Unreal Engine 4’s landscape tools are essential to the process. I always try to avoid flat looking spaces as they make the landscape look unnatural so first thing I will do is to apply some erosion and build up some areas so there is variety and a kind of an organic ruggedness to the environment.
Next I consider things like more ambient objects, tree stumps, rocks, etc. ‘Where would water collect?’, ‘How much light gets in here?’, ‘How thick should the grass be?’, things like that. Once I’ve made those decisions I place water plains where needed, add any foliage required to the Foliage tool and start painting the foliage for the scene’s floor. I usually let the tool paint some trees too just to get a feel for things but normally I’ll remove them and hand place them later.
Once I added the trees and rocks I’ll then proceed to things like particle effects, adding fog, tweaking the lighting etc.
The trees in my game are all made in Speedtree. This software is seriously great, it really makes creating variations of different tree types incredibly easy and the integration with UE4 is seamless. Speedtree also have a really concise marketplace collection and much like UE4’s own marketplace it has been invaluable to my game. To create variation I usually make about four or five different versions of any one tree by making simple adjustments to height and branch position/density then once in UE4 I use the Foliage painting tool and randomise the scale parameters using typically values of 0.7min-1.3max. I find that this keeps things looking organic. I use customised randomness a lot and make good use of UE4’s Procedural Foliage tools.
The Procedural Foliage Volumes I find really useful for creating a more inspiring environment to work in.
Building Special Effects
I almost always make use of the exponential height fog in UE4, it provides a nice subtle haze when used lightly and can really build mood and atmosphere. For more deliberate placement I use an ambient fog particle system that came with a weather pack I bought from the marketplace.
Here’s a list of my particle fx:
Ambient fog – VFX Weather Pack
Falling leaves – Leaves VFX Pack
Pollen – Kite Demo assets (Free)
Dandelion Seeds – VEA GAMES LAM tool pack asset.
The firefly particles – These were created by Paul Dipayan. Paul is a game designer from Pune, India and is the other very talented and key individual I have had the good fortune to meet in the UE4 community mentioned above. He is creating the inventory, menu and creation mode systems and you will be seeing a lot of his work over the coming months.
In regard to the lighting in the game a lot of it is handled by the Ultra Dynamic Sky marketplace asset that hooks up to my main directional light. I then enable light shaft bloom on that light and tweak the settings until the desired results are met.
I turn off the eye adaptation and motion blur features as I really don’t like the effects and I keep lens flair to a minimum. Lastly I add a post processing volume to my level, set it to unbound then I apply some colour grading. Once I find the LUT that I like the most I then set it to about 50% and then start tweaking the value until it feels and looks right to me.
Combine all these things with a very subtle ‘Gaussian Depth of Field’ that only really touches on things far away in the distance it all combines to give the game the look that I really like.
Using Unreal Engine
I only recently discovered how versatile a tool ‘Substance Designer’ is and I am really impressed by the quality of the community assets available. The integration to UE4 is great and I wish I’d discovered it sooner. It is definitely a tool that I will be familiarising myself with more over the coming months. The essential plugin that I use though is a community project called ‘Ocean plugin’. So much work has gone into this and it shows, it is a really outstanding addition to the project.
I’m still working on the game and I’ve been hard at it for nine months. The thing I found was that starting knowing absolutely nothing meant that by the time I finished making one revision of the map I had learned so many new skills that I had to go back to the start and apply the things I’d learned on the next revision. However now after numerous re-makes I have finally been able to answer the question I’ve asked myself all along, ‘Am I happy with this? Is this Niten?’, I can now say yes.
Managing the project itself has become easier with time but it is still definitely a very complex and difficult process. Over the course of the game’s development I have hit many obstacles but with hard work and sleepless nights I eventually overcome them. There is no doubt in my mind that I will encounter more but I learn from them and I find the entire experience incredibly rewarding.
A really useful tool is Microsoft Project, I hated working with it in college and never thought I’d ever have a use for it but I have found that seeing everything laid out in front of me is really helpful. Once I had a plan that I could see was achievable things started to move a lot faster. One thing I constantly do is weigh up ‘time to learn vs cost on marketplace’. Could I make my own rocks? Sure. Could I make rocks as detailed and natural looking as Kieran Tobin’s ‘Ultimate Rocks’ pack? Not unless I was willing to invest serious time in learning how to do so and I’ll pay the $24 to spend that time on other things such as working on the landscape and creating the look and ambience of the map. In that regard the marketplace saves me a lot of time and really does speed up production for me.
The release date will be Q4 of this year and I am currently only focusing on Windows PC however after a completely stable release is achieved I will be considering other platforms.