content top

They Just Won’t Leave! Persistent Heroes for Okhlos

Another week passes by in our endless Okhlos development cycle, and that means another devblog update with a few insights into our process. Mostly with examples about how NOT to do something.

This week, we bring you a subject that is still changing a lot. That is Persistent Heroes.

Types of persistent heroes

In Okhlos, you have two types of persistent heroes: Philosopher heroes and Basic persistent heroes. The basic persistent heroes will behave as regular heroes (that means that if they die, they will revive at the next world), except that, once you’ve unlocked them, you can choose to start each session with them.  The philosopher heroes are the ones you control directly, and they replace your current mob leader.

Why we put them?

Okhlos is a roguelike-like game, so each time you lose, you have to start over from the first world. We liked that feeling, but we wanted also to have a feeling of progress, besides how good you get with any particular mechanics. In this fashion, we wanted to have some bonuses you can get at the start of each run. Persistent heroes accomplish this, but they are also proving to be very difficult to balance.

Also, we wanted some type of mob management. We always felt that adding too much management to the mob would be counterintuitive, because the mob should be more of an organic thing. The good thing about this, is that you only have to do it when you start the game, not in-game.

This is the main reason we created the Agora, which is a hub where you select these heroes (and also where you can do a few more things ;P).

agora2 agora1

The Agora always felt right as a pre-game phase. The camera is zoomed in during this part because we wanted to make a clear distinction between the action phase and this section. (Also, I wanted to show off the character sprites). Additionally, we had to remove some hud elements that had no use at that moment.

The Agora is a very small section, and that’s intentional, because we felt the movement between options should be as quick as possible!


Why add persistent philosophers?

That’s a good question! Thanks!

Originally, we had lots of cool philosophers in the game. That was always the idea. You start playing, and suddenly find Aristotle. So, Aristotle will join your mob, and he will give you a particular bonus. If the philosopher you were using is killed, you will start using Aristotle. Because of that, we had to make tons of new animations for all of this special philosopher heroes.

Each unit has a common set of animations, but the units you control, have a lot more, like running AND commanding to attack. Or commanding to disperse. So each philosopher we add to the game, turns out to be very time consuming.


Lets continue with the previous example. Suppose you are still controlling Aristotle, and you find/buy Plato. Now you have two philosopher heroes in your mob, each one with their particular bonus. And if Aristotle dies, you will start controlling Plato, but Aristotle will revive in the next world. So you can have a lot of philosopher heroes in your mob.

We changed all of that, and we made that you can only have one philosopher hero on your mob. And you select it at the start. I particularly liked the idea of choosing your avatar in the game (a decision that can last seconds). It made sense that you could choose which type of bonuses (sometimes with a trade off) you’d want to start with.


We are still tweaking lots of things in order to achieve that each philosopher encourages a different play style. We currently have 20 philosophers in game.


How many can you take to a new run?

For starters, we wanted to have a lot of persistent heroes, so we set up like fifteen of them. The cool thing about having a bunch of them is that it adds lots of replayability to the game. Each hero has a unique unlock condition, so unlocking them all is a huge achievement.

The problem that comes with that is that if you’ve unlocked every persistent hero, and you take all of them to a new run, the game will be stupidly easy. Also, because of the management side of things, why wouldn’t you grab all the heroes you have at your disposal? If you’ve unlocked ten, you would want to take the ten of them to the game.

So we designed a few rules for the persistent heroes window. When you start the game, you will have no persistent heroes. Once you start unlocking them you will be able to take up to three to a new run.

The more persistent heroes you unlocked, the amount of heroes you will be able to take to a new run will increase. Currently, we have seventeen heroes and if you unlocked them all, you will be able to take up to five to a new run.




Unlock conditions

We set up the unlock conditions so that the player would spend some time unlocking the characters. We think that we might’ve put things a little to easy. We find that we unlock a lot of them in the testing runs, so we might tweak the numbers a little more.

We have weird conditions, like finishing the game without Socrates dying once (you may guess what are you unlocking with that) and more traditional unlocks, like defeating a certain amount of gods.


We found that it was difficult to communicate the player that they had unlocked something. Should we interrupt the gameplay session to let them know? Wait till the end of the session? We decided to communicate it via an unlock window that shows up after you died or won the game. It would not interrupt the session, but it had some problems.

