My review of Kindisoft’s SecureSWF.

For my current game, Rot Gut, I’ve been using Flash and with the inherent bad design of SWF it literally has all the source code and assets inside the final SWF. So if anyone wants, they can easily see your code and do bad things with it which in Flash world is usually hosting your game on the sites that have no right to do so. I can elaborate more on why this is the case with SWF and not with regular EXE files but I think it will bore the audience a bit but just know that EXE files are “compiled” from source code thus the source code from it’s text type is turned into binary that is understandable by machine, even though that can be understandable to humans and goes to topics of reverse engineering but that’s clearly way beyond scope of this blog and this review. Just know that in SWF files anyone can view your source code or open up your assets with a simple flash decompiler, which is bad.

There are ways to solve this problem but one that is mainly used is some category of software called Obfuscators. Obfuscation is generally the act to cipher your code so when seen can be hard or next to impossible to understand to humans. (Note that it still can be de-obfuscated by some other special software but that depends on if anyone wants to go that far to do that so basically depends on the project). That’s where SecureSWF comes into play.

Even though I generally love Open Source movement by all my heart, since my current project is commercial, I had to go after some mean of explained matters as it will be required by sponsors. After all no one wants to pay for a software that any can steal easily. I tried many different obfuscators, from ones that is used for JavaScript, as source code of JavaScript is always on player’s browser and with an easy “view source” anyone can view source code, there are obfuscators for JavaScript as well, to several ones for Flash but I find SecureSWF to be the best among them for several reasons:

1- First and foremost is the degree of complexity in the generate obfuscated code. Even though that I’m the only programmer on our game, I really have a hard time even guessing what part of the generated code by SecureSWF is representing.

2- Another important feature of SecureSWF is Domain Locking / site locking. Site-lock generally restricts your SWF file to run from list of URL(s) that you provide and is essentially needed when you sell a game to sponsors on sites like FlashGameLicence.com because no one will pay you for a game that someone else can steal and host on their own site.

3- Usually flash games have advertisement and those ads are communicating with their host via specially created keys which are literal strings. SecureSWF has a section to protect your sensitive string literals such as these but make sure to create a function that assign these values because that’s the only way they will get obfuscated.

4- If any part of your code can’t be obfuscated or is sensitive to obfuscation and breaks, you can define several degrees of obfuscation to it so if it breaks you can lower the degree until it works, which is great as you can do this for every part of your project.

I can say that there are still room for it to get even better, as I mailed some of them to the developers and hopefully they will be noted, but generally I really liked and enjoyed the experience. For example since flixel uses some hack to read input, any obfuscation on that part will break your game so you have to know to quarantine org.flixel.* from your project or any other library that is open source, after all there is no need to obfuscate an open source framework. So some template for some widely used stories would help newcomers as there are forum posts that people have no idea how to fix such things.

As the end of Flash is nigh and HTML5 games are starting to emerge, I still see future for programs like SecureSWF. Because as slightly noted at the first part of this post, HTMl5 games’ source code is vividly available to the end user so there is an absolute need for programs like SecureSWF to do so. I’m yet to see one for HTML5 games but I’m sure people like Kindisoft will use their algorithms that they’ve been using for securing Flash’s actionscript to work with JavaScript as well.

At the end, I’m posting my project’s config file’s screenshots so anyone using flixel with SecureSWF can easily config their project:

Kindisoft’s SecureSWF comes with 3 different versions that you can see their differences here.

I would be glad to answer any question or read any comments regarding this! Also their customer support was very responsive and informative and helped me to get me started, so feel free to use their support system as well.

Hope this review will be useful and thanks for reading!

If you want to buy it, you can use this coupon “FGL25” to get %25 discount on your purchases!

Carmack’s reply!

As I’m finishing up my game, Rot Gut, these days I was trying to remember all the people helped me during the process to at least thank them in the additional credits page. As I was remembering people, I remembered how at some of the hardest parts of last year that I mostly spend on learning flixel and developing Rot Gut with it, one of the most inspirational videos that I used to watch, as always, were Carmack’s talks on several occasions, from old press conference of ID Software at a tiny room that he is asked by journalists about whereabouts of DOOM to Visits to ID software videos up to E3 demos featuring RAGE on PC/PS3/XBOX360 running at the same time to his invaluable QuakeCons that gave me energy to see how people are doing such great stuff and thus how my problems perhaps have solutions.

If I want to talk about my deep love towards id Software I have to go on and on and this post will probably never end so as it’s 4am here let me cut to the point today out of the blue I thought to tweet him and ask if he would give me permission to state his name under “Lifetime Inspiration” and then the most amazing thing in a very long time happened, he replied with a very very very modest reply “I would be honored”.

My jaws were, and to be honest with you still is, dropped on the floor. He is co-founder of id Software with 54k followers on tweeter and just tweets once or twice every 2-3 days.

My words cannot express my feelings, so I think I better stop typing and just leave you with the screenshot I made from that tweet:

Rot Gut’s OST is now avaliable for sale!

Hi,

Our latest game, Rot Gut, has a fantastic music developed by our very own Lawrence Steele, a.k.a. Satsuma Audio, is a fine mixture of Jazz of 1920-30’s era with retro aspects of chiptune! You can now checkout the music and perhaps buy the music from his bandcamp page. I strongly suggest to check out the music as it’s always on loop as we develop the game 😉

On importance of feedback.

For the past two weeks, we put our game to the wild got several feedbacks, some very eye opening ones that we are analyzing and brainstorming over them in order to make our game better.

It’s still very strange to me how people react to some aspects of the game that seem obvious and apparent to us developers that to the players. I didn’t have such experience with my last title as we were pushed to the crunch that we didn’t put much test on it, no matter how hard I wish we did.

To make things more complicated, our game is like 95% completed and it’s kinda dangerous to add features to it, A) I can ruin it rather than making it better and B) It can easily turn us into feature creeps which this game being indie, will make it just a vague memory so we should be edit and add things consciously without setting foot into depths of feature creep, which there is no way out.

Wrapping up.

As we are doing the finishing touches, we are getting more and more near to the beta build. We were honored to have our game play tested by some of our friends in person so we could record their plays and find our initial bugs and misdirections. I recorded videos of people’s playing and also their voices and then we sat down and watched how people reacted to several important parts of the game and fond out our strengths and weaknesses.

Along doing those, we are doing finishing touches here and there and I’m reading on the business side of flash games. Even though I’m not doing this for the money, it is nice to get some revenue out of it so I can repay the hard work all members went through and as it’s first time I’m doing business side for a game that I work on, there are lots of new things to learn there.

So we mail the the beta build to the subscribed testers in the following days and afterwards, we will move to selling it.

Feedbacks are invaluable.

We were about to release our current game in two days from now, as we planned but after we had a few friends coming over and getting their feedbacks and reactions, we now have to apply those and make few changes here and there, mostly about how to teach the player the mechanics of the game, even though we thought they are somewhat clear enough which we were proven otherwise.

All that being said for game design section, our music is almost finished and we may just need few touches, sound fx is getting there, art is doing it’s final parts and we are testing things for HUD and menu and coding, as you probably guessed, is never ending and I’m constantly trying and fixing and polishing and refactoring.

If I don’t feel anymore burnout of this when we release it, I’m planning to write a postmortem about this game, mostly not about technical side but about managing the project as it is/was not a usual one-man-band kind of indie game and managing all these people, especially with no money up front and with some of them being around the world, was/is the most challenging part for me, same thing that happened for Hasan Kachal project and I’m happy I’ve done that before or else I would not have any idea how to manage this since the people involved in this project are grealy more than what we did with Hasan Kachal.

That’s it for now.

-Aidin

Quick update and register for testers.

So we’ve been real busy in past two weeks with taking our new game to new directions and shaping it up. I’ve been honored enough to work with some of the most passionate and talented people that I know and hopefully we can deliver a game that you will enjoy playing as well as us do while crafting it.

So can’t reveal anything just now but I should be coming back with more info soon enough.

In the mean time, if you want to test our game, drop me an email and I’ll send you the game when we enter testing.

Hasan Kachal reviewed on biggest Persian gaming website.

I’ve been a member of BaziCenter.com (translated as Game Center), which is the biggest language gaming forum in Iran, for past 6 years and now their staff were kind enough to review “Hasan Kachal and Secret of Red Apple” and put it on their front page. The review is kind and they favored and gave it 7/10.

You can read the review here or view the screen shots of it after the jump. Continue reading “Hasan Kachal reviewed on biggest Persian gaming website.”

Hasan Kachal reviewed on GameEmag podcast!

Staff at Game emaG gaming podcast were kind enough to review our latest game, Hasan Kachal and Secret of The Red Apple on their latest podcast. Even though they were not informed much about problems during the project and game being developed with exactly zero project, they favored the game and recommended it to the listeners. Hope we can make better games in future.

You can download the whole podcast here or just listen to the review section of our game here.

If you haven’t played the game, don’t worry, you can get it here.

Got my first reivew!

After more than 20 years of reading ,and recently watching, reviews of other games, it’s such an awesome feeling to have your game reviewed, especially when it’s a good one!

Our friends at Pejdo Game, reviewed “Hasan Kachal and Secret of The Red Apple” and game it a generous 8/10! The review is in Persian and you can read it here!

In case you haven’t already, you can get the game at this link.