Tuesday, April 30, 2013

First Official Release! - SMDP

Hey guys!

I'm excited to announce we have published our first game, Super Monster Dance Party! It is on the Google Play store, just search Super Monster Dance Party and it should be the only one(See the logo below for comparison) Sadly it is only available on Android for now. If we get enough sales to cover the development fee to publish on the Apple Store then we will probably release on IOS as well. It's only $1, so why not give it a shot?

Overall I'm really impressed with our game and our team. Sure the game needs a lot of polishing and possibly a stricter hand at keeping within the art style, but for our first completed game it is relatively bug free!

Our team consisted of:
Producer: Dave Troyer
Creative Director: David Fuson
Lead Programmer: Jacob Vermillion
Featured Music: DJ SynthR (Matthew Le Blanc)
Secondary Music and Effects: Dan Langford
Additional Art: Dave Troyer, Ben Mjelde

I do have to make an apology to Dan Langford; your song wasn't used as much as originally intended because I was trouble shooting a last minute sound bug and missed two places where your song should have been called. If we do an update(Which we probably will) your music will be implemented as originally intended.

Other than that, the only bugs I know of(game not being centered and music restarting after the game is paused) both are hardware issues, and out of my direct control. I hope these don't interfere with the players' experiences too much.

I have to give a big thank you to Dave Troyer for staying up with me till the wee hours of the morning while we were trying to figure out how to digitally sign our app so we could publish it to Google Play. Finally hit the  sack at around 1:40 this morning!

Remember! Check out the Facebook and Twitter pages to keep up to date with what's going on:

Pixel Jargon: Facebook Twitter
SMDP: Facebook Twitter

Happy Gaming!

Tuesday, April 23, 2013

Good News Everybody! -SMDP

Hello everyone!

I have some good news, Super Monster Dance Party is on track for its end of April release! I started playtesting last night with the music in, and its working pretty good. I did run into one major bug, the animation would lag for a couple seconds during a level. I've tracked down the issue and am currently working to resolve it. In addition to that is a couple little things, like assets that need updating and minor code changes. We should be able get those updated pretty quickly. We'll keep you posted on the progress of the playtesting as we get through some more.

Here are some images from the game:
Pixel Jargon's logo

Freeplay mode with the FloBros

Monster selection in Freeplay mode

Mission selection in Story mode

Speaking of keeping you guys posted, we now have a Facebook and Twitter page for Super Monster Dance Party as well as Pixel Jargon(The company developing SMDP) that will be updated with the latest news. Feel free to ask us questions about either on their respective pages and we'd be happy to answer them for you. Here are the links for them. SMDP: Facebook and Twitter. Pixel Jargon: Facebook and Twitter. They're a little bare right now, but that should change soon.

I would also like to give a huge shoutout to DJ SynthR(Matthew Le Blanc) for providing the music we are using for the levels. Head on over to his website to check out some of work. He did a fantastic job on the songs, and I'm glad we found him.

That's all I have for now. I'm pretty excited for playtesting and the upcoming release. Don't forget to check out our Facebook or Twitter pages!

Thursday, April 18, 2013

An Uneventful Week Or Two

Hello everyone! Sorry I haven't posted in quite a while. I've been in somewhat of a lull in all the projects I'm working on, so I'll catch you up on what has happened.

For Umbra, Ryan Olson said he has Zone 1 ready to rock with enemies. As soon as we get it packaged up and distributed to the class we can begin playtesting while he places the enemies into the rest of the zones.

As for the crating system, well I decided to take a break from it before starting on the larger inventory system that I want before I finish up the crafting button.

Super Monster Dance Party has been pushed back a couple days due to lack of songs. We ended up having to purchase some songs to use, since both of the guys working on the music ended up being too busy to complete the rest. We do have one song that Dan Langford did complete, and it sounds pretty good. We are waiting for  permission on two of the other songs that we want to use. The other three artists got back to us within a day granting us permission to use their songs. Nice of them to let us use the songs, thank you! Other than that we have just been working out some of the last bugs and cleaning up some of the art assets. We should be still on track for our end of the month release, it will all depend on how smoothly it exports and works on different phones. Dave Troyer finished up the final monster, so here is a menacing picture of him:

Kind of creeps me out...

I guess that is all there is for now. One of these days I'll write up my thoughts on some of the...management, for lack of a better word, of several projects the group is working on at the moment.

