Thursday, March 10, 2011

A Wild Rollercoaster Ride

Raven here.  There have been a lot of ups and downs for me this past few days, I am just glad to report it ended on an up!  I have been looking for a way to be able to save a game from UDK, as that doesn't seem to be a feature built into the engine.  But for an RPG this option is essential!  I looked around for a while, I posted questions on a couple of the forums... I found a method of saving small cookie files using Flash.  So I figured that would work!


Even though values were being saved and loaded fine when I ran the program through Flash, UDK refused to acknowledge this.  It wouldn't give the wrong data, it just refused to give any data like an obstinate child refusing to clean their room!  Frustrating.  So I went back online and found answers to my questions.  One of them directed me to a pre-made .dll tool that has all the save and load commands I would need, called the UltimateSaveSystem.  YAY!  I downloaded it and put the files where they belong, booted it up...


When I tried to load it, UDK crashed entirely.  So after posting what happened on the UltimateSaveSystem forum, I continued looking... and looking... and looking... nothing, nothing, nothing.  Crap!  No other methods to save through Flash, no other methods to save through UDK...  I got a response on the UltimateSaveSystem forum asking what the startup log from UDK said after a crash.  Duh! *Facepalm* I hadn't thought to look.  To make a long story not quite as long, this led me to a page that told me how to properly load the new UltimateSaveSystem package into UDK.  I'd done it wrong.  So I did that, set up a test level, and ran it from the UDK editor...


NOOOOO!!!  At this point I'm about to throw the computer against the wall and do my game creation using pen and paper, create the latest version of Dungeons & Dragons.  Then something occurred to me.  There had been one other time when a command wouldn't run from the editor, I had to choose the test method where it loads the entire game in a separate window and runs it independently of the editor.  I think it has something to do with accessing outside files, such as save files.  So I loaded my test level back up and clicked to run the game itself...


Now that I had gotten through all the little details of how it needs to work, I discovered that the UltimateSaveSystem is totally awesome!  The creator of this must be a UDK / C++ / UnrealScript genius!  If any of you following this blog is looking at creating games using UDK, check out this save system at:
Ultimate Save System
So now I am so happy!  And relieved!  And I'm going to bed to dream happy dreams of our completed game.  Until later!

Saturday, March 5, 2011

*Doing the Happy Dance*

It's not often that I have more than one post in a single day! Today has been a big one! Not only did I get moving an object working properly, I also have succeeded in importing a .swf file created in Adobe Flash, importing it into UDK and having it be functional there!  Additionally, I found a way to have areas of the game load in only as needed to save computer resources on large games!  Level streaming!  I have heard of it and even tried it before, but it never made any sense... until now!  Something just clicked and I got it to work!  The video below shows an example of everything I accomplished.  It shows the player moving a box, activating the .swf movie clip (shows the bottle and the number, the function is that the number increases by one when the player hits a hidden trigger), and traveling between areas that load separately and unload when the player leaves them.  If anyone is interested in more details on how these things work, let me know!

Carrying On

Another post here from Raven!  I solved another issue in UDK, that being how a player can pick up and carry an object in the game for purposes such as solving puzzles, clearing paths, etc.  It really proved to be a fairly simple task of attaching the object to the player when the player chooses to 'use' it, then detaching the object when the player 'uses' it again.  The video and pictures below show things a lot better than I can describe here.

Thursday, March 3, 2011

Changing Places

I found the answer to a problem I had thought might be a big one, but the answer turned out to be very simple.  What I needed to accomplish was switching from one map to another in UDK so only one part of the game needs to be loaded at any given point.  Loading all parts of all of the maps at the same time would probably pose a difficult task for the best of computers!  It turns out there is a really simple console command that can be used to do this... "open YourMapNameHere"  Pretty straight forward.  So this command can be triggered whenever the player crosses a place that a new map is needed, as shown in the demo video.  The trigger point is under the archway so when the player passes under the arch the new map is loaded.

The kismet code sample and the placement of the trigger I used are shown here:

On the Right Road

Raven here again.  There have been a couple of issues, so I haven't made as much progress as I would like to have made.  When I created a model in UDK, it looked fine.  Then I would change that model to a static mesh to conserve resources in the game, and suddenly the thing is covered with strange shadows that have no apparent source and the seams between pieces become glaringly obvious.  I had thought having a single light source had fixed this, but I was wrong.  After fighting with the static meshes and lighting systems for longer than I should have, I decided to just leave the models as brushes for now.  If it starts using too much in the way of resources I can replace them later.  And I did manage to add a sidewalk to the road system using a couple of the static meshes included with the UDK package.  Here is what I have so far: