Boy, Unreal Engine 3 is a gift that just keeps on giving. I’ve been using Unreal in a professional capacity for a few years now (with occasional forays into UDK-land to see how I fare without source code) and I still find out about new features all the time. Game development being what it is, those discoveries are often answered with a heartfelt: “That’s great! I wish I had known about that 6 months ago…”
So, in the spirit of helping out others using Unreal Engine 3 or the UDK, here are three features that I wish I had known about when I first started using Unreal. Continue reading
Normally, when you copy-paste data between objects in the UDK Editor, the source and destination objects must be the same type in order for the data transfer to succeed. There is, however, a useful trick you can use if you ever find yourself needing to copy large amounts of data between objects of different types.
Any video game has a number variables that can be tweaked to affect the game experience. Often, adjusting these values is a trial-and-error process of iterating until the game just feels right. It’s common practice to implement a way of doing such tweaking without having to restart the game to see changes take place: an in-game editor.
The UDK provides several utilities for editing objects and actors on-the-fly. You can use these utilities to quickly implement a tweaking interface to allow game designers on your team to easily adjust game parameters in realtime. Continue reading
Ah, the QCF+Punch (Quarter-circle Forward and Punch). Also known as the “Hadouken” motion or “Fireball” motion. It’s a standard in fighting games to have a tier of special moves tied to complicated input commands like QCF+Punch. The extra difficulty in executing the command lends a greater sense of accomplishment that, when paired with a suitably powerful attack outcome, can make a game feel more visceral than if a powerful attack were launched with a single button press.
In my latest game prototype, I decided to implement a simple Street Fighter-like command input system for executing special attacks. The big trick here is to take a stream of (imperfect) human input, compare it against a list of canonical actions, and match in such a way that a human player will be satisfied that the system is responding accurately to their input. This is how I put it together. Continue reading
As you can probably guess from my post on getting the UDK to launch without cooking, I like writing batch files to make my work more efficient. Since that post, I’ve added a few more UDK command-line arguments to further improve my workflow. I’d like to share those here and help others find their UnrealScript bugs earlier and more easily than before. Continue reading
Epic may put a lot of thought into their startup movies, but I don’t want to have to see them every time I startup UDK game to check my UnrealScript changes. With a quick little trick, you can avoid playing the UDK logo movie and speed up your development iteration.
In my professional work, I’ve gotten used to all the freedom that comes from having access to Unreal source code. Meanwhile, at home, I’ve been using the UDK and have been extremely frustrated by how much my development speed drops because I don’t have access to my usual workplace tools.
The biggest slowdown culprit has been the Unreal Frontend. Ostensibly a tool to give you easy access to every step of the Unreal workflow, it can slow development to a crawl because it forces you to cook data every time you update your script. It does this by hardcoding the “-seekfreeloading” flag when it launches UDK.exe. With this flag enabled, UDK.exe will only load seek-free packages which only get updated when cooked. Considering that cooking can take minutes depending on your machine and any script you edit needs to be cooked if you want to see its effect in-game, the “-seekfreeloading” flag can slow the typical edit->compile->run cycle to a crawl.