content top

Crushing the Olympian gods, one language at a time

As Okhlos enters the last stages of development, we have to do more than finishing all the game’s content, we also have to work on some features that may not be as fun or glamorous, but are important nonetheless. And at the top of that list was something we have been postponing for quite a while. Something that many devs have described as “an unfathomable development nightmare which will haunt us until the end of our lives”[citation needed]. Something called localization.

Most people think that localizing a game is just swapping strings in one language to another. And they are right. That’s all there is to is. So we swapped some strings. It was very easy. We won and now everyone is happy. End of post. Or maybe not. Replacing text is just the start. One of the most important ones, yes, but sadly not the only one and not that simple either.

The good news is that, since we are working with Unity, we didn’t have to start from scratch. What we wanted was very simple, something that takes a spreadsheet, parse it, create a dictionary and display texts based on that dictionary. Making this ourselves wouldn’t take much time but getting an existing solution would save us not only a few hours of  development time but a lot of testing too. So we looked into a couple of localization plugins in the asset store, but soon we found out that NGUI, the UI plugin we had been using all along already a neat little localization system in place.

csv

This is how NGUI’s localization rolls.

NGUI system is nice and simple. It has a parser that reads localization keys from a comma separated file, which means you can use a google spreadsheet to store the texts in different languages. Then, it creates a dictionary that can be linked to any NGUI label or be accessed anywhere via code. Just what we needed!

Soon we started working our first officially supported language: Spanish. As you may know (or figure out by reading the horrendous word crimes we commit when Pablo isn’t around to fix them) English is not our native language, Spanish is. This meant that we could translate every text we had into Spanish with ease. We will still have to check a lot of things to make sure it comes across right in every different Spanish-speaking country (which is not an easy task by any means) but  we can do most of the work ourselves.

So texts got translated, spreadsheets were spread, CSVs were parsed and, lo and behold, we now have translated ingame texts!

What kind of sorcery is this !?

 But, as I said before. This was just the start of the ride. A long journey was ahead, with many an obstacle to face. What were those dangers we encountered, you say? Here is a list conveniently summing them up for you!

  • Really Long Words (we are looking at you, German). Another typical localization problem. A button or a text box may have enough room for any of the words the game uses for a given language, but switch to another one and it is spill-out madness. Being aware of this beforehand, we made all buttons and labels in Okhlos scalable, so if a word gets too long we can easily adjusted them.
  • Character Codes. While you are programming, living inside the dictatorial world of the compiler, it is easy to forget that there are more characters than those in the ASCII code, and many languages. Even the extended ASCII, which adds support for most romance languages, can fall short. So it is always best to use Unicode encoding when dealing with strings. And so we did
  • Fonts. So your game supports UTF encoding, with a potential for thousands of characters. But what good is all that if you can only show them in plain, old and boring Arial font? This is something we have yet to deal with. Okhlos uses mainly a pixelated font called Dalek (insert Doctor Who joke here), which is pretty neat and fits the game’s theme very well, but only supports ASCII characters. So we will have to decide whether to find a new pixelated font that has all the characters we need, or modify the current font to add the necessary characters.
  • Procedurally Generated Texts. Texts that are generated on fly can be next to impossible to translate, and we have a couple of them in the game. However, one of them is the name generator, which generates a unique name for each non-hero unit, and since all those names are in ancient Greek(ish) they don’t need to be translated. The other is the useless skill generator, which during the implementation phase was trimmed down to more of a randomizer than a generator, so all we had to do was translate each item individually and voilà.
  • Graphic Texts. We always knew we had to keep them to a minimum but there are still a few instances in which we use texts that are not rendered dynamically. Because of this, we had to make a custom script (but still using the NGUI system) to replace the images when the language changes. We still need to make a different image per language but since we have so few of them is not really an issue.
  • Lip Syncing.  Most voice effects in the game are just gibberish. And most characters don’t have mouths. So we dodged that bullet.
ImageSign

Begone, vile text , we banish thee!

This is by no means the end of it, we will have to deal with a lot more stuff once we add more languages but for the moment we say ciao!

Read More

Log the change! Change the log! Changelog!

[Previously on The Changelog… Version 0.4.4]   (revision 1914)

Welcome back to the one and only  changelog! Since last time we have traveled the world (a little chunk of it, to Brazil and back), won a number of international awards (one) and eaten many empanadas (around 100 of them) but what about the game? What new and exciting stuff have we been adding to Okhlos? Well, the changelog is here to answer that. Here is what happened …

botonChangelog_050

Lots of new music and sfx

Yup, Gordon has been really busy these last couple of months and has come up with some really amazing tracks for Sparta, Ephesos and Atlantis, plus Boss Battle Music! You can check them out on Bandcamp right now!

The Agora

Imagine a place where anything is possible. Where every dream you ever had comes true. A place of infinite wonder. The Agora is not that place, but exercising your imagination is always a good thing. The Agora is the place where all play sessions after the first one will start. Think about the camp at the gates of the castle in Rogue Legacy or the village in Desktop Dungeons. It will be filled with all kind of special things that we will the unveiling soon. How soon? Soon as in right here in the next paragraph.

The Agora v 0.1

A sneak peek at the Agora

Persistent Heroes

Some Heroes are like diamonds, they are a girl’s best friends. No, wait. It wasn’t that. Some heroes are forever. That’s it. Some heroes may fall but they never truly die, they are the persistent heroes (cooler name pending). They are a new kind of heroes that when once you buy them will always spawn at the Agora, so they can be part of your mob from the very start of every sessions. Think about the blue chests in Lufia’s Ancient Cave. Or think about kittens. It’s always nice to think about kittens.

Philosopher Selection

Plato or Aristotle? Heraclitus or Parmenides? You can settle the millennia-long debate once and for all with our brand new Philosopher Selection Screen. Find new philosopher as you play, and then they will be available to be selected when you start a new session at the Agora!

Building Destruction FX

Taking the destruction of  invaluable buildings to a whole new level. Roque thinks the effects can still be improved but they are awesome as they are nonetheless!

The poor building stood no chance whatsoever

Kaboom!

The Encyclopaedia

The lives of the most eminent heroes, gods and mythological beasts all summed up in one convenient place. As of this version we now have the all mighty encyclopaedia in place! Find monsters, buy heroes, unlock their entries. Gotta catch’em all!

Continue

Because now that we are adding more and more levels, it comes kind of handy.

Mouse is here

I was going to add a nifty gif showing how we now have a custom cursor that fades in when you need it and fades out when you don’t, just like Spelunky does. But gifcam hates me so I will just leave that to your imagination (again).

Extreme Make Over: Ephesos and Atlantis

This could very well be an update on its own, so I won’t spoil much but I’ll tell you they just keep looking better and better.

Boss Battles v 2.0

Boss battles have been an issue for some time. They lacked something… More enemies! We’ve added a small system that spawns enemies throughout the battle based on certain conditions. This not only makes the combat more epic, but it also adds a new level of dept,h as you now have to divide your attention and your resources between the boss and the stream of enemies. It is something that still requires some playtesting and fine tunning but it is already proving to be a nice improvement. Plus, it also solves another problem we had: endless battles. Until now you could hide from the gods and keep on playing with a very small mob for ages, but no more. If you do that now, the horde will eat you alive in no time.

LOTS OF ENEMIES!!!!1!

It won’t be as chaotic as this but, yes, lots of enemies!

Buffing Up the Morale Stat

As you may remember from updates like A Matter of Morale!

Turning the Heroes up to 11

Once again, this is still a work in progress and we may write an update on the subject on the near future so I won’t say much, but let me tell you that some things were done and elevens were reached.

The Sprite Batcher (and other optimization)

Premature optimization is the road to perdition but sometimes you can’t help it (or it is not premature anymore), so we optimized a few things. Among them, the sprite batcher may have been the most important one. Each time you render a material in Unity it issues a draw call to the graphics API. Texture atlases and static batches are the most common way to deal with this, and that is what we have been doing from day one. However, due to the way ingame sprites are handled in Okhlos we couldn’t use the default sprite batcher. We had to take matters into our own hands and we finally did, customizing the hell out of that sprite batcher to suit all of our kinky needs. The result? Less draw calls! So sexy!

More Configuration Settings

The config window is slowly getting filled up. We’ve added a couple of graphic settings, and handful of game settings and the ubiquitous sound settings. There are many more to come but it is already starting to look like a proper config window.

And bug fixes!

Fix one bug, add two more!

 

And thus we reached version  0.5.0. It has been long way since the birth of Okhlos. 2,317 revisions. 456 files. 41,510 lines of code. Countless Monty Python jokes.  But here we are, with lots of stuff still to come but getting closer and closer to beta.

 

But where are the new cities? The new enemies? The new heroes? The new gods?

Well, some of them are already implemented, some others are in the works, but will soon read more about them right here at your favorite dev blog. So stay tuned for future updates!

 

 

 

Read More

Okhlos won best gameplay at Brazil Independent Games Festival

July 03, 2015 – Sao Paulo, Brazil– Coffee Powered Machine is thrilled to announce that its game, Okhlos, was chosen from among 700 hundred competitors from all over the world as the winner of the Best Gameplay Award, at the Brazil Independent Games Festival.

 

Brazil Independent Games Festival (BIG Festival) is the largest one of its kind in Latin America and the third largest in the world, with almost 700 hundred submissions this year from countries from all around the world. Of the games submitted, 50 were chosen to be showcased at the festival. Last night, during a ceremony in Sao Paulo, 9 awards were presented, and out of the 5 finalists in the Best Gameplay Category, Okhlos arose as the winner.

 

The festival’s official site, which should be updated with the winner’s list soon: http://www.bigfestival.com.br/

 

2015-07-03 11.33.18

Melhor means Best in Portuguese!

Earlier this year Okhlos was chosen to be part of the Leftfield Collection and showcased at the EGX Rezzed in London, so this would be the second time the game receives an international honor.

We promise to do a more comprehensive post about this, and our experience in Saõ Paulo in the future, but right now, we wanted to share this awesome news with you guys!

 

Read More

Greenlight Aftermath and Press Roundup

In case anyone missed the previous update, here is the gist of it: OKHLOS GOT GREENLIT !!! And only six days after we launched the campaign!!

banner

It’s been a extremely frantic and tiring week but we are ecstatic. First and foremost, the overall response was great. Many long-standing Okhlos supporters turned up once again to vote and share the news. The response from the local community was great. More than once they would beat us, sharing news in different sites or forums! And at the same time, we found lots of people who had never heard about the game until now,  and fell in love with it. It was wonderful to read all the comments and messages. So we thank you all for that!

 

Steam Greenlight is not the same of what it used to be when it first started. Many more games are getting greenlit every week, for one, which gives you much better chances of getting among the top games. But, at the same time getting noticed these days has become increasingly harder. Putting a game on Greenlight is not something that Kotaku or Gamespot are going to write about anymore. But this is not to say that there are no news outlets or sites that write about Greenlight anymore. We found out that many sites are stilling willing to write about a game on Greenlight, if they find the game interesting enough.

 

The first articles that begun to appear when we launched the campaign were at Pixel Dynamo, this news bit at Gamers FTW, or here at Load the Game. Not long after that some larger sites wrote very nice pieces about Okhlos. Like at Okhlos: My Big Fat Angry Mob at IndieMag. And then Killscreen gave us Okhlos Turns to Ancient Greece to Explore the Phenomenon of Mob Mentality. Neat!

Captura de pantalla 2015-05-21 15.03.18

Like Killscreen, many sites covered Okhlos!

 

 

Then we were delighted to see that Megawacky, who runs the  webcomic Bits & Bytes, devoted an entire strip  to Okhlos! You can read the Okhlos, and the whole webcomic, which is full of game references and jokes, at the Bits & Bytes site!

Another guy who showed once more how amazing he was, is Pixel Prospector. He runs one of the best, most comprehensive sites on the planet with resources for indie games. That alone is enough to put him in our good list for good. But asides from this, he runs a pixel art devoted blog called Pixel Artus, and this week he took over Tumblr with a series of Okhlos’ gifs (more than five hundred likes and shares!).

Bits_y_Bytes_e127_preview

Bits & Bytes preview (Spanish only, sorry!)

Something very interesting we discovered these days was that we got a very large number visits, votes, comments and likes from different places spread from all over the world. We expected most of them to come from the US (where most gaming sites are from, and Steam users are from) or Argentina (Hi, mom! Thanks voting us!) but we were surprised to find, for instance, that IGN Africa wrote about the game, where the Greenlight Brigade highlighted Okhlos among the best of the weeks roundup. Or that, at Game Guide France, they published a very comprehensive piece about Okhlos. Or that a games’ blog from Japan, Shibayama Blog, which is quite big, also pulled up the news about the game, followed by lots of tweets and comments in Japanese. Neither where we expecting so much visits from Russia. But a curator of pixel art works posted about Okhlos at VK (the second largest site in all of Russia and one the largest in all Europe) so visits started pouring from there.

Captura de pantalla 2015-05-21 15.00.22

Are you really posting screen captures of gaming sites?

The best part of this is that it is not over. Just yesterday, the amazing Richard at Games Freezer, who had already played Okhlos at Rezzed and wonderful words about it, and now he did it again. And a few minutes ago, just before we hit the publish button, we heard the fine folks at Checkpoint published this beauty of an article (in Spanish). So, we can’t stressed how happy and thankful we are. It’s wonderful time to be part of the angry mob of ancient Greeks.

 

Now time to get back to work! Somebody has to finish this game!

This post was written by @SebaGioseffi

Here is an actual screen of the game!

screen2

A few Automatas locked in fierce combat! Click to enlarge!

 

Read More

The Return of the Changelog – EGX Rezzed Version

It’s that jolly season once again. That magical time, when families gather merrily around the repository  and share amazing tales of commits of old. Yes, it is changelog season again.

If you remember our last changelog we had left off at  Version 0.4.0. There have been four versions since then, leading to version 0.4.4., the version we sent to the EGX Rezzed, but we are going to sum them all up here for dramatic reasons.

The biggest addition in these versions was probably Atlantis, something  you may have guessed from the last series of posts and we won’t repeat here. However, a lot of other things found their way into the game while Atlantis was resurging from the depths, and here they are. Without further ado, we present you the changes from versions 0.4.1 up to 0.4.4. :

botonChangelog044

Hero Cages

Once in a while, while you are travelling through the monster-infested streets of Delphi, Ephesos or Athens you may run into a cage made of reinforced bronze. What is inside the cage? A random hero eager to join the mob if you destroy the cage! What are you waiting for? Free Adromeda and let her wreck havoc with the rest of the gang! Let Galen loose and wait for the healing to begin! The power is in your hands!

More Units

Roque has put his mad pixel art skillz to use and now he have new female defenders, warriors and philosophers!

Color Tint

Back in the old days, units in the mob would change their color like chameleons. Then they didn’t. And now they do again. We use the color tints basically for feedback. When a unit is attacked it is painted red for a couple of frames. If it gets infected with the plague (Plague? Which plague? Well, keep reading below and you will find out). And if they leave the mob, they get greyed. It’s an instant feedback and very hard to miss. For the win.

Lifebars

Units have always had a certain amount of hit points. Bad guys would hit them and they would lose hit points until eventually they would die. So they have always had a health stat that could be represented with the ubiquitous health bar. However, we never liked the idea of having to micromanage each unit, so that is why we chose not to show the life bars. You shouldn’t worry that much about individual units, you should care about the mob as a whole. Also, having a health bar per unit would mean that there would be a zillion health bars onscreen, making everything very cluttered. And it was this way until quite recently, when Roque had the idea of showing lifebars of the units but only when their health is below a certain threshold. What this does is give you a very quick feedback of the current health status of the units in the mob. And how cluttered the UI becomes, corresponds to how worried you should be about them. If you see only a life bar or two, they won’t bother you too much, and you wouldn’t have to worry too much either. But if the screens starts getting filled with lifebars, then you are in trouble and should start looking for some healing pronto.

Slow Motion Effect

Because Okhlos is so next gen. Or so 1999. I am not sure. But the certain thing is that now when the leader dies, it will trigger a cinematic slow motion effect that will let you locate the new leader more easily in the middle of the mayhem (and if a leader died, chances are there was lots of mayhem going around).

The Plague

We’got a new hazard, the plague, which damages units and spreads throughout the mob if the units are too close to each other (much like you would be expect from a plague). If we are to be accurate, the plague is not technically a hazard, it is more like a new status for the units, the plagued status, that can be triggered by some hazards (plague infested chunks of meat spread throughout the map, for instance) but also by the attacks of some enemies. The idea of the plague came up while we were testing some changes in the core mechanics, and it eventually grew until becoming a full fledged feature as it is now.

Pathfinding System for the Enemies

– Is there a house between you and I? – said the cyclops – That will no longer stop me from clobbering you. I now have the ability to go around it!

The Phantom Mob

We have a new item! We have been calling it the Phantom Mob item so far, although it has absolutely nothing to do with the Phantom Menace (we solemnly swear that there won’t be any Jars Jars. Well, we swear there most likely won’t be any Jar Jars. Disney has been making very tempting offers…). Back to the item. What it does is create a squad of phantom units that join the mob temporarily. You use it and … BAM! You now have a bunch of spectral guys ready to kick ass for you. At least for while, until they return to the aether from where they came from.

 Lots of new Voice Effects

Yup. You can now listen to the mob roar, cheer, scream and yelp as they go around doing mob things. Gordon made a bunch of them and he keeps on making even more so get ready to listen to the sound of the mob in all its glory!

 And the rest of the changes that do not deserve a separate paragraph (mostly because if they did, this post would end up way too long, much like this title)

  • Units now jump a little when they join the mob (it would seem they are very enthusiastic about the prospect of an becoming part of an angry mob).
  • More juicy on prop and building destruction.
  • Tutorial stage completely revamped.
  • The way to stop Apolo’s special attack has changed (much more intuitive now).
  • The mob now has an onscreen stats showing the accumulated attack power, defense, speed and HP of all the units.
  • Hero presentation FXs.
  • New minimap graphics.
  • The camera now gives you a little more room in the distance in which you move the mob.
  • Enemies now hate props a bit more.
  • The mob no longer has an onscreen stats showing the accumulated attack power, defense, speed and HP of all the units.Artemis has a new special attack.

In addition to this, as always, there was a fair chunk of bug fixes, tweaks and minor additions that we won’t even mention, plus a couple of big changes that deserve a separate update so stay tuned for them!

 

Finally,  do you remember that Okhlos was going to be showcased at the EGX Rezzed, as part of the Leftfield Collection? Well, that is happening right now! So, what are you waiting for? Go, go, go!

EGX Rezzed banner

Read More
content top