Thursday, March 28, 2013

Been A While! - SMDP, Umbra, Generic Menus

Hey everyone, sorry it's been a while.

I don't have too much of an update on Super Monster Dance Party. After doing some more testing and research I found out that PhoneGap would not work for us. It seems that the sound issues we were encountering is a pretty serious issue with it and so far there haven't been too many effective workarounds. I did find a good workaround for the sound issue using CocoonJS, it was simply a matter of changing an action from "Silence" to "Volume -200db" The only problem with just using the volume is that with "Silence" it would mute and stop further sounds from starting, but this is so trivial for our game that is won't be an issue. After we got the CocoonJS file exported I got to test SMDP on several different phones, which was pretty exciting. So now I'm taking a step back and letting Dave Troyer and David Fuson add in all of the art assets so we can see how much left of the game we need and what needs refining. I think we are still fairly on track for our end of April release, I just hope we don't run into many bugs once we get everything in.

We're in our last quarter for school, and Umbra is getting wrapped up as well. We got Zone 1 to our lead programmer of sorts, Ryan Olson, so he can start putting enemies in and testing them. After they get in all that is left content wise is playtesting and any tweaks we need to make from there. While that is being set up Andrew Talarico has been working on getting some pretty cool looking animations for the main intro, as well as the ending scene. Currently, I'm figuring out how to add our own custom loading screens and getting the streaming between levels working correctly. Should be pretty easy I think, just making a loading animation and replacing the existing video with ours.

Since I'm not working as hard on SMDP as I was previously I decided to start working on a custom crafting screen using ScaleForm. I ran into all sorts of things I have/had to learn in order to get this working. I ended up having to figure out how to add my own inventory system so I could reference my items correctly. I also ended up making some new pickups and gained a better understanding of how extending classes works. One interesting thing I found was how to pass an entire array from UnrealScript to ActionScript3. The process involves a for loop that goes through all of the items in the array, saving them to a temporary array which gets shoved into a GFxObject and passed to ActionScript3. Here's the chunk of code for it:
function UpdateResourceInventory() { local byte i; local GFxObject DataProvider; local GFxObject TempObj; //Creating the array that will be passed DataProvider = CreateArray(); //Setting each element of the array to include all the variables in //In the Item struct. i is what elment of the array we are on. for (i = 0; i < GP.ResourceInventory.length; i++) { TempObj = CreateObject("Object"); TempObj.SetString("ItemName", GP.ResourceInventory[i].ItemName); TempObj.SetString("ItemType", GP.ResourceInventory[i].ItemType); TempObj.SetString("ItemSubType", GP.ResourceInventory[i].ItemSubType); TempObj.SetString("ItemDesc", GP.ResourceInventory[i].ItemDesc); TempObj.SetInt("ItemID", GP.ResourceInventory[i].ItemID); DataProvider.SetElementObject(i, TempObj); } //Setting the ActionScript3 array "resourceInventory" equal to //DataProvider RootMC.SetObject("resourceInventory", DataProvider); //Calling the function to update it Flash-side ActionScriptVoid("_root.updateResourceInventory"); }

Overall the inventory system is pretty hacky, but it works. I'll have to go through and look at the basic inventory system that UDK has and see if there is anything I can take from that and adapt it. I'll post updates as well. If anyone knows of a good tutorial for that sort of stuff let me know!

Till next time!

No comments:

Post a Comment