Ratz 'N' Godz Dev Blog

To content | To menu | To search

Tuesday 30 June 2015

Unity versus Visual Studio

Continue reading...

Wednesday 26 November 2014

Back to business !

Back in late august, I had released the 1.02.008 version, and finished the most important point of my TODO list. It was the time to work on the iPhone version. It tooks me a few days to generate properly an iPhone version, getting all certificates from Apple, correcting the generation and all. The first return about this version was performance was really poor. I do not have any iDevice, so I was stuck to trying to figure out what's going on.

2 weeks later I was still stuck but hopefully I can borrow an iPad2 to make direct test. I run Scout (Scout is a very good profiler) only to find that a still image with about 30 sprites takes 60% of the time I got to compute a frame. Doing nothing at all ! It takes about 0% of the frame on PC ! and about 5% on Nexus 7 (first generation) ...

I don't really know where it comes from, probably a crappy Air/iOS integration, but I quickly figure that I cannot do much about that.

At the same time, android sales dropped a lot as we were on the store for more than one month and therefore now longer in the "new applications" section. Flash version wasn't performing great, the game is not aim to general public, so rating was pretty low. On most other stores, I no longer made any sales at all.

Moral was pretty low, and Jul, the graphic designer, propose me to works on a prototype for a new game. This was the opportunity to test Unity and see how it works.

And that's why you have no update on 1Quest since almost 3 months.

Until Steam sends me a mail to tell me 1Quest has been greenlit! That was high unexpected at this moment, and a pretty damn good surprise to me!

From the start of the project, I wanted to make the game moddable, but I don't really know where to gather the community (if any). Steam seems the perfect place for this, with a lot of community tools, so I worked on the modding possibilities of the game since the e-mail. I hope you’ll like them

Wednesday 23 July 2014

1Quest released on Android!

Version 1.2 of 1Quest is out, and the game is now available on Android!

While it has always planned on Android, and was actually build for Android about 1 year ago for the first time, It takes time to tweak and needed more optimized code to be playable.

You can get it here

Along with the Android version, a new game mode as appeared: the tower of chaos.

It is an unlimited mode with permadeath. Items are uncapped and can have bonus beyond the maximum in the upper level of the tower.

Some news denizens have appeared. Fear the four mythic beasts that guard the magical altars in the Tower of Chaos. Can you kill them all? Or do you prefer to sneak them and run to the portal that lead to the next floor?

Several bug fixes, gameplay improvement and increased performance are also included.

Friday 27 June 2014

Releasing a game

You may know it will be hard, time consuming and most certainly a failure (as a lot of other indie game), it is a real pleasure to see your game released. But after the release, you usually have less time to code as their is a lot of works to do promotion, get your game on a lot of store and get into bundle if you need it. And you may have a drop in motivation, a release in pressure.

Until you read a review by CueZero !

I guess it is hard to imagine how I feel now, If you do not have done some public work and get reviewed. OK the sales aren't that good, I would have hoped to do better. Maybe I deserve it, I have, like too many other indie dev, neglect promotion. Or more accurately say myself I'll do it later.

But knowing that someone gets your game, spends time playing it, and then takes time to tell how much he loves it. This is priceless!

And it is not over. Android version is almost ready, including a free version. And with the android release it will be time for more efficient promotion.

Tuesday 6 May 2014

1Quest 1.1 released, Desura and IGM!

With the feedback we got from Greenlight, we took the decision to improve the graphics a lot, improving the resolution by a factor of 2 (going from 16x16 tiles to 32x32), adding animations and revamp the entire interface.

In addition, we contact Desura to get the game on it and it was accepted. The game is available since yesterday!

