So we hit public test today on FGL and to celebrate it, I decided to post some screenshots as follows.
Game changes so much during past few weeks and I hope the final result be appealing.
Daily thoughts of an Independent Game Developer
So we hit public test today on FGL and to celebrate it, I decided to post some screenshots as follows.
Game changes so much during past few weeks and I hope the final result be appealing.
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!
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:
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 😉