Suppose you meet the unlock criteria, but you quit the game before losing or wining? When will you be notified of the unlock? If you continue your run, no problem, because it will show up when you lose or win, but if you select New Game, you will lose your last session’s progress.


We decided that we would just unlock the heroes when the unlock condition is met, and we would notify the unlock next time the user loses. If players do something weird like quitting the current game and starting a new one, they will miss the screen, but they will have the heroes unlocked nonetheless.


Also, we decided that instead of placing the unlocks in the win/lose screen, we would just place a new window on top of that.


We are still working the balance issues. Like getting too powerful too soon, or some of the unlock conditions being too easy. We ran a test with a company that works with Devolver for playtesting, and we were able to secure some ideas, but it’s clear that we still have a lot of work to do. However, all of these issues might be connected to some overall and ability changes we are planning for all heroes, not just persistent ones, so it might be more complicated than just adjusting the unlock conditions.

Interesting times…

Read More

A tour through Lemnos

It’s been a while since I did one of these. This week, we’ll talk a little about Lemnos, one of the later worlds in Okhlos!


Lemnos is a Greek island, and the mythical Lemnos was sacred to Hephaestus, god of metallurgy, so from there, we imagined a city inside a volcano. Magma rivers, blacksmiths, forges, and there is a law that requires every videogame to have a fire level. Thanks Mario and Megaman!


So, for starters, we have the basic layout. It’s all cavernous, red and yellow. Exactly like inside a volcano. These are the first level boundaries that go above the horizontal line. We had some problems with these, because the bottom ones were between the user and the camera. Luckily, we usually use a script for buildings that fades into alpha everything that is between the camera and the player. We had to tweak it a little bit but it is working fine now.


Another unique addition we have in this world, is that all boundaries have these magma rivers flowing down. We used the same script we use for the fire hazards, we added a collider with a trigger, and it worked immediately. We could do a test in minutes. All very cool.


It really adds some difficulty when you are navigating the environment. Right now we are tweaking and balancing numbers to see how much damage it should deal, and all those sort of details. Another thing we are still debating is whether  it should damage enemies or not. Right now, it does. And it seems like a very natural and consistent behaviour, but we know that in some instances you might abuse it.

And because we are talking about hazards, another thing that we have in Lemnos, are fumaroles. Fumaroles don’t hurt you or the mob, but they cover your field of view, so it can get very annoying.


We have a few more hazards that we don’t want to disclose right now, you will have to reach Lemnos to find out ;)

In the enemies department, we have the well-known Automatas, which are present in other worlds as well. In this level, they have a particular reason to be in here, Hephaestus is the one building them! But besides these awful self-destructing robotos, we have a few new additions:

For starters, we have the blazing cyclops. These cyclops throw fire boulders to the mob. Pretty rude.

They have some changes compared to the classic rock thrower cyclops, besides the boulder that spreads the fire, their behaviour is a little different. In terms of HP and attack, they are more powerful than they fire-free counterparts.


Another new addition (that we might use in other worlds in the future) is the blazing Lamia. We have the poisonous Lamia in Atlantis, which spits poison to the mob. Her counter part here spits fire boulders (similar to the blazing cyclops), and eats pedestrians and people from your mob!



Finally, we decided to give Lemnos a special touch, so in the camera we added a distortion effect. Basically, what we did was to add a plane with the distortion material with a shader we found online, that distorts in the parameters we want what’s behind the plane. We are still tweaking some values for it to be cool but not nauseating.


Funny side note. I still don’t know what happened, but last time we checked, the plane inverted the Y axis, and everything went upside down. Weirdest bug of the week.



Well, that’s everything for this week! We love comments and critics, so feel free to write us to let us know what you think!


Read More

[Spanish]Guia del rata en GDC

[English speakers: Due to the nature of the update (basically a guide to spend less for Argentinians at GDC), this update will be available in Spanish only. Sorry!  ¯\_(ツ)_/¯  

Next week we’ll have a cool dev blog update in English, as we usually do!]


Hace un par de semanas, terminamos nuestra primer GDC, y queríamos compartir la experiencia. Descubrimos que para sorpresa de nadie, viajar a San Francisco no es barato, pero encontramos algunos trucos para economizar.



Los pasajes, paradójicamente no fueron lo más caro. En Okhlos somos dos. Sebastian Gioseffi y yo, Roque Rey. El primer pasaje fue subsidiado por el fondo de movilidad del Ministerio de cultura. El segundo, lo tuvimos que pagar nosotros. Lo sacamos en octubre, y nos debe haber costado $12.000 (pesos Arg.) y lo pudimos sacar en cuotas. Lo sacamos ni bien nos enteramos que el fondo pagaba uno de los pasajes, eso ayudó a que sea más barato.

Este proyecto cuenta con el apoyo del Fondo Argentino de Desarrollo Cultural – Ministerio de Cultura de la Nación

Captura de pantalla 2016-04-04 19.35.00

El segundo truco que descubrió Seba fue que los pasajes eran más baratos a Los Angeles, así que el segundo pasaje lo sacamos a Los Angeles y pagábamos un micro que salió USD$60 que iba de Los Angeles a San Francisco. El problema con ésto es que el viaje se hace estúpidamente más largo.

Una vez llegado al aeropuerto de SF (si no entramos por LA), una opción económica es la contratación de charters. Uber y Lift son más baratos que un taxi, pero los charters rondan los usd$15, menos que la tercera parte del costo de un taxi. Si bien en teoría hay terminales en los aeropuertos, yo no las pude encontrar, pero había contratado el servicio con antelación, y en la zona de charters cuando me apersoné simplemente dije mi nombre y no tuve más problemas. También estaba pago de antemano, así que ni siquiera tuve que manejar efectivo.

Costo del pasaje: $12000 + usd$60 + usd$15


Las entradas a GDC son casi prohibitivas para la economía local. Las grosas salen usd$2000, habiendo pases mucho más económicos pero mucho más restringidos en cuanto acceso.

No puedo decir si realmente hubieses disfrutado la convención con uno de los pases baratos. Simplemente donde me mandaba me dejaban pasar. El expo pass creo que solo te deja pasar al expo floor, y eso es bastante limitado. Distintas charlas tienen distintos requerimientos de pases. Había un pass que era exclusivamente para VR, y si tenías un pass más barato no podes acceder a esas charlas.

Nosotros conseguimos dos pases All Access. Uno fue cedido muy amablemente por la Game work jam, aprovechamos este medio para agradecerlo, y el segundo pudimos conseguirlo por diferentes e-mails, y hablar con bastante gente.


A lo largo de éste artículo, van a surgir todos los costos del viaje, así que como van a ver, no es barato. En lo particular, no sugeriría ratonear en el pase. No tengo la experiencia de un pase más barato, pero hay una tranquilidad brutal en el saber que si te surge una reunión o un evento de imprevisto tenés acceso a la GDC Vault, cosa que te lo da únicamente el All Access.

Básicamente, la GDC Vault te permite ver todas las charlas al mes y pico de terminar la GDC. Todavía no lo probé, pero me aseguran que funciona. Si no hubiese sido por esto, hubiese tenido un montón de decisiones difíciles como perderme un evento por ir a una charla que me interesa.

Lo que estuvimos viendo hace unos meses, es que hay muchas alternativas para conseguir entradas de arriba. GWJ es una. Ellos consiguen las entradas y las reparten. Uno de los requisitos, por lo que tengo entendido, es que el beneficiario no haya sido beneficiado el año anterior.

A parte de eso, estuve viendo algunos ofrecimientos algo más grises, como asociarse a X, que conlleva un costo, y  que consiguen entradas de cortesía, como la GWJ, y las reparten (la diferencia con la GWJ es que ellos NO cobran. Los beneficiarios simplemente aplican a la “beca” sin necesidad de crear ninguna relación con la misma). Por lo que, con suficiente tiempo, no es imposible conseguir entradas para la GDC.

Costo de las entradas (esta vez al menos): $0


San Francisco es caro [cita requerida] . Nosotros conseguimos lo que en la comunidad de desarrollo de Argentina es ya Vox Populi, que es el Hi San Francisco City Center.

Las primeras impresiones del Hostel pueden ser un poco duras, pero después te vas dando cuenta que el ambiente es super sano, y está lleno de estudiantes y adolescentes.

El Hostel está en Ellis St. 685, en el barrio de Tenderloin. Muchas amistades internacionales, no acostumbradas a los trajines que los porteños vivimos en la city me advirtieron sobre el barrio. La realidad es que particularmente la calle Ellis es bastante jodida, pero caminás un par de cuadras por las paralelas y listo. Definitivamente no es turístico, pero es peligroso para el primer mundo. Nosotros estamos curtidos de eso, no hay mucho que nosotros no hayamos visto acá (con un par de particularidades).

