Starting with UDK and venturing in to Unreal Script.
After working in RPG Maker and getting a grasp on Valve’s Hammer Editor I decided I wanted to pursue a standalone 3D creation utility. Having watched many tutorials and created a basic map using the editor with Unreal Tournament 3, I decided to give the UDK a go. Many of the things I learned in the Unreal Tournament 3 editor carried over to UDK so straight away I was presented with a familiar interface. This was great for level creation however there was still so much more to UDK that I never had to learn with Unreal Tournament 3. Items such as importing resources, creating materials, and working with skeletal mesh physics and animations to name a few.
I would learn to address these over the coming weeks as I decided on the type of game I wanted to create. Given the abundance of first-person shooters churned out with UDK, I wanted to take a slightly different approach; the platformer (which there is also no shortage of using UDK). Given I am far too inexperienced to create a platformer akin to Mario 64 or Banjo-Kazooie, I decided to go with the sidescrolling platformer route – ala Contra. I eventually came across a blog on the Vectorform Labs website with some great starter code to create a sidescrolling shooter through UnrealScript. It was implementing this when the realization set in that I would need to gain at least a basic understanding of this programming language.
For all the time that I’ve been putting in to AI Uprise (working title) lately, I don’t feel as though I have much to “show” for it. That’s because it’s all been behind-the-scenes coding. Chief among them being a complete save system! Since a game isn’t of much use without one, I am very glad to get the last core component of the game done.
Other changes include the ability to only carry one weapon at a time (with unlimited ammo but a limited time on the “charge” for firing) and 2 new weapons entirely (with more to likely follow).
Hopefully I can get some new gameplay footage and screenshots up sooner than later!
While working on my UDK project (tentative title: AI Uprise), I decided to take a bit of a deviation and try out a different style of game in UDK: The Shoot ‘Em Up – created entirely in Kismet. For now I decided to go with the top-down camera but I may look in to creating a sidescroll variation of it as well.
After I got the gameplay up and running, I thought about how I can integrate this in to AI Uprise. I may play with the idea of making this an assault mission on a target, or a way to get to another location. If it flows well, there’s no doubt I would love to integrate this in to my final game.
Worst-case scenario, I could always just create some additional levels and release this as an entirely standalone game. 😀
Progress certainly hasn’t stopped on my UDK project. In-fact it’s coming along quite nicely.
Since the last update, I have made some code changes to the underlying engine. For example, instead of creating the camera zooms by changing the offset value by a small amount and then repeating it until the desired zoom is reached. Instead now, I use a linear interpolation to get to the final value which starts off fast and then slows down toward the end, creating a much more smooth, natural motion. Beyond that I have created the base landscape for the overworld and began work on the introduction level (which teaches the player all of the controls).
Screenshots and videos will follow in the coming days.
Progress has been slow on this project to say the least, however I have recently decided to get some of the more important core functionality tested and working – level changes!
I could have created multiple maps, and when making the transition I could have used a hard load time, but then items, weapons and pickups wouldn’t carry over in to the next level. Instead using level streaming I am able to import all levels in to a single level and load them in and out as needed. Doing this I can near eliminate load times and carry items through multiple levels without any performance hits.
Check the below video for this (rough) level streaming in action.
I began working on a platforming game project using the Unreal Development Kit and finally got the core systems fleshed out. I had originally planned on implementing all of these views in to a single system, but problems arose with projectiles hitting the target on a 2-D plane while doing so. Not to mention if the player is moving and suddenly the view changes, it can be confusing and may cause them to run off a ledge.
So in the end I made 3 separate systems: