Siege Hero currently FREE on the App Store!
From Armor Games Blog
by Daniel on February 05, 2012 05:31 PM
It won’t be FREE for much longer so download your copy now and enjoy the newest level pack ‘Age of Pirates’!
by Daniel on February 05, 2012 05:31 PM
It won’t be FREE for much longer so download your copy now and enjoy the newest level pack ‘Age of Pirates’!
by Daniel on February 05, 2012 05:19 PM
Congrats to Juicy Beast and all those who rated Silverado Apocalypse Blaster. Get on it gamers, before the Big Game consumes your night!
by Ralph on February 05, 2012 04:32 PM
This week I didn’t get too much done other than some relatively minor tweaks and optimizations to the collision detection. On Saturday, I spent the majority of the day figuring out the best way to construct levels using a mix between the Flash IDE and Tiled Map Editor. As a result, I began drawing some art for the game (which will be re-drawn for the actual game, everything here is just a placeholder to help me get an idea of what levels will look like).
Check out what I have so far here. To move, use the left / right arrow keys, space to jump, shift to run, and push against a wall to slide down / wall jump. These controls will be remapped for the actual game, as I’ve worked in mouse control so I’m going to have to abandon the arrow keys for a WASD-based control scheme.
Today I intend on implementing the Starling API, which is a 2D API built on top of the Stage3D API introduced in Flash Player 11. If you didn’t know, Stage3D is a new feature in Flash Player will allows for programmers to harness the power of the GPU and create more stunning visuals with little to no impact on the CPU. (This means be on the look out for some really amazing 3D Flash games in the coming months.)
I generally dislike working with APIs for two main reasons. One, I like to know what things are doing and why they’re doing it, and there’s no better way to know this than actually coding the classes yourself. The second reason is because of the possibility for lots of unnecessary overhead and lack of optimization (again, I pretty much don’t trust anyone to do anything right, except for me – sometimes). Since Starling was actually developed by the same team that actually work on Flash Player, I’m very comfortable with using it.
Alright, that’s it for now. I’m seriously going to try to get more posts out than these minor once-a-week things. It’s easy to say that now, on a weekend, but once the week begins it’s a different story…
Okay go away now.
by hlarcher on February 05, 2012 12:55 PM
If you need to limit user input on a UITextField to decimal characters only, either for currency or something else here’s a bit of code that accomplishes that. There’s lots of ways to do this even with the use of NSNumberFormatter and/or NSScanner.
First of all you need set the UITextFieldDelegate on your View Controller and then set the View as the delegate for your UITextField. You do this by changing a line in your View Controller’s .h file to:
@interface MyViewController : UIViewController <UITextFieldDelegate>
and then either set the UITextField’s delegate in your View Controller’s .m file in the viewWillAppear method for example like:
myTextField.delegate = self;or in Interface Builder by selecting the UITextField and in the Connections Inspector drag from the “delegate” to your View Controller.
Then you can implement the following delegate method:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { NSCharacterSet *nonNumberSet = [[NSCharacterSet characterSetWithCharactersInString:@"0123456789."] invertedSet]; // allow backspace if (range.length > 0 && [string length] == 0) { return YES; } // do not allow . at the beggining if (range.location == 0 && [string isEqualToString:@"."]) { return NO; } // set the text field value manually NSString *newValue = [[textField text] stringByReplacingCharactersInRange:range withString:string]; newValue = [[newValue componentsSeparatedByCharactersInSet:nonNumberSet] componentsJoinedByString:@""]; textField.text = newValue; // return NO because we're manually setting the value return NO; }
As you can see from the code’s comments we allow the user to delete characters, check if the separator is not at the start and removing any non decimal characters that user types or pastes.
You might also want to set your UITextField to use a decimal keyboard by doing this:
myTextField.keyboardType = UIKeyboardTypeDecimalPad;Beware it only works on the iPhone (iPad doesn’t have this keyboard and it will default to the normal one) and only on iOS 4.1 or greater.
Hope this helps, happy coding!
by Vlad on February 05, 2012 12:55 AM
Hi everyone, Vlad here!
Seems like on a thing versus some other thing rampage with Application Design vs Game Design shortly followed by this post. I guess that’s a good thing, it means there are challenges and doubts and that we need to research.
This post is also inspired by some books I’ve been reading lately and that I highly recommend: The Productive Programmer that was influenced by The Pragmatic Programmer.
We are writing code and there’s not such thing as writing code without bugs. Sometimes our oldest, most used code, that code that we trust each of our games with gets into a specific spot where a hidden bug appears and we spend hours and hours figuring out what’s happening.
There are several solutions to this. Writing code that includes testing is in my opinion the best. The problem with this, game development wise and specifically in scripted languages such as AS3, is that this makes the code much slower. The solution was checking for inconsistencies and not performing operations instead of throwing errors and exceptions.
I ended up creating conditions for use. For instance our blit package uses three different types: the core, the object and the texture. The core keeps the state of the whole system, the object keeps the state of what and where to render and the texture keeps the state of BitmapData. If the object did not have a texture it would simply not render. Sounds pretty cool, right?
To be honest… wrong…
First problem was the times where the position had NaN value instead of a Number. This rarely happened but every time it did it was a huge headache to identify why and then track the source of the bug down. While this seems unrelated, the fact was the it looked like the texture did not exist. So I had to check if the texture was created, if it was passed, if it was there at all and the worst part was that if the texture was there as it should, where the hell was the problem?
Performance wise checking if there is a texture is absolutely dumb! 99% of the times there is a texture present. More, the object class has a visible variable. If the object does not have a texture why is it visible in the first place?
So while apparently I solved a problem by checking if the texture was present and not performing any blit operation if it wasn’t, the truth is that both performance wise (not that serious by the way, it’s just a if statement) and the unwanted problems it induced in the code backfired from time to time.
I spread this type of behavior through the code. While one if statement does not have a large impact in performance, a lot of checking piles up and I had a lot!
A short story and a riddle both taken from those books that explain my thoughts on the ‘final’ (we’ll see about that!) solution for these problems.
The first one was when one of the authors was hired as a consultant for a development project where the coders sent broken code to the version control system. What he did was to create a routine where the version control server would compile the code that was pushed. Every time the compilation didn’t work the server would send an email with the error. With the amount of mail with errors constantly piling up on mailboxes, one of the coders asked if there was a way of not getting that much email. The consultant replied: “Sure, don’t push code with errors!”
The riddle is… what code takes not time to be executed? The one that is not compiled.
So the solution is to write code that allows zero error tolerance while not compiling it. The way to achieve this is with conditional compilation which can be used in several way but these are the ones I believe the most useful is to use code blocks, like this:
private function someFunction():void {
CONFIG::debug {
// Development code
}
CONFIG::release {
// Final code
}
// Both dev and final code
}Inside the same function, different code is compiled depending on the current configuration. We can have several checks with exceptions and errors being thrown and then have a ‘don’t check at all’ version in the release configuration.
This is a two stage solution really. On one hand every time I do something stupid, I get errors so my code has to be perfectly implemented at least when it comes to our framework. On the other hand the same code that make me code as best as I can is also the code that does not run in the final version.
by Zuhair on February 04, 2012 07:46 PM
I’ve recently been working, and experimenting, a lot with Flex 4.6 and deploying apps built in Flash Builder 4.6 to mobiles.

One could say that Adobe’s massive jump into mobile support across various applications (Dreamweaver, Flash) was a necessary one due to the steady, oceanic flow of users using there mobiles and smartphones for an increasing number of functions everyday. This mobile “uprising” has seen the downfall of the beloved AS3 game engine, The PushButton Engine. A special notice on the PushButton Labs website explains how “Mobile has become the centre of the universe, and social games are starting to struggle”.
I’ve released one app on the Android Market, which was a rushed test app (he says), and so I’ve got some experience of the publishing process. Articles and tutorials suggest a more daunting publishing process for sending apps over to the Apple AppStore, but more on that when I actually get round to submitting something to it.
Brief views:
The Good
The Bad
So, in this early review(?) of Flash/Flex-app-building, I can conclude that an exciting future of mobile development awaits, but that future has a while still in development.
by Colin Cupp on February 04, 2012 01:30 AM
This week’s Flash Game Friday winner is Catnarok 2: Longcat Rampage by Antoine Litzler!

If you are an internet geek, you’ll love this game. Memes and parody abound as Antoine manages to pull in countless familiar characters into one hilarious game!
You are the longcat, and you are definitely on a rampage. You shoot fire and even lasers from your eyes at incoming enemies. As you progress, more and more familiar memes are revealed. Antoine added a directory of the characters he used in his games, and their origins (giving proper credit).
Catnarok 2: Longcat Rampage, in movie terms, would be referred to as “An irreverent good time”- congratulations on winning Flash Game Friday, Antoine!
My name is Antoine Litzler, but you might know me as my fancy online name “Hyakkidouran”, which is probably the only thing close to cool I will ever get. I am a froggie and am based in Frogland (some call it France).
This might be dissapointing to some people, but I am not much more than a bedroom programmer working alone. I wish I could say I have a dynamic and great team I am working with, but life has not put other crazies like me on my way yet (or a pile of gold to hire crazies), so I have to make do with my own hands.
I think I started about 5 years ago with (what else?) a dress up game. But, even though my games got more complex, this always has been amateur or semi-pro (if that word even has a meaning) work, as I could not make enough money to consider quitting a regular job. Even today, I still have my day job as a computer developer/administrator for a huge cultural association.
I am probably not being original by saying that being able to live from making what I do on my own would be awesome. But I still have to thank my day job for providing me with food and licenses for Photoshop and Flash CS until now. Without this food and software, I would not be making games..
Wasn’t it obvious? Memes.
Internet memes are very diverse and range from being really funny to being pure crap. I really like the older memes in particular, like “Longcat” or “All your base are belong to us”, which spawned pretty funny and interesting content.
But now it seems that young teenagers attempt to artificially create memes for the sake of “internet fame”, which usually results in crap. The good memes were usually born from a natural selection process of something that is actually funny, and that was how it worked in the early 2000′s.
The idea of the game was to adapt the “internet legend” of Longcat, while giving the opportunity to kill some bad memes.
The first Catnarok was kind of a prototype for that idea. When I saw that the prototype did fairly well despite its simplicity, I decided it was worth it to invest the time to get closer to my original vision.
…Everything?
Joke aside, I think the hardest was that I had to stop the project for extended periods of time as my job or other IRL things pulled my leg. Coming back to the code after 1 month of not writing anything was a nightmare.
I also was pretty scared of the potential copyright issues.
Since there are sites out there which make money from referencing memes, I figured that, if I traced/redrew over the meme pictures, I would probably be fine (and I probably am since mochi approved the game), but I admit this worried me through all the development. I was scared that all that work would go for naught if some guy came and said “sorry, this parody, that is like the over 9000 there already are, is copyright infringement because it is more visible than the others”. ?_-
I also can’t do music, meaning I have to rely on the generosity of people online for it (usually throught people on Newgrounds audio portal or classic public domain music). All this creates kind of a legal mess that I am pretty scared of and it might be the greatest obstacle there is to moving to actual commercial game development.
Fair use is a blurry line, and it seems I did not cross it on that particular project, at least to the eyes of the users…this is quite a relief.
Being a bedroom programmer, I have to create games I can grasp entirely on my own.
This is why I create usually shoot-them-ups or puzzle games. Those are simple enough for my monkey brain.
I have little interest in studying 3D because I think it is out of my reach (for now?), plus I am actually quite the japanese anime fan, and I really love the way 2D looks and feels.
Considering this, you will not be surprised to hear that I am a great fan of Japanese 2D fighters like Guilty Gear, Blazblue or Arcana Heart. In general, I can enjoy anything with good 2D graphics, unless the gameplay really sucks.
I am also quite the fan of Starcraft and Deus Ex. And I also have some very obscure games that I have been loving since 20 years and still play sometimes, like “Ristar” or “Zoom!” .
I am that kind of person who usually has 20 funny and unrealistic ideas per minute, so the main part of the process is to filter those ideas by wondering “what can I, with my skill and time currently at hand, actually do?”. Once I can envision an idea that is simple enough to code, but still feels like it will be fun despite my limited ressources, I start working on it.
After that, it usually becomes pretty chaotic, since I am forced to code and draw when I can, with sometimes huge periods during which I can’t do anything on the game. Talking about a “process” would be complimenting this mess really.
Daisuke Ishiwatari, who is litterally a developer AND a rock star.
I am also quite a fan of the early work of Peter Molyneux on the PC, before he started doing this Fable-RPG thing. Even though I don’t play his games as regularily as the ones I quoted earlier, all of them are really good, intriguing games that qualify as “unique experiences”.
I also admire all indie developers. Period. I realized how much it takes balls to do games, and everyone taking this risk without stable financing deserves respect.
Hard to tell. What is certain is that the moment your prototype runs well enough, allowing you to play the game from start to finish, do feel really special. The polishing and balancing that comes after that is actually way more tedious (but unfortunately necessary).
Do I! I virtually have a pile of projects waiting that I can’t wait to recede.
I think that the hottest news is that I have been working on creating a completely original license, based on my love for anime. I took a few clues from Mochi’s very own Mr. Shen, and thought it would be a great idea to have a cross-media character that I could use for games, comics, or virtually anything I want.
This character is “Serina, the star guardian”, a character heavily influenced by the magical girl genre, but with a bunch of personnal twists that hopefully will make her unique. Besides expressing my anime love, I am also creating this character for the sake of all the kids in my family, which makes this project even more stimulating and interesting.
Overall, I have great hopes for the future, and maybe this feature of Catnarok 2 will contribute to that extra boost I need to start my own thing into full steam. And if it’s not… well, I am ready to keep doing my dirty things in my bedroom at night. :)
Thanks Antoine, and congratulations again on winning Flash Game Friday!
© Colin Cupp for MochiLand, 2012. | Permalink | One comment
Add to del.icio.us
Search blogs linking this post with Technorati
Want more on these topics ? Browse the archive of posts filed under Developer Feed, Developer Spotlight, Flash Game Friday, Game Showcase, MochiLand Topics, Publisher Feed.
by Daniel on February 03, 2012 07:04 PM
We’ve tallied all the ratings for the three “2012″ games and found our winner!
Congrats to Juicy Beast and all those who rated Silverado Apocalypse Blaster. It will be featured online as Chevy’s official Epic “2012″ game during Superbowl XLVI!
by AncientCardsTeam (noreply@blogger.com) on February 03, 2012 02:09 PM
by Andy Moore on February 03, 2012 04:29 AM
Today is day 7! I was really hoping I would have the game finished today, just to say I made the game in a week – but after 7 hours of work I’m having to forfeit. I’m travelling out to see the Indie Game: The Movie screening in Winnipeg early tomorrow morning, so I’ve got to pack and get prepared tonight!
The game is pretty much feature-complete. I took the two divergent core gameplay mechancis and mixed them together into a single, fun unit. There’s all sorts of polish – screen shakes, particle effects, animated (tweened) characters, high scores, game center integration, etc… All the little details that turn a game from a “good mechanic” to a game that actually feels good.
I’ve been playing a lot of the game between builds, which I think is a really good sign. I’m really enjoying how the game feels, and it’s an actual challenge for me.
Sven also got me a set of new art (some of it placeholder, but at least it’s better placeholder than my own stuff!), and I have to say.. it makes the game look completely different. I avoided sharing any screenshots of the game, and was very possessive of who got to see beta copies… Once you see the beta-art, the game is forever stained in your mind, I think. It’s hard to get over that first impression. This new stuff – even half-done placeholders – is way better and I’ll start sharing screens soon!
Sven is making some glorious art for the game, and it’s really coming together in a rapid fashion. Unfortunately for me, he has a day job and lives on the opposite side of the planet – so a lot of the assets are still placeholder, and little things like static animations (to make the game really pop) are probably a few days away at the earliest.
But I think one of the worst things, is the game name isn’t settled on anymore. “Word Fishing” was going to be the title, but it’s already a title in the AppStore – time for more brainstorming! (and of course: it’s hard for Sven to do art for the title screen when there’s no name yet).
by Justin on February 02, 2012 09:31 PM
Armor Games and Iron Hide Game Studios is proud to announce Kingdom Rush is now the #3 paid iPad game in the App Store! We would like to thank everyone who has supported Kingdom Rush and downloaded the game. KR is also on sale for $0.99, get it now while the sale lasts!
by Daniel on February 02, 2012 05:49 PM
This developer battle royale needs a winner and today is your very last date to rate which game you think deserves to be featured on Armor Games and Chevy’s social channels during Super Bowl XLVI!
Play all three games and tell us what you think! (Click Here)
by Joe Willmott (noreply@blogger.com) on February 02, 2012 09:23 AM
by Andy Moore on February 01, 2012 10:39 PM
After Global GameJam, I took some time off to recover. Yesterday (Tuesday) I put in about 6 hours of work… My heart wasn’t really into it (I had a really rough sleep) so I started by kinda just poking at things.
I’m a big fan of “just get it done,” and doing it as fast (and as messy) as possible. It’s this skill that allows someone to finish a game for a 48 hour game jam… Or heck, even in the 5 Minute Game Challenge I hold at OrcaJam. I think these skills translate very well to managing deadlines (in more structured environments) or actually finishing your game for the indies out there.
Your biggest enemy in rapid game development is that desire to do things right the first time. Over engineering is the devil! There’s time for that later.
For day 6, though, I was really not feeling that creative. Scrolling through my mess of code wasn’t making things better, and I decided I’d spend some time cleaning up. I shuffled out some new classes and moved things around – ultimately, simplifying and marginally speeding things up. I largely look at it as a waste of time, but there is one small benefit I gained: The exercise of cleaning up the code for 3 hours managed to dust all the cobwebs out of my brain, and I was able to actually get some work done for the remaining 3 hours.
Getting your AS3/AIR application to access some iOS-device functions (such as GameCenter, iAds, and in-app-purchases) is really tough. Sarah pointed me towards Milkman Games and their suite of tools for AIR/AS3 developers, and I thought I’d give the GameCenter component a whirl before I implement highscore functionality.
Yeah, it costs money – about $70 for this piece – but I swear I couldn’t find a single thing that came close to free in months of casual web searching. Getting this kind of thing working takes some talent, time, and some core development skills.
I am pleased to say that with about 10 minutes of reading the documentation and typing out the code, I had a complete GameCenter tie-in working (with score submissions and table browsing)… and it worked on my first compile, with no tests at all. (I spent another 20 minutes setting up my Apple Developer account, but that’s because their forms kept timing out on me. *shakes fists*)
MilkManGames did an excellent job of documenting this package, and even covered some gotchas at the end of their documentation, with sample code too. All in all, it was well worth the money and the package was very well put together. It’s not 100% perfect, and integrating it with FlashDevelop has a few minor quibbles, but I hear FD is working on a fix for that (not MMG’s fault).
I managed to get a nice tweened animation for the main character as you’re playing, which helps give the game a bit of flow. I also settled on a core mechanic and re-introduced certain elements, like combo-multipliers and timer cooldown systems. I also did some work on the end-game to make it a bit less weird (but still retaining that not-so-jarring experience).
All in all, a good day, considering how I felt at the start. :)
by Daniel on February 01, 2012 06:18 PM
Have you checked out Checkpoint Chase yet? Try out Chevy’s three different “2012″ games HERE and rate which one you enjoyed playing the most. You’ll get an exclusive TEASER at one of Chevrolet’s new Super Bowl XLVI commercials when you play!
The game with the highest rating will be featured on Armor Games and Chevy’s social channels during Super Bowl XLVI! Click HERE to decide!
by Joe Willmott (noreply@blogger.com) on February 01, 2012 05:00 PM
by AncientCardsTeam (noreply@blogger.com) on January 31, 2012 09:08 PM
at January 31, 2012 08:04 PM
After my post on storytelling, I got a recommendation to try out “To The Moon” from Freebird Games. It truly is a special experience, and I wholeheartedly extend the recommendation to anyone interested in exploring the potential of storytelling in games.

Kan Gao is the team director, and was kind enough to offer a few words to share.
Can you give a quick intro to who you are and why you make games?
Kan: I’m just some guy from Canada who struggles to hold his chopsticks. I make games mainly to tell stories.
What other games inspire you and your projects?
K: The old school RPGs in general, I suppose. I’ve always enjoyed the storytelling in them, even if contrived at times; it made you feel involved.
What era of games did you grow up in?
K: Late 80s and early 90s.
It appears that you use death as a running theme, what draws you to that?
K: It’s only a running theme in To the Moon, I think. At the time I started the project, my grandfather was ill, so it was one of the things that got me thinking, and eventually became the base of the story.
Are you proud of your results?
K: Well, things could’ve always been made better, but aye, I’m more than happy with how things turned out.
That’s good. What is your development process? How long does it take you to produce a game?
K: Not that I recommend it, but it’s pretty loose and non-strict. It’s pretty much just me working away at it, doing one thing today and another tomorrow as fit. Then I’d run into things that I can’t do, and knock on talent peoples’ doors with a jar of cookie while begging for help. To the Moon took about 1.5 year to make, though it wasn’t full time.
Would you ever work for a studio that didn’t give you creative control?
K: Not entirely unlikely; there’s a lot to learn from experiences like that too, such as work ethics. Though for now, I’d be a lot happier to be able to finish To the Moon’s series as I see fit.
Do you have a plan for the future?
K: Late lunch.
Hah. On a more business-oriented note, have sales met expectations? Do you care about finance at all?
K: Aye, it’s my first commercial project and I’m hoping to be able to devote my time to this for a living, so I’m really glad that the sales are gaining enough support to make it viable for now.
Superb, I’m glad to hear it. Finally, do you have any advice for other developers looking to write more compelling stories?
K: Writing stories is a pretty personal thing, so I can’t exactly dictate the exact directions. . . but if there’s a choice, I think it’s better to write smaller-scaled and delicate stories than epic ones. There are plenty of the latter around nowadays, but we could use more of the other.
Thanks for your time, Kan.
K: No problem, thanks for the opportunity!
So there you have it, some thoughts on development and storytelling from the developer behind Gamespot’s Best Story of 2011. If you didn’t notice at the beginning of the article, I seriously enjoyed this game and I demand you download the demo now.
What do you think?
One commentby admin on January 31, 2012 06:55 PM
Hey there!
I recently received my meego tablet as a contest prize from Intel. Its an EXOPC slate with an awesome configuration. It came preinstalled with a development release of Meego and had a quite a lot issues with the functionality and UX. So I decided to experiment with the slate and begin trying different OS on it.
The first in the row was the latest build of Meego. Much better than what came preinstalled, but still not there. Applications hung up in between, there were glitches in the UI and stuff…
Next was Linux Mint 11. Worked quite well on the tablet but multitouch support was not present. After researching a bit I found the multitouch framework (uTouch) which is under development by Canonical for Unity.
So in order to test uTouch I switched to Ubuntu 11.10. Unity in Ubuntu was a much better experience on the tablet as compared to Mint. It felt closer to a real tablet OS.
That was not it. The best was still to come. Finally I tried installing Windows 8 developer preview on the tab. At first it didn’t install as I was trying the x64 edition. But x86 one installed just fine. The new Metro UI in windows 8 is a masterpiece. Though the current edition of windows 8 still has plenty of bugs, the experience of using it on a touch device is simply awesome.
I leave now with some pics of Windows 8 running on the slate. Will wait for the final release of Window 8
Cheers!
by Daniel on January 31, 2012 04:49 PM
Have you checked out Silverado Apocalypse Blaster yet? Try out Chevy’s three different “2012″ games HERE and rate them. You’ll get an EXCLUSIVE FIRST LOOK at Chevrolet’s new Super Bowl XLVI commercial featuring the most dependable, longest-lasting truck on the road today, when you play!
The game with the highest rating will be featured on Armor Games and Chevy’s social channels during Super Bowl XLVI!
Click HERE to decide!
by Andy Moore on January 31, 2012 01:28 AM
During the Global Game Jam, someone leaning over my shoulder remarked on how quickly I was able to dump audio into my game. I’ve gotten quite a few requests for my audio handling library, so I thought I’d make it publicly available here.
I’m no audio expert, and it’s very simple, straight-forward, and to the point. I’m sure it’ll work fine for basic needs, but if I made any huge mistakes or anything… Let me know! I’m still learning too.
RadialSound works seamlessly with any AS3 build, including AIR builds for iOS and Android, but I’m mostly saying that because mentioning “iOS” in my posts increases my web traffic by quite a bit. :3
Instead of quoting all the source I’ll just link to the class I’m currently using, here. I named the file “RadialSound,” to give it a unique-but-short name, and also I’m a big grown up with my own company (Radial Games).
Personally, all of my utility and commonly-used references are in their own simple, flat, one-level folder. I then use FlashDevelop to import that folder via the Project > Properties > ClassPaths window. This allows me to share all of my common code easily across projects, without having to do all that “com.andymoore.crap.”
You don’t have to get all fancy, though; to use this file, just drop it into your project’s root source directory. That works too.
RadialSound uses a static instance to work across your entire application, but first you’ll need to initialize it. This can be done anywhere in your code, probably near the beginning/first boot of your application:
new RadialSound();
Then you just have to tell RadialSound what audio bits you want to have access to. It’ll accept URLs to audio files (good for streaming in long Mp3s), generic classes for embedded audio, or specific classes from a compiled source (such as SWC libraries of assets). We do this via the “storeAudio” interface, which wants both the class and a label to identify it later:
// Stream an Mp3 in from a web server
RadialSound.storeAudio("track1", "http://test.com/music.mp3");
// Standard audio file embedding:
[Embed(source = "fireGuns.wav")]
private var fireGuns:Class;
// And recording that in RadialSound:
RadialSound.storeAudio("fire", fireGuns);
I’ve always been conscious of SWF file size and of bandwidth consumed; you don’t want everyone that loads your SWF file to have to [at least start to] download six tracks of music before they can see the main menu. What if the majority of your players never make it to track 5? Why waste all that bandwidth? And why annoy players with large .SWF file sizes, too?
You might as well host as much of your audio seperately as you can, and load it on-demand. If you have a particularly popular game, storing your music tracks on cloud-hosted servers (like Amazon S3) might be a good idea too.
To help work with these solutions, I’ve added some extra functionality to the storeAudio interface. By default, it will simply store the URL of your externally-hosted music, but not actually start to stream it into your application until it is actually requested for playback. This can result in a half-second (or worse?) delay in playback, though. You can override this behaviour and force-load assets immediately, if you wish – useful if the exact timing of the sound is important (at least for the first playback):
// Final bitflag determines streaming time
RadialSound.storeAudio("track1", "http://test.com/music.mp3", true);
There’s a bit more functionality in there, but I’ll leave it for you to discover.
Now that we’ve told RadialSound what exists, playing them back is simple:
RadialSound.playMusic("track1");
RadialSound.playSound("fire");
I’ve separated music from sounds for a couple of reasons: music will loop indefinitely by default, and will immediately change tracks when you feed it new input. Audio on the other hand will allow 10 (number tweakable) sounds to be playing at any given time – the oldest sound getting bumped for any new requests.
There is also behaviour in the class to mute/unmute all sound, and even a quick and simple way to pass it an art asset and have the class build the mute button for you. Explore! The file isn’t all that big, and is pretty self-evident. :)
All in all, it’s anything you could want from a simple flash audio player.
Again, download link RIGHT HERE to RadialSound.as. Let me know if you improve upon it!
by Andy Moore on January 30, 2012 11:12 PM
Heya! Anyone going to GDC?
I’ve thrown a GDC party in the past and I thought I’d make this year a bit more organized.
Location is still TBD at this point, depends on how many are showing up. Social board/card games and beer are the order of the day. Stay tuned for more details (or hit me up via email or twitter).
by Justin on January 30, 2012 09:29 PM
by Andy Moore on January 30, 2012 10:03 AM
Shawn Blais taught me all I needed to know about mobile optimizations of my AS3 code. His blog only has a dozen or two articles, but they are chock-full of interesting information (and even sales figures!). The most useful stuff for me, at this point, is the graphics pipeline optimizations.
The thing that ties the following three steps together is one unifying theory: use bitmaps for everything. You can start with MovieClips and vector Sprites, and you can even stick with Flash’s DisplayList to keep things organized. But the actual image data? Bitmaps! Always bitmaps.
When designing a mobile application, you’ll have an “application.xml” (or similarly named) file that contains all sorts of nice settings. One of those is going to tell the mobile device whether to render using the CPU or the GPU. Most defaults (including the FlashDevelop template file) will point you to CPU, and that may be fine for flash’s standard vector art. Switching to bitmaps and the GPU setting will give us much better performance.
Open up application.xml and make sure this exists:
<initialWindow> <renderMode>gpu</renderMode> </initialWindow>
(source article is same as step 3)
AS3′s stage-rendering quality setting determines how vector art (probably your “Sprite” and “MovieClip” classes) is rendered. The thing is, even with a low setting, the stage still respects your bitmaps “smoothing” flag and draws it without any discernible difference. No need to spare the CPU cycles on something we aren’t using!
stage.quality = LOW;
If you have vector art you are loading and converting during runtime (see step 3), AS3 even lets you change the stage quality on the fly! Just use this:
stage.quality = HIGH; convertMySprite(); // Or whatever your function is stage.quality = LOW;
This is probably the best performance-enhancing-drug my mobile apps have used so far, but it only gets the big performance gains if you use it in conjunction with Step 1 (GPU render mode).
The basic idea is to take all of your image data, and cache the bitmap data only once - dynamically – to a dictionary reference. In GPU render mode, this stores the data as a texture in GPU memory on the mobile device. As long as all duplicate images are pulled from the original data, no new memory is used and creation of new graphics is lightning fast.
This works particularly well for common images used frequently – say, badguys, bullets, and common tiles. But I use it for everything!
Shawn’s original article laid out some source code and a longer explanation if you want to get into details and performance charts. His code does all of the conversions automatically for you, and the discucssion in the comments of his article improved upon it. I added a few tweaks myself, and it is now the only class I use for any type of image data. Imported .PNG file? Sprite or MovieClip in a .SWC? Class reference to an object you custom made? Doesn’t matter! All automated, all quick, all easy to use. Best of all: the code is really short, simple, and easy to read in about a minute.
It’s a bit too long to paste here, so here’s a link to the class I use right now. Feel free to use it, just let me know if you improve on it :) Copy and paste it to the root of any project and you should be able to start using it right away.
I haven’t tried this step out yet, but it’s an extension of the class I offered up in Step 3: automatically convert each frame from a MovieClip to cached bitmap data (and store that stuff in the GPU). If I had animations in my most recent games, I would be all over this too!
The biggest drawback I’ve found with the GPU-rendering mode is that you lose your runtime access to all filters and blendmodes. If you want to put a nice glow filter on a flame graphic, it’s easy to pre-bake that. But dynamically adding things – like adding a stroke to a font – are pretty hard to workaround (using system fonts, as opposed to spritesheet based font rendering). Hit me up if you have trouble with these, I’ve found some solutions (but not all).
A secondary detriment is that a complex DisplayList will slow down your app a bit more than usual. Try to avoid nesting that goes too deep. But you were doing that already, right? ;)
A compounded drawback here is that GPU-rendering isn’t available on your desktop (without Stage3D routines). That means when you do a test-run of your mobile app on your desktop, you will still see your filters and blendmodes, which can lead to some confusion, particularly if you’re porting a complex app written for desktop use.
The most complex scenes I’ve created with these methods run beautifully on my two-year-old Nexus One. I ran an hours-long performance test on my iPad – constantly drawing new moving objects to the screen (and never removing them). Though things (understandably) dropped to about 3FPS after quite a while – memory usage was nominal and the app never came close to crashing.
Most importantly, and this is a pretty big thing: this performance boost is BETTER than what you get from blitting on a mobile device. That means following those 3 basic steps will give you better performance than Flixel and FlashPunk’s default rendering engines.
In many cases, it’s possible for your mobile devices to outperform your desktop thanks to the direct GPU access. Hopefully this will change with Stage3D? Until then, blitting engines (like Flixel and FlashPunk) are probably your best bet for desktop and browser performance.
For all sorts of performance charts and figures, stress tests and numbers, check out Shawn’s posts (linked in the respective steps above). He sees up to a 4000% speed boost.
by Andy Moore on January 30, 2012 08:46 AM
Wow! What a rough Global Game Jam. I didn’t get very much sleep – a lot of laying in bed, thinking about code. I missed out blogging about development on Saturday; I worked for around 8 hours then.
Sunday was the final day, and I only got in 2.5 hours of work before the 48 hour buzzer rang.
I’m not sure how to measure success here. Llamas to Space’s core mechanics – essentially, two games that affect each other – were very new to me. I was building for a platform that I am not entirely familiar with (the iPad). The game I made wasn’t super fun and I probably won’t release this iteration on the AppStore, but I do still feel like it is a success:
All of that – and I only put in 13.5 hours of work in the allotted 48 hour span. Something to be proud of! That’s a standard crunch-day in a AAA game factory.
Anyway, after this weekend I’ll be happy to lay it to rest for a while, and get back to the word game I was building last week!
Of course, the biggest compliments I was getting on the game were for little animated things; items falling off the screen in a bezier curve, a spaceship bouncing off the ground and arcing away, grenades being lobbed in nicely timed arcs over the battlefield.
Of course, none of this was thanks to me; it was courtesy of an awesome tweening library (called Tweener) that emulates a lot of Flash CS’s built-in transitions. I had used Tweener to do the airplane transitions in SteamBirds as well, so it’s an old friend of mine (and I LOVE looking at their animated examples page. Simplicity, and beauty!).
It’s always the flashy stuff that gets the credit. :(
The game isn’t in any sort of state to release. It requires a bit of explanation; there was no time to build tutorials or finish touching up the art. If you’re dying to see it, meet up with me in Winnipeg next week, GDC in March, or the local bi-monthly Victoria meetup group and I’ll be happy to show it off. :)
by Daniel on January 30, 2012 05:12 AM
Chevy came to us to make 3 games based on their “2012” Super Bowl XLVI commercial, and we are counting on you to decide which one makes the final cut. Try out all of Chevy’s three different “2012″ games HERE and don’t forget to rate them.
Keep an eye out for the EXCLUSIVE TEASER of Chevrolet’s new Silverado commercial that will air during Super Bowl XLVI on 2.5.12! The game with the highest rating will be featured on Armor Games and Chevy’s social channels during the Super Bowl XLVI! Click HERE to play the games and cast your vote
by admin on January 30, 2012 12:28 AM
Well, Zomboy's almost up for developer's viewing pleasure, Topsy Turvy 2 has nearly found a sponsor and Tank Wars (working title) has... Well, not moved at all. We've been getting Zomboy ready for you all!
by Ralph on January 29, 2012 04:03 AM
Well, not so much of an extravaganza as it is just a regular post, but you get the idea.
Before I get into some development news and updates, let’s go over some stats:
Pretty cool stuff, right? Right.
Alright, anyway, as for what I’ve been doing the past week or two. Well, college started back up the other week. As a result, I’ve really just been getting myself situated with my new schedule. Any free time has been devoted to not doing anything related to game work. It sucks, and I’ll be snapping out of it as time goes by.
However, that doesn’t mean I’m not doing anything. In some rare occasions, I open up FlashDevelop and continue work on the basic core of the game – collision detection.
For this platformer, I will be mainly utilizing the separating axis theorem, something I’ve always wanted to implement myself for quite a while now.
Well, as of tonight (it’s night right now) I can happily say I have it pretty much nailed down, check it out here.
Through some sprites over them polygons and you got yourself an award-winning game right there.
Well, not exactly, but still.
Anyway, I just want to give a shout out to some great articles and explanations on the web that really helped me get this SAT thing nailed down.
Definitely wouldn’t have been able to make it this far without those three pages. Great stuff.
Anyway, that’s it for now. It’s 11PM – Battlefield 3 time.
at January 29, 2012 01:44 AM
Post-mortems are terribly, horribly interesting. I love seeing how Flash games died. Some developers are willing to describe all the gory financial details, writing up accounts so that we can all learn from their mistakes.
I have written two post-mortems in the past, and now I have finally added them to this site (with some longer-term stats added to the bottom):
The Man with the Invisible Trousers
Slide Racing
PS: I have a secret wish that people will read those and decide that I should be paid far, far more. 4 million plays per game is worth more!
PPS: For what it’s worth, Unevolve has 210,000 plays and earned $200 for 2 people, so that’s alright for a 2 day game.
But I am not the most interesting developer, nor the richest, nor even the most bitter! I present to you, a list of every post-mortem I could dredge from the mirth of the internet.
Concerned Joe
Community College Sim
Gravinaytor (Which I always read as Gravy-nator, and you should too.)
(I Fell In Love With) The Majesty of Colors
MegaDrill
The Moops – Combos of Joy
Pixel Purge
Plastic Attack
Robo Riot
Solipskier
SpeedRunner
Steambirds
Tentacle Wars
TumbleBall
I will attempt to keep this list updated with all the post-mortems I can find. If you know of any I’ve missed, comment or shoot me an email with the address at the bottom of the page.
For what it’s worth, this week I also added three more short stories, if anyone still does fiction!
Until next time… *Batman swoosh*
One commentby AncientCardsTeam (noreply@blogger.com) on January 28, 2012 11:06 PM
by Andy Moore on January 28, 2012 07:22 PM
I’ve gotten a lot of EMails over the last few days demanding to know how I can make mobile games on a PC. Some ask about Android, most ask about iOS, and everyone is all jaw-agape that AS3 code runs on these devices in some sort of native format (as opposed to in a browser instance).
Then they get all wobbly in the knees when they figure I’ve done it using completely free software.
There are plenty of (IMHO: Over-complicated) tutorials out there, and my knee-jerk reaction is to just … well, LMGTFY. After all, I didn’t divine this knowledge myself; it came with a bunch of research, and thankfully following the path of other people.
I think I can simplify most of the tutorials though. Check it out.
These steps are for Windows operators only. The software listed here doesn’t play well in Apple environments, but then again, Apple users don’t have a lot of the iOS-related problems I do in the first place.
When I say “install FlashDevelop” I mean for you to install the latest version (4.0.1 RTM at the time of this writing). This is important: the next few steps don’t make any sense if you go even 1 version older. Also, don’t mess around with the default install folder, and don’t mess around with what sub-components are selected in the installer.
FlashDevelop is a development IDE, similar to Flash CS or FlashBuilder, except this one is free. After it installs, it also goes ahead and installs the Flex SDK (free flash compiler) and the Air SDK (the magic bit that makes it work on phones) automatically for you, and then links it all up internally – saving you like 4 dozen more steps.
This one’s easy. Open up FD, select “NEW PROJECT” from the “Projects” menu, and select “AIR Mobile AS3 App” from the list of templates. This is the magical step that will auto-generate for you a bunch of instructions, batch files, certificate directories, and everything else you’ll need to get going.
You don’t need to even bother writing a quick “Hello World” application, as this template should compile immediately for you. Just hit up “Project > Project Properties” and give the app a bright pink background, then hit F5 and watch it run on your PC.
Yup, at this point, only at Step 3, you’ve already got your mobile-device-simulator installed (a cheap AIR projection version anyway), and you can start developing your application.
The best part about FlashDevelop’s mobile project template is that it includes two text files in your project directory:
They’re both around 6-steps long, and in painstaking detail (with web links, references, and cited blogs) tell you exactly how to get your app working on your mobile device.
After following those instructions, you’re DONE! That’s it! You are now making games that compile and run on the precious iPads of the world.
Now, those extra text-file steps can be easy (if you’ve setup certificates and things before, or have your phone drivers installed), or they can be new and intimidating. So I’ll outline some of those steps here. I’ll start with Android to give you a baseline of what the experience could be like:
There’s a link included right in the readme file to a website that just asks “What kind of phone do you have?” and points you to the appropriate download location. Easy as pie.
Don’t forget to turn on “Debug mode” on your android phone at this point (Settings > Applications > Development menu).
Obviously you only need to do this once.
FlashDevelop automatically made a “generateCertificate.bat” file in your project folder. Run it. Yes, it’s that easy. And yes, this only has to be done once as well.
Plug your Android phone into your (rear) USB ports, then edit “run.bat” in your project folder. There’ll be a little commented-out section that says:
goto desktop
::goto android
::goto ios
Just comment out the desktop line, un-comment the android line, hit F5, and BAM.
You’ll see your game fire up on your Android device.
I am serious, it is REALLY that easy.
iOS setup is a teensy bit more work; it requires the installation of Open-SSL (or an equivalent if you don’t already have one installed) for certificate generation. And it requires you to pay $99 to Apple if you haven’t already, and requires you use their development portal to generate keyfiles and things called “mobile provisions.”
You see, Apple is terrified you will take a compiled application, and put the .IPA file up for sale on your own website – circumventing their internal app-store. To get around this, they require that all your beta/in-progress software specifically list each device you are intending on testing it on. The only way around this is to sell the app through the app-store.
A “provisioning certificate” is an encrypted file that contains all the unique device IDs, and your unique game ID, all in one place. When you compile you’ll need this certificate.
But, you only have to do all that setup once, and not necessarily per-project. And again, those steps are clearly detailed in the included readme file. Take it step-by-step and you won’t mess anything up.
The final step here could be you installing iTunes, and trying to install your app there and transferring it to your iDevice. I highly recommend signing up for TestFlight instead; it’s totally free, and it removes a dozen headaches and makes this whole step way easier, and allows you to easily distribute the builds to your partners/beta testers. I don’t even have iTunes installed on my development laptop.
For Android, there’s not really any extra steps here; just upload your finished product to the marketplace. Done!
For iOS, there is one unfortunate final step. Apple decided to remove their webpage-based upload-to-app-store feature several months ago; you do need (at this time) access to a Mac simply to upload your .IPA file to the developer portal. But that’s all it is: uploading a file. If you have any friends that own a Mac, you can just beg/plead them to do it for you; or maybe by the time you are reading this, us PC developers will have finished writing another work-around.
Frustrating, I know, and I hope this won’t be a problem for much longer.
It takes 3 very easy steps to get started developing mobile apps.
It takes 3 additional (very easy) steps to get starting pushing it to Android devices, or 5 additional (annoying) steps to get it pushing out to iOS devices.
And one final step to sell your application in the marketplace.
by Andy Moore on January 28, 2012 09:40 AM
I’m taking on a side-project from my side-project this weekend in celebration of the Global Game Jam. They’re a bit related, though!
GGJ does its best to help spice things up a bit by posting not only a theme, but also “diversifiers.” Diversifiers can be thought of as challenges or achievements to strive for you in your game development, and are usually a diversion from “standard” gameplay mechanics. I particularly like them as they spark my imagination.
The list of diversifiers this year was full of inspiring angles on gameplay (even if they are a bit technically heavy this time around). The ones that jumped out at me were numbers 3 and 4:
3. Asymmetry
(Every player is different)
The game requires more than one player, but each player has entirely different goals and rules.4. Collaborative Casual/Hardcore
(Two players: one casual, one hardcore)
Collaborative play for two, but one player has more to do than the other (or the difficulty level is different between them).
I’ve been on a recent co-op kick; the barren wasteland of co-operative video games drove me to board gaming, where I’ve been having a lot of fun. I’m often pining for titles I can play at my computer – and with my girlfriend, who has significantly different tastes in games.
This particular mixture of asymmetry, differing skill levels, and my own personal desire for co-op play, seemed to open up several doors in my imagination. Maybe I could fill this void! Llamas to Space was born!
I’ve been developing for mobile devices for the last week, but a lot of my time spent has been learning the ropes. I feel like I know enough now to make something much faster than before, if I build on what I learned. I decided right from the start that Llamas to Space would be:
I hope that mix will make engaging gameplay, encourage discussion between players, and be a fun game that can be shared across diverse gameplay preferences.
I also settled on a bit of a backstory and plot to help guide the style and development. I’ll save that for later. :)
I slapped together a few placeholder pieces of art, and set out to do what I do with all my jam games: learn something new.
The first thing I needed to tackle was handling simultaneous touch inputs for two different players. This is something I’ve never done before, wasn’t sure was possible using AS3/AIR, and I definitely had no way of emulating it on my PC dev environment.
After some scouring of the internet I figured out how the touch event listeners worked, I got my first tech-test app built surprisingly fast! Took me about 30 minutes to have the basic arena setup with two player inputs being tracked seperately.
I actually spent much more time figuring out how to work around the PC emulation problem. I can’t develop very quickly if I have to push a build to my iPad every time I compile. I didn’t find a good solution so I just hacked another layer of mouse event listeners on top of everything else. It’s messy, but that’s what gamejams are for: messy code!
All in all, I only put in 3 hours of work today (we had a late start and some technical issues at the GGJ venue). But I manged to pull off this:
Glorious programmer-art! The brown line is the divider that cuts through the middle of the iPad screen; one player plays on the bottom (cropped in this photo), the other player plays on the top.
What I’m demonstrating here is a basic “castle defence” style of gameplay; badguys stream in, and you have to repel them by hitting them with lobbed mortars (missle-command style, I suppose). I’ve got a lot of ideas for making this a difficult, unique action-gameplay experience. For now, I’m happy to say that player 1 actually has something to do, with actual win/lose conditions!
I’m also excited to have implemented what is, essentially, mini-blitting for the first time. The backdrop gets “stamped” with death and crater images; they aren’t unique gameplay objects, and they don’t fade with time. I’m guessing the battlefield will be pretty piled up at the end!
I haven’t worked on player 2′s game yet so I’ll save that for another post. :)
Hope everyone else is having fun at GGJ this weekend!
by Colin Cupp on January 28, 2012 12:24 AM
This week’s Flash Game Friday winner is Greens Survive Only When Reds Die by Oleksii Zagorodnii!

You have to love a game with instructions in the title, and this title pretty much says it all- Greens Survive Only When Reds Die!
The object is to get the green guy through the door. Problem is, you have to make sure to kill the red guys in order to get the door open…without killing the green guy, of course!
Greens Survive Only When Reds Die is a great platformer witha unique gameplay twist- congratulations Oleksii!
There is one person in my team, this is me :). I live in Kyiv, Ukraine. I do programming and art by myself, but I know nothing about writing music, so the music for most of my games is created by Alexander Ahura. He is a really great composer and I’m happy to work with him.
I’ve been making (actually, trying to make) games since I was in school. Back in those days I used Game Maker and then BlitzMax, but never actually finishing anything. I completed my first Flash game in the summer of 2010, and since then I have created six more games, all of which can be found at my site: friedpixel.com.
I really love platform games and wanted to create something original and fun in this genre. The idea of playing with lots of characters at the same time looked promising. However, I saw a few released games where players controlled several characters simultaneously, so I decided to add a twist, and make some of these controlled characters ‘bad’, setting a task for players to kill them.
The main challenge for me is my laziness. I’m not a full-time game developer. I have a dayjob and sometimes it’s very difficult to start working on a game, especially when the prototype and all of the experiments are done and there are lots of things and polishing to be done to complete the final version.
I love to create different arcade and platform games. I also enjoy playing platform games in Flash and on mobile devices the most. Sometimes I also play some big AAA games on XBox, the last were Gears of War and Skyrim.
Usually it takes 2-3 months to finish a game. There is not so much work in the type of games I create, but I can’t spend a lot of time on them. There is no particular process; I just do the things that need to be done to create the game.
I really admire indie developers who create original and fun games, especially those who share their experience and help less experienced game creators. I would name Adam Atomic (Canabalt and Flixel, my favorite Flash engine) and Johnny-K (Cover Orange, Ragdoll Cannon).
At the first stages of development it’s really fun to try new things and see how game mechanic starts working. Later, when the game is released, I like to read reviews from players on different sites. It’s really great to know that some people from the different corners of the Earth like your creation.
Everyone is making mobile games now. I thought that I also may try to create something in this field and started new arcade shooter for iPhone with my friend. Unfortunately, we didn’t make it as quickly as we would have liked, and it’s still a little too early to draw any conclusions about the success of the game.
Thanks Oleksii, and congratulations again on winning Flash Game Friday!
© Colin Cupp for MochiLand, 2012. | Permalink | 2 comments
Add to del.icio.us
Search blogs linking this post with Technorati
Want more on these topics ? Browse the archive of posts filed under Developer Feed, Developer Spotlight, Flash Game Friday, Game Showcase, MochiLand Topics, Publisher Feed.
by Andy Moore on January 27, 2012 09:28 AM
(Check out the first 4 days here)
It’s Thursday! Party time!
In these devlogs I’m trying to avoid describing the core mechanic of the game; I’m not absolutely certain it’s final and I’m still experimenting. So if things seem a bit vague: don’t worry! It’s intentional.
I didn’t get a whole lot done today. Probably only put in about 2 hours of work, but that’s allright. The big changes for today? A brand new game mode, and some tweaks to the scoring and gameplay start/end. Most exciting though: solidified an artistic relationship!
I want to stress here that I put a huge amount of value in artistic direction, and significantly less value in actual artistic execution. Not to be unfair to the more artistically minded, but to be frank: a simple artist is a dime-a-dozen. I get emails from talented folk on a monthly basis; all they need to work is a specific direction, and plenty of hand holding.
For example, you might ask for an image of a penguin. The artists in question might say “sure! but… How big should the beak be? Should the eyes be big or small? What palette do you want to use?”… The level of hand-holding here is very aggravating. It’s like the easiest way to communicate is to just mock-up all the art assets myself and just have them draw over it, but better.
And that’s exactly what I don’t want. Sure, I have preferences and intended artistic themes for my games. But I also have enough experience to know I don’t know what’s best, and I should just shut the hell up and leave it to the pros. This is one of the reasons that I fawn over amazing designers like Greg Wohlwend and Dan Cook so much: They can completely design – from the ground up – a projects entire image, and execute on it with amazing talent and precision. I wish I knew appropriate artistic lingo to drool over them professionally.
Another name to add to that list is Sven Bergström - an indie developer with a lot of passion from South Africa. I’d say he’s a newcomer, a rising star on the horizon – but really he’s just new to my personal network; he’s been making games for longer than I have, and knows a lot more about – oh, let’s say mobile development, than I do. I wish I knew he existed sooner! He’s the one that helped revamp the visual design on my personal blog here a few months ago, and he’s super talented in all that he does. I’m excited to have him on board!
Sven just started working on this mysteriously-titled “Word Game” yesterday, and I asked if he could put together an image to share with you.
Check that out! Character design for the game. This is the first stage of evolution for our lead character! I love reading about this kind of stuff. I learned things today about character design!
When I take a look at most word games, there seems to be two camps.
On one side is the person that likes to find long words. These are the people that like Boggle, or a lazy Sunday spent staring at a Scrabble board. In the mobile space, you pretty much just look at the games that have no time limits or external pressures. The goal is to be your best. I like to put SpellTower in this category.
On the other side is the person that likes action, and would be just as happy dazzling you with an array of 3-letter-words. These types of players tend to play the faster-paced, more hectic games. Games like PuzzleJuice, or tournament Speed Scrabble. Sure, there’s bonuses in it if you have long words, but the score to be gained by just going fast is the prime target here.
I like both styles of play, and I’ve been trying to work them into a single game mode. This has been failing! Balancing long words versus big “combo multipliers” is very tricky indeed. I fought my urges to unite these two camps and instead built a second mode into the game.
Now, without changing any mechanics (just the scoring algorithm), I have two different game modes: one that rewards long words, and one that rewards lots of small words in rapid succession.
One thing that is a common occurance in word games is that brick-wall ending. Maybe you have a word half-spelled, maybe you are massaging your temples as your brain cascades through all the potential letter combinations. Then BAM! The game suddenly ends, your tiles disappear, and you are left holding nothing.
I think this ending is hugely anti-climatic and I really dislike it. I reworked the game to instead allow you one more super-move after the timer expires. Sure, you can sit there for as long as you want and hunt down the best possible word – but in Speed mode, your combo multiplier soon runs out and you’ll not gain much for it. In LongWord mode, it’s the final cherry on top of your sundae.
I’m playtesting this new feature now; I hope some variant of it will stay make it into the final game.
On a smaller, but similar note: the big mean ol’ nasty countdown clock doesn’t start ticking until you’ve actually made your first word. Terrain in this game changes a lot in just a few seconds, so being able to plan out your first move isn’t a huge advantage.
I got TestFlight setup so I can start an actual iOS closed-beta program for the game, and get some feedback before launch. I also made my first iPhone build (so far it’s been iPad only) and I was very pleased to see that the game was simulating nicely without any modifications at all. I’ll have to actually see it on-device before I declare it a success, though.
There’s a few mobile-specific features in the game now too; things I consider housekeeping: rotation locks, proper (mockup) icons and loading images, pivot behaviour hooks, specific code for android “back” button mis-presses, and customary stuff like remembering to pause the countdown timer if you swap out of the game (and reducing the game to 1FPS in the background, so it doesn’t suck up your battery). Whenever folks talk about mobile development having a lot more “gotchas,” this kind of work makes it seem very true. However, I did all of these tweaks in about 30 minutes of code. The only trouble they’ll give anyone is if they simply forget about them before launch!
I think the most notable thing about today is that I spent way more time playtesting than I did coding. I think that’s a very good sign.
by pozirk on January 26, 2012 04:26 PM
It’s been awhile…
So, I have added Gaps Solitaire to All-in-One Solitaire game.
And I’m planning to add at least two more solitaire games: Spider and Free Cell.
I have moved website to another hoster, so it took me some days and nights to configure my first self-managed VPS.
We are working “hard” on Dolly The Sheep game.
There are still not all the graphics ready, but we are making levels already.
I think, I will be able to release a couple of smaller games, before we finish with DTS.
Here are some videos with gameplay:
by Andy Moore on January 26, 2012 04:43 AM
Hey everyone! I haven’t spoken a lot about game dev recently, but I started doing a side project and thought it would be good devlog material.
Last Saturday (January 21st) I topped off my evening by rocking all the high score tables in the new word game, PuzzleJuice. I really love that game, and as I drifted off to sleep that night I started thinking about how easy it would be to make a word game of my own.
(EDIT: My girlfriend informs me that I had the idea a week before PuzzleJuice, but my brain has re-written history and I don’t believe her.)
I mean, how hard can it be? Get a little dictionary of words, spell some things out… Should be no problem, right? I decided to find out. Laying there in bed, I wasn’t heart-set on releasing a commercial product; I just wanted to see if I could make something up quick.
I spent my morning coming up with a theme. I wanted something casual and cute; my girlfriend suggested penguins as a central theme, so penguins it was! I thought up a quick and easy central mechanic (a variation on a Boggle-like interface) and started prototyping what was initally dubbed “Word Fishing.”
I spent a lot of time toying around with different UI design elements, and fleshing out the codebase for what was to come (game-jam style, not proper-engineering style). I only put in 3 or 4 hours this day, but it was good start. Most of all, I got a bunch of research done on what lay ahead of me.
On Monday I setup my first dictionary-lookup chunk of code – an older, out-of-date word database with an OK search algorithm. The best part was that it was mostly cut-n-paste from some fellow devs – it pays to network!
I then moved on to actually implementing the gameplay. I got some temporary art in place, implemented a simple mouse click-to-select interface, and was able to actually play what I had envisioned less than 24 hours before. Hooray! Prototype #1: Complete.
As I was playing the game into the evening, I was surprised at how fun it was. I mean, I love Boggle to start with – but this new twist on mechanics seemed to be playing out really well. There was no timer implemented yet, so it felt somewhat freeform… That would go on the to-do list.
It was around this point I decided to make this a proper commercial application!
Knowing a word game would work much better as a mobile application, I started eyeballing my 2-year-old Nexus One (Android phone). I’ve never made a mobile application before… could I do it?
Monday night was spent downloading Android development interfaces, debugging tools, and drivers of various sorts – the whole time being hand-held by the wonderful FlashDevelop documentation. That’s right, I just pressed “New Project > Mobile App” and my folders came pre-stocked with all the batch files and automated certificate generation routines I could ever want.
I got the app working fine in the Android simulator on my desktop, but I couldn’t manage to get it over to my phone… Very frustrating. But still, I put in about 6 hours of work this day, and I’m starting to get really stoked.
The first thing I did on Tuesday morning was fix my deliver-to-phone problems. Turns out it was really stupidly simple: the USB port at the front of my computer wouldn’t maintain a debug connection to my drivers. Everything else worked fine, but moving it to the back panel solved all my problems. Sometimes computers are really really frustrating!!
I was avoiding implementing a touch-friendly draw-to-spell interface (it just felt like grunt work!) but I managed to pull it off with just an hour of work. I patched all the memory leaks, converted all my graphics to cached bitmaps, switched my phone to GPU-rendering, and generally worked on mobile optimizations. For my first stab at doing all of this, it was much, much easier than I expected.
In the evening I implemented some visual pizazz – particle effects, simulated gravity for falling blocks (instead of prototype-instant-teleportation), and other things that just give the game a bit more “crunch.” It was around this time I started looking for a proper artist to dress the game up for me.
I topped the night off by updating the dictionary words to the official, tournament Scrabble word list (the tournament version includes naughty words, unlike the home version).
In total, the day was probably 7 or 8 hours of work, and the Android app was running really nicely on my older Nexus One. My thinking was, if I can get the game performing really well on that old equipment – I wouldn’t have to worry about further optimizing for newer equipment.
After not getting enough sleep, I spent Wednesday morning trying to cut down on the CPU overhead. One of my best optimizations was rewriting the dictionary search routine – now implementing a Binary Search Algorithm. I also implemented “live spellcheck” (it detects proper words while you are spelling, instead of waiting to search after you’re done), which changed the game a surprising amount.
More mobile optimizations in the afternoon – in this case, the simple act of deliberately manipulating the frame rate to very low numbers when there’s no action. Other than saving CPU time, this also has the benefit of not bleeding your mobile battery dry. No reason to render the motionless Main Menu at 60 FPS!
In the evening, I finally bit the bullet: I signed up for the $99 Apple Developer account, installed iTunes, and created some certificates. With only 2 hours of work, I had my first-ever iPad app running on my device!
Of course, transitioning my app from the smaller-screened Nexus One to the larger-screened iPad2 unveiled a bunch of scaling errors I made in my code. I spent the bulk of the evening fixing up all of my dynamic-screen-size handling classes and trying to make things pretty.
And that brings us up to date. It’s Wednesday night as I write this! I’ve put in about 6 hours of work today and the game could be launched in the app-store right now, if I wanted to shoot myself in the foot marketing-wise.
Now that I’ve got the last few days out of the way, I’ll try to update my blog once-per-day with more details on what’s going on.
I think it’s really exciting that I was able to take my AS3 coding skills and a free IDE (FlashDevelop) – and use them to generate a market-worthy Android and iOS application in just 4 days of part-time work.
by Daniel on January 26, 2012 12:07 AM
by Andy Moore on January 25, 2012 08:33 PM
Global Game Jam is coming up, and that reminded me: I still haven’t talked about my last jam game! I made a video here (the first 3 minutes is talking about game jams in general, the rest is about the game):
So the last half of the video there, I start summarizing the new things I’ve learned with Project Corona. Here’s a list:
Anyway, if you want to check it out, here’s a link to the last build I made. It’s meant to run 800×600 or so, so if your browser window is huge you might have to resize to get the right performance out of it.
Some tips while playing:
I’ve pretty much abandoned the project at this point, but I still go and play it once and a while. Let me know what you think!
by Rich on January 25, 2012 05:44 PM
by Joe Willmott (noreply@blogger.com) on January 25, 2012 11:18 AM
by Vlad on January 25, 2012 12:15 AM
Hi everyone, Vlad here.
Let me start by saying that the title is a bit misleading. For starters it is not an actual bout but more a decision making process. It also gives the impression I’ll write more about this or that I have some kind of plan about this subject. I don’t, it just happens that I think I’ll travel this road again.
The game design for this game states that:
1. The player’s objective is to reach the top of the “structure” (named just to make sense) where the action rolls;
2. The “structure” has several “floors” (again just for easier comprehension);
3. The player can fall to the previous “floor”;
4. It is guaranteed that the player will see at least three “floors”;
One thing that I know for sure is that we will be blitting all graphics and that the player token has three different blit objects and two of those rotate thus negating copyPixels and putting the dreadful draw method to work.
Another thing I know is that each “floor” is a tilemap, also blitted and that each tile is 64×64.
And now the assumptions begin. How big is each “floor”? I have no idea but let’s say that a rather large “floor” has 50×50 tiles. If the player will see at least three floors and on later stages all “floors” are rather large we are talking about 7,500 tiles to be rendered with a astonishing number of 30,720,000 pixels to be copied… each frame.
The “floor” where the player is will only render the tiles on screen (88 max) but the other two lower “floors” can potentially be fully rendered given the camera specs. Even if all three “floors” only rendered tiles on screen (which won’t happen by design) there would still be 7,500 objects to manage and that’s tiles only since we need to add to this all the remaining entities: player, enemies, decorations, effects, etc, but to make it worse the bottom two levels will be zoomed and probably in full view which means not only that all their blit objects will be visible but also that at least 5,000 of those objects will use draw instead of copyPixels… Did the headache kicked in already or is it just pure performance insanity?
One of the great things about copyPixels is that it only renders the intersection between the target bitmapData rectangle and the source rectangle positioned at the destination point. What this means is that if we have 1,000 objects to render but only one actually has an intersecting rectangle, most of the processing time is running the array, vector or list and – more important and processor heavy – calling the functions that will in the end render.
The draw method also does this with a matrix… more on this later.
The solution was to write a BlitTileMap class that builds the tilemap in one big texture before it is used. While it uses much more RAM this class allows to address pretty much every problem stated earlier.
First and foremost the number of objects managed and therefor the performance lost with running their container (in our case, a linked list) and calling functions. From a potential 7,500+ we now have 3. The other issue that this addresses is the number of pixels it will render or try to render, from potentially 30,000,000+ to the worst case scenario of 1,050,000. And last but not least, considering the lower “floors” will be zoomed out, instead of using draw to render 5,000+ objects it will render… 2!
But the draw method also has a funny and helpful consequence. The smaller the scale, the faster draw executes which in terms of performance is relevant considering the zoom out will be achieved through scale. Less objects taking less time to render will be (I hope) quite a performance boost.
Did I just write all this? Wow!… Later!
by Justin on January 24, 2012 11:24 PM
War has raged on for centuries between bees and bears. Bears always come for more honey and the bees can do nothing but sting them softly and hope that they go away. Not this time! This time the bees are taking over and ensuring that the bee civilization, not bears, will dominate the land. Will you be up to the challenge? Let’s find out!
by Dan (noreply@blogger.com) on January 24, 2012 11:29 AM
![]() |
| Nothing says awesome like illuminated push buttons. |
![]() |
| The new buttons for switching inventory modes harken back to 80s Mercedes dashboards. |
![]() |
| New title screen! |
by Colin Cupp on January 23, 2012 10:17 PM
This week’s Flash Game Friday winner is Orbits by Andy Brown!
Orbits is a really well-made physics-based puzzler. You are a ship, and you have to propel yourself to the target on the planet. As you complete this task, you advance to the next level. You start in Autumn, and work your way through Spring, Summer, and Winter, each with their own design and music.
So, just aim for the target right? Well, it isn’t that easy. There are a certain amount of moves it should take you to complete each level, and you gain points for coming in at or under “par”, so keep an eye on your click level. If you go over your click level it is very bad for your score!
Obstacles also get in your way, where you need to go around them just to get close to the target. Coins are available throughout the game, which you can collect. You can use these coins to upgrade your ship. There are also 20 different achievements waiting to be unlocked!
Orbits is a well-made game with great artwork and fun game mechanics. Congratulations Andy Brown!
We have three people on our team right now, Sam, Chris, and myself. Sam does artwork and design, Chris does the music, and I do the programming and whatever else is needed. I currently live in Northern Idaho, USA.
My first released Flash game was in 2006, but I started making games a few years before that, and designing them long before that just drawing out concepts on paper. I didn’t do anything before making games, I was making them while I was still in high school.
This was actually the first game that I’ve made where I did not come up with the original concept. I asked the designer / artist of the game and he said: “It just.. came to me *adjusts sunglasses*”.
There were a few new concepts in this game for me that took me awhile to get working how I wanted. The gravity mechanics and the bouncing mechanics took me the longest to get right without over complicating the whole process.
This is a really hard question for me, as I like playing and making almost all genres of games. I think I have the most fun making games with randomly generated content, because then I get excited when seeing something new every time I playtest it. Lately I’ve been playing a lot of Skyrim, so I will just leave it at that for what I play the most.
My game creation cycles vary for every game, and gets shorter as I master more techniques. Orbits took us nearly six months to make and polish. My process usually consists of coming up with a game idea, brainstorming with my co-workers and friends, writing down the best ideas and then just start making the game, adding in new ideas and crossing out others as the game continues development.
There are actually quite a few! Shigeru Miyamoto, John Carmack, Gabe Newell, and Tim Schafer would be the ones I admire the most. What is it about making a new game that you enjoy most? My favorite moment is when I’m struggling with a new idea and I finally get the idea working in the game. It’s a very rewarding feeling to see your ideas come to life.
Yes, I do! I’m currently working on a couple projects.
The first one is a platformer where you play as a ninja and is planned to play like a distance game where you must keep running to the right with randomly generated obstacles, collect coins, and purchase upgrades.
The second project is a RPG where you are stranded on an island and need to survive by foraging, crafting, and killing wild animals. This one started as a Ludum Dare 22 project and I had so much fun with the idea that I decided I would flesh it out and make a full game out of it.
Thanks Andy, best of luck to you and the team on your upcoming projects!
© Colin Cupp for MochiLand, 2012. | Permalink | No comment
Add to del.icio.us
Search blogs linking this post with Technorati
Want more on these topics ? Browse the archive of posts filed under Developer Feed, Developer Spotlight, Flash Game Friday, Game Showcase, MochiLand Topics, Publisher Feed.
by admin on January 23, 2012 09:43 PM
If you are into Casino style games, and like a bit of puzzle mixed in, you should try out game 'Roll a Die'. It is one of
our self-sponsored games and is free to play, maybe even click an ad, apparently it brings us money (I guess time will tell).
If you enjoy a bit of gambling on the side, maybe also try out Party Poker, they'll even give you some money to start you off.
Not quite indie gaming but a fun multiplayer game to fill in those spare minutes.
by Vlad on January 23, 2012 08:16 PM
Hi everyone, Vlad here.
Yeah, I know… long time, no writing. 2011 started great, didn’t finish that well for a lot of reasons, mostly unrelated to Vortix but we are catching up and have some stuff rolling. Here’s a quick update.
As you might have noticed in the last post Marco and Pedro are working on some cool stuff that involves kicking, punching and 3D!
In the meantime I’ve been messing around with some cool stuff too. First and on top of our priorities is a new game that if it is as fun to play as it is challenging to put, should be a great game. I’ll post my thoughts on some of the challenges we will face as we walk the dev path.
But that’s not all… Doing R&D has become almost a hobby of mine. Weird to have a hobby that involves coding when I’m not coding but it’s fun and I admit that I like to maintain codebase and have codebits ready to evolve when needed.
I’ve played around with client-server stuff, dual-screen stuff, multi-platform stuff. Right now multi-platform is my main focus and haXe and NME the weapons of choice. This means that I have a lot of duplicated code but it’s getting pretty!
And this is the quick (or not) update and the promise of more blog posts with less interval.
by admin on January 22, 2012 09:53 PM
With Zomboy on the way we get to pick a new project soon! We might try and get away from tile-based puzzlers - maybe a physics puzzler? A defense game? Hmm, we have a couple of very interesting ideas already, now to choose which!
by Joe Willmott (noreply@blogger.com) on January 21, 2012 08:39 PM
by hlarcher on January 21, 2012 11:37 AM
Sometimes you need something else to be shown on the screen besides just a TableView, maybe you want a search bar at the top or a ToolBar or a bunch of other elements. In this case using a UITableViewController as your view won’t do it. This is a simple guide of one way to solve this (I’m sure there might be others).
I’m using Xcode 4.2 and storyboards on this one although it doesn’t really make much difference in this case, working with xib files would be very similar.
First, for the view instead of using a UITableViewController use a UIViewController, drag it to your storyboard (hook it up with any existing scenes you might already have) and then find the TableView object in your library and drag it inside your view (be careful not to confuse it with the UITableViewController).
Now create a new file of type UIViewController subclass and call it whatever suits your app (I’ll call it DetailViewController for the purposes of this guide) and in your storyboard select the new view you created with the TableView inside and in the “Identity Inspector” set its class to DetailViewController by selecting it from the droplist.
Now since you want to control your TableView from within the view you need to implement a couple delegates so open up your DetailViewController.h file and change the interface line to:
@interface DetailViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>
Next you’ll want to hook up your TableView to your view by creating an IBOutlet for it, you can do this by going to the storyboard, making sure you have “show the Assistant editor” with DetailViewController.h open and crtl+click and drag from the TableView to your code and call it myTable (something else if you want).
Your DetailViewController.h file should be looking similar to this:
@interface DetailViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> @property (strong, nonatomic) IBOutlet UITableView *myTable; @end
Now if you did this like I said from dragging it in the storyboard you should also have a line like this in your DetailViewController.m file:
@synthesize myTable;If not then type it now. If you try to build now it should succeed but you’ll have a few warnings because of protocol methods missing in the implementation. This means that since your view is your TableView’s delegate it is responsible for implementing its protocol and there are lots of methods in it but only a few are really needed for now. In your DetailViewController.m put in the following methods:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 1; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return 1; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; } // configure your cell here... return cell; }
You might also want to implement other delegate methods like – (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath but that’s beyond the scope of this guide.
The last step is to hook up your view as the TableView’s delegate and data source. To do this open the storyboard file, select your TableView and go to your “Connections Inspector” and drag from dataSource and delegate to your ViewController.
That’s it, you might want to customize your TableView, its cells and put in the other elements into the view now, have fun with it.
by admin on January 20, 2012 09:07 PM
Another week goes by and this one has been (mostly) dedicated to getting Zomboy to an ugly stick figure stage! He's getting there, we're aiming for it to be up on FGL the end of the month and hope it all goes to plan, but so much content to fill out!
Also, Moir's been ported to HTML5, so now that too goes in front of sponsors!
by David on January 20, 2012 04:42 PM

In the past few weeks we have been making the most awesome computer card game ever. And what’s more: It’s our biggest project yet!
From a coder’s point of view the most daunting task is to create an Artificial Intelligence (AI) that is challenging, not impossible to beat, with different difficulty levels and, most important of all, to be fun to play against. Truth being told, I’ve never coded a single line of anything resembling AI in my entire life, but luckily I’ve always kept an AI book from my college days (yes it’s collecting dust in a closet).
I’d like to summarize the AI basics of the process to create an intelligent agent (something that is capable of resolving some task in an efficient manner). Every agent perceives data through sensors and is capable of taking actions in response to that information. Those actions are aimed to reach a specific goal.
Here’s a list that gathers all the design information of the agent
Percepts
Actions
Goals
I’ll be expanding this post as I find interesting stuff in the AI book.
by Porter on January 20, 2012 04:34 PM
Have you ever made or played a game that had so much potential, but it just fell short of excellence for one reason or another? The answer to that is yes, whether you know it or not. Every year, tens, if not hundreds of games are released that had the potential to be something amazing, but weren’t. These games reached for the highest level of success, only to fall flat on their faces as another decent game in an already existing flood of just that. When it comes to a nearly great game falling to this fate, it’s generally because the developer just didn’t see a few small faults that were completely ruining it, or a few elements that if evolved upon in the slightest way, would have the world raving about how great it was. These issues can range from clunky interfaces, to a slight lack in enemy variation, to the sound effect volumes not being properly balanced. Regardless of the woe that brings upon this unfortunate reality to many games, there are ways to stop it.
Beta testers are not only helpful, but a necessity in game development. You can be as proud as you’d like, but without multiple eyes viewing your game once it’s “done”, your game is going to suffer some major post-launch failure. There are always bugs, and there’s always room for improvement, and while there is a time to call it quits and say the project is done, that time is far beyond when you first say your game is complete. This is where things get tricky. So you’ve finished your game, and are now getting feedback from some anonymous service such as FlashGameLicense’s “First Impressions” system, a closed group of players from a popular web arcade such as Kongregate, or just a bunch of your close friends and family. While this is great, and these people will definitely spot some issues with your game, there is one extremely large flaw with this process, most players don’t know what’s best for a game.
If you’ve ever released a game, you’ve surely read hundreds if not thousands of feedback comments on your hard work, both praising you, and criticizing you. Quite often, you’ll find people suggesting changes for a sequel to make the game better. While all of these suggestions should be read, and considered, it takes a very rare skill to truly know how to design a game. Adding something new to a game formula might seem amazing, but much like chemistry, even awesome additions to an already stable compound could be devastating to the overall product (think meth, and mercury fulminate!). If you’ve done your homework as a game developer, you’ll know that many players just simply don’t know what’s best for them. They may have ideas that are heading in the right direction, but they are completely blind on how to fine-tune the experience in a way that is truly harmonic with the rest of your creation. This is where I come in.
I offer two services, but feel free to mix and match, or request a custom job if you feel I’m fit for it. Both services generally require only an hour or two of my time, but if you have a more in-depth project that requires more time, that’s not an issue. I’m currently supplying this service to any game I can run, which includes anything on a PC, or Android device.
* In addition, if your game is up on FGL, I will supply you with a 15 minute screencast of me playing your game, allowing you to see exactly how a player plays. *
The first service I offer, is a game reviewing service. The way this works, is that I’ll play your already “completed” game, and break it down in every way possible. I’ll give you a lengthy, detailed write-up in multiple formats outlining everything from gameplay, to audio, and everything between. You’ll receive detailed information on what works, what doesn’t, and how to improve all aspects of your game. Common issues addressed contain, but are not limited to, level design, difficulty curves, unbalanced enemies, interfaces, audio levels, fun factor, controls, etc. Think of this service as the ultimate QA. You’ll learn the vast majority of what thousands of players will nit-pick (or sometimes tear apart) about your game after release, through one person.
The second service I offer, is being your idea man. You show me one of your already released games, I play it, then provide you with a mini (though lengthy) game design document for a sequel. Common content for these documents contains, but is not limited to, new enemy types, player types (male and female, races, etc), gameplay modes, powerups, etc. People have shown extreme interest in this service, and the feedback I’ve received has been amazing. This service is costs slightly more than the reviews, as I strongly believe my original ideas are worth more than perfecting your own.
Games have always been a huge part of my life. I’ve been playing games since I was 3 years old and could properly use an NES controller. While many people started gaming at an age as early as mine, very few have done it with as much interest and ambition as I have. I grew up playing Mario, Gaunlet, Time Lords, Renegade, River City Ransom, Shatterhand, Sonic, Street Fighter, etc. For as long as I can remember, I played these games and craved more. However, I wasn’t just playing these games, I was understanding how they worked, and how they could be improved upon or added to. In my youth, no game pleased me to the extent I desired. This lead to replaying games over and over searching for something I hadn’t found, dreaming about additional levels and features that didn’t exist at a very young age, and even drawing pictures with crayons of level designs which my dad would bring in to work and hang for all to see. When I was as young as 5 years old, I was already dying to tell developers how to make their games better, and to make better games myself. This didn’t stop as I grew up, it simply became more intense. I played games as a favorite pass time my entire life, and still do. When I was 18 I realized I had it in me to make them, and thus began my slow and steady journey to becoming a game developer, more specifically a programmer / game designer. It’s this life long ambition that has given me the skills today to both analyze games in extreme detail, and to create my own games.
In addition to this passion for gaming, I’ve been an extremely active reviewer in the flash game industry. On FGL (FlashGameLicense.com), I’ve beta tested these services, and had tremendously positive feedback from many developers. This has earned me the position of the highest ranked “player” account on FGL, as the account with the most positively received feedback posts on games.
I’ve already had the opportunity to work with some amazing developers. Below is a list of a few satisfied clients who have used my services, as well as their testimonials.
If you’re interested in using these services, email me at gc[at]gemfruit[dot]com.
by Juan on January 19, 2012 12:27 PM
A game that ends? What kind of sorcery is that?!
A conversation from the future:
-Remember that game? How was it called? It was on facebook
-TripleTown? CityVille?
-No, the one with… oh! Baking Life! That’s it! It was great.
-Yeah, to bad it ended.
A game that ended, disappeared, it’s not available anymore, it went maybe while you were still interested in playing. It’s something new in an industry in its infancy.
PS. not that that many people were interested in playing BakingLife, but still, it’s interesting.
by Justin on January 18, 2012 08:29 PM
The city is falling under attack! The zombie population is increasing in size, and we are here to defend ourselves against all. The real question is, will you remain uninfected? Better yet, can you find the cure to stop this madness? For more information on how to find the cure, and other updates, click here and ‘Like’ our page. Good luck, and never roam the city alone.
at January 18, 2012 03:03 AM
I picked up the original Uncharted in the pre-Christmas rush for a little more than it usually sells for. Alas, the effort was wasted, since I failed to plug in the disc for well over a month. But hey, now I know that I could have saved a couple of pounds around the deadlines doesn’t make me bitter, not at all. Nope.
Uncharted comes from a heritage of Jak and Daxter games, which are staples of any good previous generation gamer’s collection – certainly, they were in mine. (P.S., Calum, if you’re reading this, give me back Jak 2!) Slowly, Naughty Dog has evolved from producing games with luxurious amounts of platforming and no gunplay, to a climax in Uncharted where there is a fragment of platforming among hours upon hours of dreary shootouts.
Allow me to summarise the plot of Uncharted, without spoiling a thing: you play as Nate Dogg. He hunts for treasure, and uses all his meagre wits to open innumerable secret passages, work out complex puzzles, and generally prove that the Aztecs were fantastically good mechanical engineers. And every time you break into a tomb where no-one has treaded for 400 years, there are bad guys to shoot. How? How do they get into every single chamber before you, when you’re solving all the puzzles? It’s like Nathan is going a complex route, when they just used the stairs. (Hah, I made a reference to my own game. Bite me.)
To kill an enemy, you shoot 10 rounds of ammunition into them. They have no fear. I was playing on ‘easy’, because I’m a wuss and also terrible at murder (is that a positive?), and I would shoot 9 rounds into some guy’s neck. As he stands in a pool of his comrades’ corpses. That brave fellow would continue shooting at me for all his worth, without the slightest worry that he would never see his wife and toddler ever again. Truly, I would love to see a game where you shoot someone, and they go, “ARGH, YOU SHOT ME, YOU ASS,” then hide in the fear that you’ll shoot them again.
The only other method is headshots. Unfortunately, all the high-ammunition weapons have a built-in inaccuracy. The enemy’s eyes can be in the crosshairs, and you’ll hit the wall behind them, and their shoulders, but no head. I surprised myself when I took out a room full of guards with a pistol, rather than my ultra machine gun thingmabob, because the pistol actually fires where you point it – an amazing development, I’m sure you’ll agree.
The making-of videos were hilarious. One of the developers joked that Nathan Drake was supposed to be an imperfect character! He had a straight face. I chortled heartily.
The 5 minutes of platforming interspersed in the 8 hours of shootery is good. If your tastes are anything like mine (and they’re not – I have found nary a person who is as disdainful of shooters as I) then it might be worth picking up for the platforming. Just don’t buy it before Christmas.
2 commentsby Justin on January 17, 2012 10:32 PM
Son of a bee sting! Take a sneak peek look at Joey Betz’s new game he is currently developing. Swarm Control is a defensive strategy game that will definitely grab your attention! Stay tuned for more updates on Joey’s upcoming game!
by Justin on January 17, 2012 10:19 PM
Upgrade your tank and cause maximum destruction! Click here to start quest towards total domination!
by Andy Moore on January 17, 2012 05:34 AM
I first heard of the iOS Game Puzzlejuice via Greg Wohlwend’s blog post on the subject just a few weeks ago. I’m always a fan of the work Greg does (he is the art behind this game, and some of my old games too), and I was looking forward to playing.
I was expecting good things from this game. What I got was a face-full of unexpected awesome from indie developer Asher Vollmer.
The recipe looks a bit like this:
Instead of your Tetris-like rows disappearing when you clear them, they instead turn into letters – that you must make words with to clear from the screen, in a similar fashion to the iOS game Wurdle.
The gameplay is balanced beautifully. I have just enough time - and not a second more - to ignore the falling blocks and spell a few words, before I must switch back. I find myself constantly juggling between Tetris skill-set and my Boggle skill-set… But my Tetris skills are old and rusty, and my Boggle skills are not accustomed to this speed of processing and level of perpetual distraction.
If I was a particularly good player, I might even start paying attention to what colors my falling blocks are – as the match-3 component appears to be pivotal to keeping my score multipliers alive.
Any other match-3 or falling-block games get increasingly stressful and difficult as you begin to lose at the game and screen real-estate disappears. Not so with PuzzleJuice. Being close to failure on the falling-block game probably means you have an entire screen full of letters to string words together with. The longer your words, the bigger their “explosive block-clearing radius”, thus dramatically decreasing the height of your stack.
From where I’m standing, the idea behind Puzzlejuice is to give you three things to think about, which ends up being one too many. – Greg Wohlwend
It’s all about managing priorities. I’ll admit I’m fairly terrible at it now, but I’ll bet in 4 months I’ll be astounding myself with the leap in mental processing I’ve made.
PuzzleJuice isn’t just a well-designed, incredibly-balanced game, though. It’s polished in just about every way. Sure, it has a minor technical glitch or two, but I am playing a pre-release version still in development. Even then, there are some really nice chromed bits – it even has one of those “under-the-finger” pop-up windows that is so useful on touch devices, and yet so conspicuously absent in actual availability.
In pursuit of enjoyable scaling difficulty: you are now guaranteed to have a vowel next to a consonant (and vice versa) early game. – Asher Vollmer
The menus are slick and fast, the design easily leads the eye to where it needs to be, the interface is clean, and the whole ordeal is just incredibly polished. From the font selection, the tone of voice and language used (more on that soon), the pacing, the tutorial, the awesome tunes by Jimmy Hinson, the unlock progression…
This game obviously reflects the ton of work that must have gone into it.
There’s no “OK” buttons or “NEXT” prompts. Everything is spelled out, as if the game was an old friend encouraging you on. I chuckled when I unlocked an item, and the dialogue box was closeable by clicking “SO COOL!”. It’s little touches like this that not only humanize the game, but also help my own mindset on the right path. This isn’t some cold, Russian game of skill - this is a friendly, fun jaunt with an awesome game.
I’m even inclined to call the “Tutorial” the “Introduction.” This game places a hand on your shoulder and introduces you to every single awesome guy at this party.
The one thing I really liked about the iOS game JetPack Joyride (by Halfbrick) was their awesome “Challenges” system. Instead of a long list of possible achievements, JPJ and PuzzleJuice both present you with three clear, distinct goals that you can focus on right now to get to the next level of gameplay.
This kind of direction (and structured design in the challenges themselves) makes the gameplay last a lot longer for people easily distracted, like me.
As a developer, this game makes me feel downright shameful for all the corners I cut. My levels of polish were never this high, not even with SteamBirds or Protonaut (my two most polished games to date). I am humbled.
I hope PuzzleJuice goes on to see a bajillion sales. You should be a proud owner of this gem – even if you are just a developer with no interest in the gameplay, you can learn a lot from the amount of polish and solid design here. As an artist, you can pick up some amazing cues from the art direction. As a gamer you’ll have a lot of fun, actually learn some things and improve your vocabulary and such. And if you just don’t care about any of that? Own it, just to own a part of indie history.
Feel free to add me to your GameCenter list if you want a challenger! My username is “weasello”.
(PuzzleJuice launches January 19th 2012 on the iPhone/iPad/iTouch AppStore)
by Justin on January 16, 2012 03:59 PM
The power of the Heartstone has mysteriously faded and the land of Tempor lies broken from years of civil war. Can you defend your nation against an invading force and unite the seven factions once again? With a rating of 8.1, and over 300k plays, Hands of War is definitely worth checking out. Play it now!
by admin on January 15, 2012 08:29 PM
Awesome, Topsy Turvy 2 is now up for bidding! It's taken a long time but we're finally happy with it and sponsors so far seem to really like it, so wish us luck ;)
We've also made a good amount of progress on Zomboy so that will be complete within a week or two should we keep caffeinated enough...