Last, but not least, 1Quest has been review by IGM (http://www.indiegamemag.com/)! You can read the review in the May issue.

Friday 21 February 2014

Roguelike with World Map

Using a World Map in a Roguelike is pretty unusual. But fear not, It is mainly to add some macro choice for your character development. If you want a perfect victory (who doesn't ?), you have only 7 days to reach the final dungeon and kill the boss there. So each day, you have to make a new dungeon, deeper in enemy territory.

Du to the map layout, it means that each day, you have 2 dungeons to choose from. Each one features a specific rewards. That can be specific loot (weapons, armor parts, magic books & staffs ...), magic altar (which raise your magic affinities ... more on that in a later article) or some special reward (attribute boost, extra experience ...)

So, if you start the game with a warrior, you will certainly look for a good weapon, trying to find a lost merchant that will gift you one if you escort him to the exit of the forest. But what if you already have a good axe?

You may want to choose to explore the Fire Mountain instead, in search of the Earth altar. After all, the Stone Skin spell looks great for you ! As the map is randomly generated, each time you play you will have those additional choices to make. Some times it will make you switch to a different template for you character to benefit the most from your specific rewards !

Thursday 20 February 2014

Released on itch.io, submitted on Greenlight !

It is time to fly alone, after being taken care by French Cows. So you can now found the game on itch.io: http://ratzngodz.itch.io/1quest

We also have submitted the game on greenlight, and it is starting well. Be we need your help to succeed: http://steamcommunity.com/sharedfiles/filedetails/?id=229922393

1Quest should be on Desura too, but no release date for now

Tuesday 17 December 2013

Release of 1Quest at FrenchCows !

It is the final day ! The game is released !

Well, in fact it is far from the final day. French Cows is based on the exchange between players and developers, so there will be a lot of improvements and additions during the next months.

For now the game is only available on PC/Mac and Android in the French Cows store. It will be released more widely later (a few months), including hopefully on iOS

In the meantime, you can watch the video

Sunday 27 October 2013

Actionscript : Packaging graphics into swf

It took me some time but here is a complete tutorial to package your graphics into a single swf, in order to load them (fast) into a pure actionscript project.

And bonus: it does works for iOS too! (Haven’t test on app store yet, but it does work in a test package)

Handling png

First of all, gather your pictures. I favor png for transparency, but it seems that there is several sub formats and I find 2 different problems on 2 different tools (png2swf and hxswfml, see my previous post for reference).

Hopefully, pngout (http://advsys.net/ken/utils.htm) is a wonderful tools to rewrite png from png, either to optimize size, but also to rewrite them in a format usable by tools that does not cover all the sub formats.

For hxswfml, which will allow us to compile our assets, I use pngout with the /force /c6 flags. For a whole directory, my batch file is:

FOR /F "tokens=*" %%G IN ('dir *.png /s /b') DO (pngout "%%G" /force /c6)

(Under widows ... i guess linux users will now how to do this)

Compiling into a single swf

Then, you need to create a xml file that contains all yours assets:

  • <lib>
  • <sound file="C:/MyDir/MyMusic.mp3" class="MyMusic.mp3"/>
  • <bitmap file="C:/MyDir/MyPicture.png" class="MyPicture.png"/>
  • </lib>

Class name does not need to equal the file name, but I find it easier.

Then, run hxswfml (https://code.google.com/p/hxswfml/) with this command line:

hxswfml.exe xml2lib MyXMLFile.xml assets.swf

You obtain an assets.swf file that contains both your picture and your music!

Loading picture in actionscript

First you need to load the assets.swf file into your applicationDomain

  • var theLoader:Loader = new Loader;
  • theLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, MySwfIsLoadedFunction);
  • theLoader.load(new URLRequest(MySwfName), new LoaderContext(false, ApplicationDomain.currentDomain, null));

Just wait the call of MySwfIsLoadedFunction before using graphics. They are loaded as class in currentDomain, meaning you can instantiate them by their names:

  • var graphClass:Class = getDefinitionByName("MyPicture.png") as Class;
  • var MyPicture:DisplayObject = new graphClass() as DisplayObject;

You can then add them to your stage!

You can get your music the same way:

  • var soundClass:Class = getDefinitionByName(i_name) as Class;
  • var soundObject:Sound = new soundClass() as Sound;
  • soundObject.play();

Wednesday 7 August 2013

Dev Tools for 1Quest

Choice of Technology

A few years ago, when i started thinking about developing games, I had not many choices about the technology. I wanted my games to be playable on the web (for easy distribution), on mobile (iOS & Android only, at this time) and on PC, at least for developing. The technologies I found (with large community to get help easily, and which I am quite sure the companies will still exists in a few years) was:

  • HTML5
  • Flash
  • Unity

I discarded HTML5 because performance was not good enough at this time, and authoring may be a concern later. Unity was growing large but still not widely used. As I don't see Adobe forfaiting its Flash technology, I choose this road. I am still not sure about this choice, Unity now supports a wide range of consoles while Adobe acknowledge the death of Flash Player on Mobiles ...

But anyway, Flash it is!

In fact it is more actionscript (the programming language for Flash) only project, it just end up in creating swf usable both with Air (the standalone executable environment for flash) and of course in Flash Player.

Dev Tools


I've tried Flash Pro but it is definitely not the best tool for games, except for making animation. Actionscript coding and debugging was not greatly integrated and price was overkilling! It is more a graphic designer tool in my opinion.

Flash Builder is a decent tool, with most of the usual features a developer can expect form an IDE. My choice ended on Flash Develop (http://www.flashdevelop.org/). Similar with Flash Builder, but free, I deeply recommend it for starting at least, and I still don't see reasons to change now.

Source control

You can't build a decent project without source control solution. As I was used to SVN, I search for a free SVN host and found Assembla (http://www.assembla.com). Always available and not a single problem in 2 years!

Client side I use TortoiseSVN (http://tortoisesvn.net/)


Now you got anything you need to develop Flash games... But you still need graphics. Jul (from Storybird Games http://storybird.mobi/) use the widely known Photoshop (http://www.photoshop.com/). But I have from time to time to create some debugging graphics (or cut Jul's graphics in resizable parts). I use both Paint (yes, from Windows) and Gimp (http://www.gimp.org/) when i need transparency support. Beyond the graphic modification, we used two additional wonderful tools:

  • pngout (http://advsys.net/ken/utils.htm) to optimize your PNG size (up to 95% reduction, even on small png)
  • png2swf (http://www.swftools.org/) to create swf animation from a png sequence. Most animations in 1Quest are created this way, only a few are created using actionscript
  • hxswfml (https://code.google.com/p/hxswfml/) to packages graphics and musics into a single swf for faster loading

Thursday 11 July 2013

1Quest, a casual roguelike

From the beginning of 1Quest to the end, the project have becomes more and more ambitious, but we tried to keep the focus on the main philosophy in order to maintain the consistency of the project. It can be sum up as "Casual Roguelike".

To understand what it means, we should first define what is a roguelike. The best place I know for that is RogueBasin. Let's try to compare what we want for 1Quest with the Berlin Interpretation. Even if I know some people disagree with it, it is a good start:

  • Random environment generation: mostly (items appearance is fixed)
  • Permadeath: not really (you can continue playing after death, but the final levels access is only for perfect wins)
  • Turn-based: 100%
  • Grid-based: 100%
  • Non-modal: mostly (there is external map but that's all)
  • Complexity: I hope so
  • Resource management: I hope so too
  • Hack'n'slash: definitely
  • Exploration and discovery: no unidentified items, but exploration is still there

So 1Quest is a roguelike, or at least not far from the core features of the genre. If you're looking at other definitions, it is still partially true. But what is the "Casual" part of 1Quest? We want to address people who may like dungeon crawling but don't play a lot, or may give up quickly if the game is too unforgiving.

We want to avoid that people test a little, get punished by their lack of knowledge and skip to the next game. Yes, that's partially because we want to make money with the game! But also because there is a lot of really good roguelike around, and we need something different. And if only one person stick to our game a few and then go for a real hardcore one, that's perfect! On the other hand, we still want to make a enjoyable roguelike, even for those used to the classical ones...

The first things we agree on was the removal of permadeath, even if we plan a scoring system based on the last optional level only available for those who didn't die and didn't grind additional dungeons. Permadeath is maybe the most important feature that makes roguelike so thrilling. But it is also the first reason why some friends doesn't stick ot those games ... we hope to keep the thrill with the abysses feature !

We added some features that doesn't change the overall game balance but help new players : auto experience and auto equip items (for empty slot). Added with the removal of item identification (and also cursed items), the new player should be far less lost than in a classic roguelike. The goal is that the first level can be win without modifications and the perfect win requires a lot of adjustments.

Monday 1 July 2013

1Quest Genesis

My first try on a dungeon crawler was when a friend of mine set up a group (around 6 peoples) with his coworkers to create one, about goblins in a dungeon. They all works on French conversion of php games and want to try to create one from scratch. I join them as a developer in April 2010 but the project crashed a few months later as the project was too big for people involved in.

About one year later I try to resurrect the code with a friend on game design, on a space rogue like with exploration of both abandoned ships and planets. Depending on the level, Oxygen, Energy or Food can be either abundant or scarce. My friend promises me to update the wiki soon with the sum up of our last meeting. It will be two years ago next month ...

Those project were not lost of time, even if they failed. First the code never die, it evolves. I separate the code from gameplay, so switching from a project to another project is less works. Second, it was enlightening, how to handle a team, a game project, and keep people motivated. Even if there is little you can do when people have no time for the project (and don't get paid!)

I then start a new project, in September 2011. I wasn't yet called 1Quest, but it was the beginning. I spend a few month on the game engine, so I can show something to later recruit more people (I can do most of the game except graphics, and I’m not a fan of ascii games ). 6 months later, I ask Jul, from Storybird games, if he wanted to come on it. We have been in contact for another game project that survives only a few days (a shooter game), but keep in touch. He was really enthusiast and offers to make both graphics and sounds.

I won't say the project was easy. It becomes far bigger than I originally planned, and takes much more time too. But it is really great to see the project looking more and more like a real game!