When I first started out programming the problems I faced were monumental:
- What is a variable?
- Why do I need a pointer?
- For the life of christ, who cares about the differences between stacks and queues!?
Well, here I am some many (many, many) years later and it occurred to me an hour ago that the quality of my complication has increased so much that I don’t even know how to answer those questions well any longer, at least not without drawing. I am about to set out on a new side project to help build upon the concepts that many of us take for granted, hopefully delving into something a bit more involved – what to do once you understand these concepts.
Continue reading “Effective UnrealScript – An Introduction”
XNA has been really quite nice to play with, a pleasant change from the grind of UDK or Source where everything is done for me, and UI is simple – a lie on Source mind you. Building the Hades POC out in XNA has been fun because it feels like I have been on an educational adventure, experimenting and rebuilding portions of the game slowly and analyzing the results then rehashing it and repeating. Of all of the elements/tools in XNA that I’ve been able to use, tripped over and even those I thought I understood but didn’t one stands out – I love the fact that components exist.
In a moment ill show you how I used components to ensure that my screenshot mechanism never includes the debug information but always includes the screen, also known as the back buffer.
Disclaimer: All of the code & discussion below refers to XNA 4.0
Pushing forward with the mod switch tutorial, We currently have the UI replaced and can step into the more interesting aspects of building our game. Before we get too far into the meat and potatoes of the process though it will be good to get Localization under our wings, as it really builds upon the processes that we are already familiar with and will make our game appeal to a larger audience. (The more people who can READ what is being presented in your game the more will be able to help you mold it into something that is actually interesting).
So where do we start?
This section of the tutorial will begin with explaining how to localize a string within your game, allowing you to configure your messages to actually make sense to your friends, and will end with the walkthrough of how to localize our main menu. Once that is completed you will be free to do as you wish to make your game as fun or boring as you choose.
Continue reading “Mod Switch – Localizing the Main Menu is not that hard”
Now things start getting fun. This stage of the tutorial is going to end with you having your own UIScene loading when you start the game. We are going to take a couple steps with it through. The first step is to replace the Frontend map with our own; once that is completed, we will be replacing the Title Screen reference with our own and building the Title Screen UIScene and the Main Menu UIScene, and a final step when we move to our own datastore. This stage is also going to be a little different, because of the nature of kismet and the fact that our code is already completed. I hope you have enjoyed the process up to here. Once this is completed, you can safely depart into your own process. I will be covering a couple advanced topics after this:
- Localization which is used to allow your game to be played in other languages
- Background Matinee providing an automated movie in the background of your UIScene
- Distribution to allow you to see how to package your game up and pass it around to your friends, foes and users
- Package Suggestions which falls under the label of miscellaneous, but is still very important as it allows you to clean up how your code is thrown around and allow you to pass around a patch version of your distribution
Continue reading “Mod Switch – Frontend Map and UIScenes”
In the previous article I talked about how to get the stand-alone mod to compile. When we left off you should have had the ability to compile your code and it should output the .u file in the proper directory. Beyond that, nothing has changed. Running UT3 with the mod switch should only show you UT’s defaults menus. We are going to be continuing forward now, pressing into the UScript classes that we will need to be able to replace the menus and the related topics. In the next entry we will be focusing on the front end map and the kismet related to it. =) That is primarily pictures though I will be doing my part to expand where I find it necessary.
Similar to the saying in wood and metal shop, measure twice – cut once, we are going to research our needs before we jump into the code. It is imperative that you don’t skip through this portion of the tutorial, because I will be going over some of the underlying features in the classes and why I am making the choices I am in this tutorial that may impact your implementation options.
Continue reading “Mod Switch – Menu Classes and Datastore Needs”
In the previous installment we took the time to get our directory structure set up and orient ourselves toward creating a stand-alone mod. We discussed some guidelines and described many of the standards that will be used throughout this guide. If you need to brush up before we get too far into this please do so now. This stage in the guide is going to take things a step further as we begin filling in the directories with the details that allow our mod to be executed and cleanly executed using the mod switch.
One thing standing between us and a mod switch is the configuration directory. When you use the Mod-switch you are actually just giving UT3 a few new configuration files and from there it goes nuts. You could literally have your packages and maps strewn throughout your hard drives if you chose to. I would strongly urge you to keep things simple, sticking instead to the structure dictated in the previous post, but for now I am going to try to get your mod directory setup.
Continue reading “Mod Switch – Configuration Walkthrough”
Epic’s 1.3 update to Unreal Tournament 3 finally opened a door for mod developers, relieving us of having to worry about things such as accidentally overwriting another mods packages or having our mods packages overwritten, mod distribution, localization and so forth. This update is called a mod switch. There have already been a few attempts to get this working, but by and large they are just not filling the holes that we developers have. It was pretty clear that a better understanding, and as such a better tutorial, was needed and I hope that I have provided that here.
Continue reading “Mod Switch – Introduction & First Steps”