El hostel sale alrededor de us$45 la noche en una habitación de 4 a 6 camas. Para nosotros es carísimo, pero para los precios que manejan allá, es estúpidamente barato. Nosotros pudimos hacer la reservación hace varios meses. Como uno de los pasajes estaba pagado por el fondo de movilidad, y no sabíamos los detalles del viaje,  la última noche que me quedé en SF me quedé sin cuarto. Afortunadamente pude conseguir una habitación single, que estaba USD$150, el triple que la normal. Increíblemente, después de dormir en una habitación con cuatro personas, tener una habitación para uno borda casi el lujo, así que no fue un gasto que no pagase con gusto. La habitación la compartí con Seba, @crihnoss y un canadiense simpático que también iba a la GDC.


Hostel Indie, en SF está lleno de escaleras de incendio.

La oferta hotelera en la zona rondaba los 200-300 dolares la noche. De vuelta, estúpidamente caro. Sobre todo porque la GDC dura una semana. El hostel incluía desayuno, bastante básico, pero cumplía.

El costo de mas o menos de Hostel fue aproximadamente USD $400 dolares para mí, y usd$250 por Seba.


El costo de la comida es, nuevamente, prohibitivo para la mayoría de nosotros.

Lo que descubrimos desde el primer día es que en las fiestas importantes dan comida grátis. Estando en SF habré comprado comida 3 veces únicamente. Siempre conviene ir a las fiestas lujosas de empresas grandes que suelen dar comida, comer y tomar como si no hubiese mañana, y después ir a las fiestas más copadas que es donde está la escena independiente.

En comida en SF habré gastado menos de usd$40. Pero realmente fui rata. No es una referencia para todos, salvo para los que estén dispuestos a skipearse algún almuerzo cada tanto.

Costo en comida aprox: USD $100


Anexo: Media Indie Exchange

Ya que íbamos a la GDC, nos invitaron a participar del Media Indie Exchange, que se realiza en las oficinas de IGN. Participar sale usd $25. Y si quedás, te sale usd$250. Ellos te dan un monitor y un lugar. Nada más. Tenés que llevar tu computadora, control, etc.

A nosotros nos eligieron, y la experiencia fue bastante buena. Además de participar el lunes (primer día de GDC) en el evento, nos seleccionaron junto con 8 juegos más del MIX para participar en unos streamings que estaba organizando Gamespot.

Así que al mediodía estuvimos en Gamespot mostrando el juego, y a la noche, a partir de las 6 hasta las 11pm, estuvimos mostrando el juego en IGN (no hace falta decir que en ambos hubo morfi gratis, y en IGN, del bueno, junto con alcohol).

Si bien la experiencia fue positiva, el primer día casi no estuvimos en GDC, y la idea del MIX es presentar desarrolladores independientes con prensa, y el evento de la noche brilló por la ausencia de prensa en general. No había mucha prensa especializada, pero sí desarrolladores y algunas figuras de la industria.


El lugar de Okhlos en la previa del MIX. Estaba muy dormido para sacar fotos durante el evento

El costo que tuvimos fue de usd $275 . Y ojo al piojo que podes pagar usd$25 y no quedar.


Costos extras:


Si no tenés visa o ciudadanía europea, vas a tener que agregarle usd$160 para poder entrar a Estados Unidos. Lo malo de estos 160, es que pueden bocharte y no te devuelven la plata. Así que mientras sigan pidiendo visa, este es un costo para agregar. Y nosotros, fuck logic, ya levantamos la tasa de reciprocidad.


Más obvio aún que la visa, en esto se te van $400 más o menos.

Lo bueno es que ambos extras son un pago de una sola vez. Después ya quedan. (Idealmente hablando).

Aproximadamente el costo de ir a la GDC fue: Aproximadamente USD $2000

Esto cubre dos personas, siendo bastante rata, con entradas de arriba, y uno de los pasajes subsidiados por el fondo de cultura. De no haber tenido subsidio, hubiese salido aproximadamente USD $3000.


Como pensamiento final, la primer GDC siempre es caótica. Hay un montón de sutilezas que aprendés estando ahí que son intransferibles y hay que vivirlas. Entiendo que la segunda GDC tendría que ser mucho menos caótica y más productiva que la primera.



Read More
content top