It’s been a month since I last posted and in that time I’ve spent a fair amount of time playing with Unreal Engine 4’s Blueprint system, created some scenery, tried to follow the C++ FPS tutorial and tweaked the Blueprint FPS template a little bit. While Unreal gives you a lot out of the box, it really does require a significant amount of knowledge upfront to create something workable. A major factor that has turned me off initially is my perception of clunkiness around the coding workflow. Compiling changes to C++ code results in a small delay (a couple of minutes for the first compile in a project, then 5-30 seconds for subsequent iteration), which I find a little jarring as the code I am writing often contains mistakes!
While I accept that Visual Studio is a likely a more mature + fully featured IDE than MonoDevelop, the integration between MonoDevelop and Unity3D feels much tighter – compile times are extremely fast meaning I can make a change and play the game immediately to to test. For someone who actually knows C++ and makes less mistakes, UE4 probably isn’t too much slower to work in. For me, a noob in both C++ and C#, I need the more forgiving workflow style of Unity3D, at least for now.
The obvious answer to the above is ‘use Blueprint’ but something about the visual coding turns me off. I worry that Blueprint is a skill that cannot be used anywhere else, and that Epic might drop it completely at some point as they did with Kismet. Additionally I couldn’t find a full FPS tutorial in Blueprint, despite there being a decent template, I really wanted more. UE4 hasn’t been out long though, and the indie-friendly pricing model is very new so this will probably change over time.
Which brings me onto another problem I encountered with UE4 – the lack of handholding ‘complete’ tutorials. In the Unity3d ecosystem you can throw a stone and hit several excellent tutorials, books, video series, that will take you through the complete creation of a number of different styles of game. UE4 gives you excellent templates to start off, but the video tutuorials available (while very good) are clearly aimed at solving individual problems in isolation. Again, this is a failing more on my side than Epic’s – if I was an experienced gamedev, I would know what I needed from the outset, however right now I am very reliant on (and grateful for) the excellent full tutorials out there for Unity3d.
It’s not all rainbows and flowers back in Unity land though. I have splashed out on the UFPS asset (£30 on sale) in order to shortcut around the character handling (and to learn / extend), and I anticipate having to shell out again for NGUI or some other equivalent. UE4 includes this stuff by default, but even with Blueprint I struggled to keep up. So my revised plan is this – complete the GTGD1 tutorial, then either take that and shoehorn UFPS into it, or start completely from scratch with UFPS and go from there. I have a rough idea of what I want to make as a preliminary foray into FPS dev, and I don’t think I’m asking too much of the tools or myself to get there.