Until then, farewell!

Saturday, April 6, 2013

Sorry For The Long Post - SMDP, Umbra, GenericMenus

Hello everyone!

I have a couple updates on Super Monster Dance Party, Umbra, and that crafting page I was working on.

I'll start off with Super Monster Dance Party. We're inching ever closer to completion. Dave Troyer has been working hard getting the animations for the monsters done. So far he has 4 out of the 5 monsters completed. Here they are:

As you can see the art style is quite a bit different from the one the monsters were originally styled in. Due to animation limitations Dave decided to go with this style for the monsters.

While setting up the animations to play at the right times in the levels I came across a pretty nifty piece of code for Construct2. It's an expression called tokenat(Variable, Index, Deliminator). I'll explain the three parameters in a second.

If you want it to be more dynamic put tokencount(Variable,Deliminator) in random() instead of a number.
Then it will always update if you add new items.

  • Variable: What this does is you declare the names of the strings you want to access in a global variable. In my example  I am putting the names of the animation sets for the confetti, so I have Red:Blue:Green:Yellow as my text variable separated by a : 

  • Index: For the index parameter this is which substring you want to pick. For instance, if I wanted to get the Blue substring I would have to put 1 as the index(It is a base-0 system where the first object is object 0). If I wanted it to pick a random name out of that list I could put int(random(4)) in the Index spot. This will pick a random number from 0-3 which corresponds with how many names I have in the variable. The in() just converts the random number to an integer, so we don't have decimals since that would throw an error.

  • Deliminator: The Deliminator parameter is pretty simple. It is just telling tokenat() what character(s) were used to separate the substrings in the main variable. I chose to use : because it is easy to put in and it looks nice.
This makes it really simple to play a random animation. The way you would have to achieve the same thing would be to have this setup: 

Takes up a lot more events. That's bad if you are using the free version.

Forward unto Umbra! I figured out that changing the loading video is pretty simple. All you have to do is replace this movie with a Bink video with the same name, or change the name one of the default properties(I'm not sure which one).

If you add a different movie don't forget to set in the default ini's

To make a Bink video you need to download Bink video converter from Rad Game Tools, it's free. Then convert your video, there are several tutorials out there that explain how to do it. Beware: it seems to be pretty picky on what videos it can convert. I've had no luck converting any movies, though my roommate has been able to convert a few. It says it prefers uncompressed .avi or QuickTime videos, though I didn't have any luck with any of the 5-6 video formats I tried. 

Also note that just replacing the movie will not get rid of the tips and map name that show up on loading screens. To do this you have to create your own ViewportClient class and stub out the DrawTransition() function, like so:

class UmbraViewportClient extends GameViewportClient; // Don't draw loading hints or "Precaching..." function DrawTransition(Canvas Canvas) { } defaultproperties { }

Then assign your new ViewportClient to be the default in DefaultEngine.ini:

[Engine.Engine] GameViewportClientClassName=UmbraGame.UmbraViewportClient

If anyone knows how to stop the loading map from switching maps right after the next map is finished loading I would love to know. In other words, let the Bink video finish playing before it changes maps.

See my awesome super-quick models?

I made quite a bit of progress on the crafting page since my last post. I started off with making sure the SWF file updated the resource and recipe inventories correctly and only allowed the player to pick up a maximum of 5 resources and 3 recipes. Once I got them to display correctly(that took a lot of frustrating work, trying to igure out how to work with arrays in both AS3 and UnrealScript) I was able to start working on getting the crafting system in working order. Now you are able to place a recipe in the recipe slot, then place the appropriate resource slot. if a resource/recipe is in use by the system it will be grayed out and unclickable. 

Adding the last iron needed

Once you have the recipe and all the ingredients you'll be able to hit "Craft! and create the item. This feature is still in the works, though I have the base code for it already. I'm waiting to implement this until i get a second dedicated inventory screen, that way you'll be able to see what you crafted. I did implement a drop feature which allows you to select a resource/recipe and drop it on the ground. 

I think once I get this done and I'm feeling a bit ambitious I'll shift most of the work over to UnrealScript instead of shared between both, since UnrealScript is quite a bit faster than AS3. I should have been doing that from the start, but for some reason I was duplicating work again. At least it is working so far, that's the main thing right?

Well, that's all I have for now. Till we meet again!