Saturday, January 3, 2015

Trabajemos en equipo y vamos a pachas

Holas,

Hoy os traigo uno de esos temas complejos por la cantidad de matices que albergan pero que hasta cierto punto se puede simplificar, no es otro que el "juntemonos para hacer un juego y vamos a pachas con los beneficios". Algo tipico en indies, ya que no tenemos pasta, asi que o nos juntamos varios y hacemos un juego a ver si conseguimos algo o lo tenemos crudo, pero, ¿está la gente realmente preparada para hacer sacrificios?

Que quereis que os diga, no encuentro a gente seria para montar un equipo donde se haga un reparto justo segun el proyecto.

Personalmente no soy de ir a pachas asi tal cual, que es lo primero que te suelta cualquiera, lo ideal y mi forma de ver esto es calcular el tiempo que cada parte va a dedicar al proyecto, y en función de ese tiempo establecer un porcentaje "justo".

No suelo a entrar a valorar la complejidad como tal porque me parece un factor ya incluido en la valoración, es decir, ya hemos acordado que vamos a hacer un call of duty, como grafista ya sabes de sobra los gráficos que tienes que hacer, (que no eres nuevo), por lo tanto ya sabes como de complejos son y mas o menos lo que te va a llevar hacerlo todo. Con lo cual cuando des tu estimación de tiempo ya has contado lo que te va a costar, la "calidad" de los mismos, etc, sean gráficos realistas, sean cartoon, sean sprites2d, etc, etc, etc.
Y lo mismo con el resto de integrantes, a mi me la sopla como de complejo pueda ser el codigo, yo calculo cuanto me va a llevar todo, sin importar si la programación tiene mas o menos peso en el conjunto.


Ejemplo de un proyecto en el que iba a trabajar pero que por razones obvias la cosa no llegó a mas.

La programación del mismo estimé que iban a ser unos 6 meses y eso sin entrar en el tiempo extra que luego supone arreglar bugs una vez publicado y lanzar updates de mejoras en plan, "pues vamos a quitar estos ads y poners estos otros, y vamos a poner 2 iaps nuevas de monedas y de armas", cosas que al resto de miembros del equipo no les molesta porque no tienen que hacer nada.
El grafista estimó que en 3 meses lo tendria todo listo, el musico dijo que 3-4 semanas.
Una vez con esos datos me soltaron la frase magica, "vamos a pachas los 3 que somos equipo", a lo que respondí, "el equipo y mis cojones 33".
Algo aceptable y mas a tenor de que luego iba a añadir iaps, ads y otras chorradas varias, era que yo me llevaba el 60% y el otro 40% se lo repartieran ellos 2 como mejor les conviniera y aun me parecia generoso pues tendria que haber sido el 70%. 
Sobra decir que me dijeron que ni de coña, ¿que clase de persona era yo que queria cobrar mas?, pues no se que clase de persona soy, pero desde luego gilipollas no.

Pongamos otro ejemplo de proyecto en el que colaboré hace unos años, el grafista se limitó a dejarme los assets en una carpeta en dropbox, y yo tuve que hacer todo el trabajo de importarlos en unity, crear los materiales, añadir shaders e ir probando a ver cual quedaba mejor, plantear toda la interfaz con NGUI y montarla yo incluida la generación del atlas.
El señor era un profesional y por menos de un 50% no se molestaba en currar gratis, coño, ¿y yo si que puedo currar gratis?, ¿te tengo que dar un 50% cuando no haces nada y yo me como todo el marrón?.


Asi pues, ¿como os las apañais para gestionar un equipo?

Friday, January 2, 2015

Aprendiz de todo maestro de nada

Holas,

Toca cerrar el 2014 y que mejor que hacerlo con un post de un tema que me tiene fascinado, fascinado por la tonteria que desprende el mismo, o falta de sentido común, es una de esas cosas raras que hacen los seres humanos que carecen de logica.

Hay un dicho que es que "un programador esta en constante actualizacion, siempre tiene que aprender cosas nuevas", la verdad, no me extraña, con la cantidad de "mierda" que sale constantemente es logico que tengas que estar en constante actualización.

Sinceramente me parece una soplapollez de campeonato y no veo motivos para dicha "actualización". Siempre he pensado que los programadores son gente que solo buscan amargarse la vida inutilmente, complicandose la existencia de mala manera.

Veamos, digamos que en los albores se creó el C, (no vamos a entrar que si el cobol y las tarjeta perforadas, bla bla bla) vale, luego se creó el c++ que lo mejoraba y tal, luego el tal y luego el pascual, y luego el mengual, coño, es normal que tengamos que estar en constante actualización si siempre sale un tontopollas queriendo diseñar el lenguaje definitivo o el framework que arregla todo y no arregla nada, al final solo tenemos tropecientos lenguajes/frameworks a cada cual tan o mas inutil que el anterior, porque mientras que arregla X, estropea o complica Y.

¿Necesitamos tantos lenguajes?, ¿tantos frameworks? ¿de verdad?, a mi me parece un ejercicio gratuito de un ego inmenso y poco mas. Supongo que teneis razón, en la variedad esta el gusto, cada uno se siente a gusto con una cosa distinta.

Pongamos el reciente caso de los señores de apple, su sistema hace aguas, llevan años dando por saco con productos que han perdido mucha de su calidad, lanzamientos aprisa y corriendo anuales y no se les ocurre otra cosa que, "ehhh troncos que vamos a crear un lenguaje nuevo y aqui esta swift", ohh really??, ¿de verdad apple?, tenias que malgastar a un puñado de ingenieros para crear un nuevo lenguaje que aporta.... ¿nada? respecto a obj-c, claro claro, es mas moderno, y... coño si parece una copia de javascript, pero ehhhh que es cool, aprendamos una cosa nueva, ¿y para que usar javascript directamente?, ya creamos un lenguaje nuevo hombre.

¿No era mejor revisar el mercado y usar alguno de los lenguajes ya existentes?, yo que sé, java, php, python, ruby, joder, no será porque no hay para elegir. 
Pues no, como digo, desde mi punto de vista un mero ejercicio de ego, y lo hago porque yo lo valgo y punto, y saco mi lenguaje porque si.

Logicamente ahora como programador ya sabes, ponte a aprender un lenguaje nuevo como si no tuvieras nada mejor que hacer... porque claro, como no controles tropecientas cosas eres un programador estancado, no vales, no tienes entusiasmo, etc, etc, etc. Supongo que es una cuestión de que nos mueven objetivos distintos.

No se vosotros, pero yo esto lo veo como un trabajo y como en todos los trabajos se necesitan unas herramientas, si tengo un set de herramientas no veo porque necesito otro que apenas me aporta valor, yo no me hice programador por trastear con tecnologia, no me llama la atención el probar tropecientos frameworks para hacer lo que ya hago con el que tengo.
Me hice programador  por cumplir un objetivo, lease hacer un juego o una app, y para eso necesito X, me da igual si fulanito lanza XX, YY o HH, si no me aportan mejor que lo que tengo a todos los niveles no voy a usarlos ni a gastar mi tiempo en aprenderlos, no los necesito.

Porque cuidado, una cosa es aprender cosas nuevas utiles, lease optimizaciones, etc, y otra lenguajes o frameworks para hacer LO MISMO que ya estabas haciendo, pero mejor, claro, siempre es a mejor...

Porque cuidado que aqui llega la trampa en la que muchos programadores caen, aprendiz de todo maestro de nada, cuando controlas de tantos lenguajes y frameworks, al final no controlas de nada. Solo tienes un conocimiento basico de cada cosa, pero no eres capaz de ahondar en dicho framework/lenguaje y sacar sus trucos, simplemente porque no tienes el tiempo necesario para ahondar en dicho lenguaje/framework, hoy hago una app de ios, mañana de android, pasado estoy con backend, al otro estoy montando un wordpress con un prestashop, al otro estoy haciendo un juego, lo dicho, aprendiz de todo y maestro de nada.

Alguien ahora estará diciendo, claro hijo mio, se crean esos lenguajes/frameworks porque resuelven unos problemas, ¿y quien creó dichos problemas?, nosotros, porque si nos fijamos hay una serie de problemas que se van creando con cada nueva cosa que sale, esto arregla X, pero complica Y.

Ejemplo tipico:
-Javascript se lanzó para arreglar X, pero al final se quedó a medias y es un asco, no pasa nada, vamos a crear "tarari" que arreglará esos problemas de javascript, y ohhh wait, acabamos de introducir mas problemas....





Wednesday, December 17, 2014

Trabajo remoto

Buenas,

Me gustaria tocar uno de los temas mas deprimentes de este sector, el teletrabajo, algo raro de narices y muy poco usado.

Cuando trabajaba en el sector de la construcción estaba claro que el trabajo era presencial, la pared no se iba a levantar sola ni a distancia, y yo pensaba (iluso de mi) que molaria mucho programar y poder trabajar desde casa. 
Al fin y al cabo somos los reyes del mambo, ¿no?, tenemos el sector mas innovador, mas puntero, una serie de avances increibles, construimos redes sociales y manejamos el cotarro.
Pero todo esto no es mas que una fachada cutre para la realidad que se esconde detras, un trabajo retrogrado y anclado en el siglo pasado, donde la cultura del presencialismo es vital, y no se entiende el "trabajar desde casa".

Llamadme raro como siempre, pero un trabajo que se supone va por objetivos como este, no veo porque carajo tengo que estar en una oficina X horas cuando podria trabajar en otro horario, o simplemente hacerlo remoto y ahorrarme el transporte.

Porque cuidado, aqui hay 2 cosas, una es teletrabajo "de calidad", donde la empresa te da un portatil, te paga la factura del adsl, y otra cosa es lo que yo le propongo a las empresas, yo gasto mi ordenador, mi mesa, mi electricidad, mi adsl, tu te ahorras una pasta y aun asi no se te pasa por la cabeza considerar la posibilidad siquiera de que se pueda trabajar fuera de la oficina.

A dia de hoy todavia no he encontrado una buena razon por la que tenga que mudarme para un trabajo que perfectamente se puede hacer remoto, mas alla de "vienes a mi oficina porque te pago y porque me sale de los...."

Si por ejemplo una empresa hace juegos para ps3 u otra consola, entonces SI, no tengo mas narices que mudarme, rechazar la oferta,etc, ¿por que?, pues porque el sdk es privado y la compañia no va a meterse en lios enviandome un kit a casa, asi que para evitar disgustos (y problemas legales) vas a la oficina y punto. Me parece logico, de sentido comun y una respuesta razonable.

Pero, ¿y las cientos de empresas que buscan programador ios/android para hacer juegos (o apps) y en las que vas a trabajar mas solo que la una?, porque si señores, en muchas empresas al final sois un equipo de 4 personas, pero cada uno hace una cosa, aka llamado ser una consultura ¿donde esta el trabajo en equipo?, porque oiga, para ir a su oficina y sentarme a trabajar yo solo en un proyecto en mi mesa sin poder trabajar codo con codo con mis compañeros, no veo razón alguna para que no pueda hacerlo desde mi casa...
Personalmente me da lo mismo trabajar en proyectos propios de la empresa, que la empresa trabaje para terceros, en tanto en cuanto yo trabaje en un equipo le veo sentido al trabajo presencial.
¿Que gano yo con ir a tu empresa?, no crezco profesionalmente porque trabajo solo, para hacer un juego de movil/pc lo puedo hacer perfectamente aqui y no necesito estar alli.  La prueba mas reciente seria FullBlast que se ha hecho entre 2 personas que no se conocen fisicamente.

Ahhh cierto, el miedo, "claro es que no se si trabajas", bueno, ¿y que pasa con los periodos de prueba?, para mi esto tiene 2 claras vertientes.
La empresa x me quiere contratar y me ofrece remoto por comodidad, pruebo 1 semana y si no doy resultados porque no soy una persona que sabe trabajar desde casa, pues aparecen 2 opciones:
1- me despiden (si señores sin mas historias, no he cumplido y punto)
2- me dicen que o voy y trabajo alli en local o no me contratan

Tan sencillo como eso, si no cumplo con el objetivo marcado y se ve claramente que me he estado tocando los pies (no commits, no comunicacion, no mails), pues a la calle y punto.

Como decia, "es que no se si trabajas", bueno, ¿y que pasa con los commits que se van haciendo a diario?, ¿que pasa con la lista de tareas de trello?, vamos que por formas de ver como va evolucionando el proyecto no será, falta ganas de cambiar la forma de trabajar.

Como digo, sentido comun, todavia no he visto una situación donde realmente se requiera estar en local, vamos que realmente se vea la ventaja de decir, "coño es cierto, se necesita estar aqui porque X",  y es una pena que teniendo un trabajo tan avanzado estemos en la edad de piedra a la hora de manejar los trabajos. 
No veo ganas de querer cambiar metodologias, a ver, ¿no se supone que los programadores tenemos que estar en constante formación?, pues en este caso veo que una parte de la ecuacion no tiene muchas ganas de "evolucionar".
No digo que se trabaje solo remoto, hablo de ofrecer la posibilidad a la gente como yo que servimos y tenemos la disciplina necesaria para currar cuando toca. 

Solo veo que se contempla la opcion de remoto cuando el candidato tiene un perfil del carajo y la empresa "hace un poder" y se resigna a aceptar el dejarlo "libre", para el resto de mortales, o vienes a mi oficina o no molestes.

Lo peor de todo es que me hayan contratado en una empresa del libano para trabajar remoto, si, asi tal cual, me ofrecieron trabajo (bendito linkedin), les dije que no queria mudarme y me dijeron de hacerlo remoto. Lo mismo me pasó con una empresa de california, misma situación,  vamos que los "giris" han tenido la mente mas abierta, sin embargo aqui en españa no he tenido suerte en ese sentido.





Wednesday, December 3, 2014

¿Proceso de selección en empresas?

Hola,

Hoy queria compartir algo que me ha pasado ya en 3 ocasiones y supongo que pasará mas. El "weird" proceso de selección de algunas empresas/empresarios.

Como siempre digo, lo mismo es que no entiendo cual es el factor que se valora y tengo una visión un poco rara. Os cuento como lo veo yo.

Supongamos que quiero hacer un juego para movil, pregunto a un amigo y me dice que contacte con fulanito porque es "de fiar y es un profesional", le contacto y miro su portfolio, si su portfolio tiene cosas interesantes (o lo que busco) tengo una entrevista con el a ver que clase de persona es y para saber si puede gestionar mi proyecto, y obviamente si me convence pues pasamos a la fase de presupuestos.

Asi veo yo un proceso de "seleccion", facil y sencillo, quiero referencias de esa persona y ver que trabajos tiene hechos para ver si es capaz de gestionar lo que quiero hacer.


Ahora cuento lo que me ha pasado

Resulta que pongamos que quiero hacer un juego, contacto con un colega:
-oye no sabras de nadie para hacer un juego de movil
-pues si, mi amigo patatin es bueno, contactale, su mail es colega@patatin.com

El colega me avisa de que ha dado mi contacto a una persona porque esta buscando a alguien, asi que en breve probablemente recibiré un email, pues perfecto, un posible cliente :)
Pasada 1 o 2 semanas me contacta mi colega para ver si al final estoy haciendo ese trabajo o no, le digo que no, que no he recibido email de nadie.

-Que raro, estaba buscando gente y no encontraba nadie de confianza
-Pues yo no tengo email alguno, ni en la carpeta de spam

Dias mas tarde descubro que esa persona no me contactó porque se asustó por mis comentarios en twitter, es decir que mi cuenta de twitter que uso para cachondeo es lo que tomó como referencia, ni portfolio ni hablar ni nada, "que tonterias dice esta persona en twitter, no me interesa".
Lo gracioso de esto es que si piensas guiarte por la cuenta de twitter de alguien, al menos podrias leer la bio ¿no?, porque leyendo mi bio (de twitter) dice que es una cuenta de cachondeo, con lo cual no veo razon para asustarse....

En cualquier caso lo que veo logico seria que si alguien me dice que contacte con fulanito porque es "de fiar", le contacto y miro su portfolio, si su portfolio tiene cosas interesantes (o lo que busco) tengo una entrevista con el a ver que clase de persona es y para saber si puede gestionar mi proyecto, y obviamente si me convence pues pasamos a la fase de presupuestos, pero ¿guiarme por lo que diga en una red social?, ¿que pasa que solo buscamos apariencias?

Pues asi se las gastan algunas personas que valoran lo que digas y la apariencia que se da al exterior, vamos como el tipico que va con un mercedes y parece un potentado cuando en realidad no llega a fin de mes y el mercedes no es mas que fachada, lamentablemente en españa veo mucha gente asi, tanto la que ofrece servicios como el que quiere contratar que espera ver a alguien con el mercedes para "sentirse seguro".

Sunday, November 30, 2014

Trabajar en equipo

Hola,

En twitter salia un interesante tema de @nazariglez de como fallan proyectos por culpa del equipo y es algo normal, a pesar de que las personas trabajamos mejor en equipo, tendemos a ser individualistas y buscamos nuestro propio beneficio. Encontrar las personas adecuadas no es tarea facil y no todo el mundo congenia bien con todo el mundo, otras veces es la persona que dirige la que no sabe como sacar el maximo de cada persona para que todos luchen por el mismo bien comun.
Por lo general cada persona tiene sus propios intereses y conseguir que todos remen en la misma dirección no es nada facil y no hay una solución facil. No queda mas remedio que contratar a esa persona y probar suerte, supongo que para eso estan los procesos de adaptacion.

Tendemos a mirar la cualificación primero, y suponiendo que esa persona destaque entonces la entrevistamos porque necesitamos un super crack en el equipo, ¿de veras?, esta claro que buscar a un pro es la tendencia natural, al fin y al cabo una empresa busca contratar a alguien super top notch, o sin ser una empresa, un grupo de gente que se junta para un proyecto. Claro, no vamos a pillar al noob de turno, no nos aporta nada.

Yo por ejemplo he trabajado en varios proyectos y todos han sido cancelados o han muerto, por lo tipico, cada persona tenia un objetivo, no te entendias con ellas, no habia feeling, alguien se cansaba y lo dejaba, etc. El unico proyecto en el que he trabajado con exito ha sido FullBlast, y es curioso porque hablamos de un proyecto de 2 personas que no se conocian de nada, yo a mi socio no lo conocia ni el a mi, puse un post en un foro, el respondió, evaluamos nuestras posibilidades y empezamos a trabajar, luego la cosa fluia perfectamente, y fluia porque habia buen rollo, los 2 eramos profesionales que sabiamos donde nos metiamos y no pediamos features imposibles o dificiles de alcanzar, no estabamos tratando de hacer un call of duty o un MMORPG, y eso ayuda mucho, tener los pies en el suelo es fundamental a la hora de afrontar cualquier proyecto, ser realista con tus posibilidades y con el tiempo que tienes para llevarlas a cabo.

Solemos tirar a lo grande, a sobredimensionar algo, y al principio todo son risas y diversion, luego conforme pasa el tiempo la cosa se enfria, acabamos hasta las pelotas del proyecto, con lo que los roces entre los miembros del equipo se hacen mas evidentes, se empieza a pensar que todos son gilipollas menos tu, etc, etc. Y al final el proyecto se va al carajo, o se encuentra a la "pieza" culpable y se sustituye.
Cada persona tiene sus motivaciones, hay que ver si esas motivaciones encajan con el equipo y con el resto del equipo, porque lo mismo esa persona solo quiere estar un breve periodo y se la suda todo, otros que no se fian de nadie y no paran de decirle al resto lo que tiene que hacer, otros no aceptan que les digas nada, creen que saben mas que nadie y no les interesa lo que digas, luego estan esos que escuchan pero no te hacen ni puto caso y a pesar de que les dices lo que esta mal ellos siguen a la suya sin cambiarlo porque total "yo lo hago asi".
Lo que yo mas hecho en falta es el sentido comun, algo que parece que en esta sociedad cada dia escasea mas y mas, si lo analizas todo desde el sentido comun muchas cosas caen por su propio peso.

Por ejemplo como programador yo quiero aprender, ver como otros hacen las cosas y ver como puedo incorporar sus tecnicas a mi repertorio, mejorar lo que hago mal, y eso supone escuchar y estar abierto a lo que te digan, y encontrar una empresa asi cuesta mucho. 
Yo por ejemplo soy un cabezon y no hago caso a cuestiones esteticas salvo que sean graves, si a ti te gusta poner el void Hola(){ a mi lo mismo me gusta poner el parentesis en la proxima linea, y probablemente no cambie eso porque me parece una gilipollez que no aporta nada, es una simple mania personal. Pero si me dices que ponerlo en la misma linea ayuda porque se mejora el rendimiento y me das datos contrastables estare feliz de cambiar mis habitos. Como digo, sentido comun y practicidad.

Ademas siempre he pensado, ¿para que coño vas a trabajar a una empresa si no estas dispuesto a hacer un esfuerzo por integrarte?, porque para eso trabaja por tu cuenta y no pierdas tiempo, y mas importante, no se lo hagas perder a los demas.

Trabajar en equipo supone adaptarse, cambiar tus costumbres, perdonar los errores de los compañeros (que todos somos humanos y la cagamos, yo a diario), y saber aguantar mucho. A veces haran cagadas que te cabrearan, y trabajar en equipo supone saber perder, porque una de las cosas "malas" que tiene trabajar en equipo es que no todo el mundo rinde al 100%, mientras que tu lo mismo trabajas al 100% un compañero puede hacerlo al 80%, y eso te molesta porque luego al final quiere repartir el pastel y todos iguales, esto es causa de que muchos proyectos se vayan al carajo.

¿Trabajar en equipo?, hell yeah, pero solamente si tienes suerte de encontrar un equipo genial :)




Thursday, November 20, 2014

Over protection and misunderstandings

Hi,

Well well, my last post on gamasutra sparked the rage on some people, curious how a post can be misjudged so easy.
 My idea of the post about how much the mobile market sucks comes from this theory, Tragedy_of_the_commons ,my goal was to state the current situation of the market, nothing else. 

But instead people saw that as an attack to f2p, another kid crying, just go home, bla bla bla. Only a few people understood the point of the post, it's obvious that I was not able to express my thoughts properly.
And one thing is for sure, the post was just a mere "I'm gonna express my thoughts about this", but instead the post proved one thing, when someone talks about something completely opposed as the "reality" of the market, people usually get it as an attack, really sad, but it's in our nature as human beings to protect what's important for us and blame to anyone who thinks different.

Like I said, WE changed the market, if we did it, we can change it again, but of course, you like the market, so I'm acting against you, and as expected I'm considered a troll, because (generally speaking) people don't want to change anything.

One thing really funny from gamasutra comments was that, "the market wants this", sure, I can imagine all of you on your offices receiving tons of emails per day like this:
"Hey I saw your game but I cannot pay 5$ to buy the game, please make it free and I will play it"
So you play according to those emails and decided, hey, the market wants it free, let's do it!!!!!, it's what the market wants!!!!
Right?, is that what happened, right?
 
I respect f2p or any other thing, do you want to use f2p in your game?, fine, it's your game, your business, do as you please. I'm not stopping you, am I?

I hate the mobile market because right now is a "f2p/freemium or nothing", there's no room for paid games anymore (well, general sales say so), and that, even if you don't want to accept it, limits my creativity (and yours as well) because I need to think how I'm gonna sell the game instead of thinking about the game itself.
And as I stated, f2p is not a valid model for all games, some games can fit nicely on the f2p scheme, so use it, but what happens with the rest?, well, we are forced to include shitty purchases that have nothing to do with the game and hope for someone to buy our shotgun/powerup/whatever and get some bucks from it.

Clear example, pretend that I want to make a resident evil game, I need to think how I can sell that, probably putting all weapons as IAPs, maybe some special ammo too, how about health packs?, and if none of this make sense, then I have to discard the resident evil idea and move to another idea. 
So, what if I really wanto to create that resident evil game?, well, with the current f2p scheme in mobile market there's no way to have this working, not in an attractive way to get money from users, because the ideas to monetise the game sucks.

Of course, we all have to deal with this, sure, I have no doubts about it, deal with it if you want, I'm just moving to another platform with a paid market, I'm tired of this bullshit of f2p/freemium, so, for me mobile market is no longer a valid platform, as simple as that. No rage, no "kill f2p", I'm just moving on :)
 

Friday, November 14, 2014

Is mobile market wrong?

Hi,

A month ago I've released a game for mobile only (FullBlast), the game went bad, pretty bad (as expected on mobile, poor visibility, a few people interested in a paid game), and we've suffered  hundreds of 1 star reviews because it's a paid product, and now Monument Valley is suffering the same punishment as well.

The point is, what's wrong with mobile market?, I say nothing, the market just follows the direction that WE developers gave it.

If you recall a few years back, 2009, the "launch" of the iphone (yeah it was not exactly the date but you get the point), it was a beautiful store, you were able to put your product on a store by yourself (finally indies can go live) and the range of prices vary a lot, from 2.99$ to 9.99$, very good prices for most of the actual games available on the store. So, what happened?, well, a bunch of losers decided that:
- "hey, my game is not as good as yours (lack of confidence bro), so I'm gonna lower the price to make it more attractive to customers"
And that started the race to the bottom to the "standard" 0.99$ for an app/game. Which for an app/game made in 2 weeks/1 month, that could be a very good price, but not for developers that spent months to create a quality product.

With that race to the bottom, the big guys decided to jump in, so, if I can buy dead space for 0.99$, why should I buy your less poslished indie game for more or even the same the price?, and that started the freemium/f2p era, ok, let's put it for free and rely on ads as our main income, or include shitty purchases.

And what happened?, well, we created the market that we actually have, a place full of trolls expecting everything for free, rating your game with 1 star just because you don't rely on that stupid freemium model, nor ads, nor IAPs. That happened to me, and now it's happening to monument valley as well.

My point of view is NO, this is NOT what market wants, this is what WE told the market, we gave free candies to the users, and now users are upset if we try to stop offering more candies for free. As simple as that.

Maybe it's time to think about it, stop the freemium era and move back to the paid model with no IAPs, nor ads. The actual market is not a sustainable model if the vast majority of devs barely make 1000$ in revenue. 
Of course someone will tell bullshit about capitalism, you know, only the strongest survive, bla bla bla, but I don't think so. If we all have to behave the same way, there's no competition at all, there's no place for "someone did something different and stood out of the crowd".

For me this is a now or never, or we move back to the paid model or we all die in a few years and only a few big studios will remain alive, if you are not able to recoup your investment, you will not create more games as simple as that. The f2p is not a valid model for ALL games, some games are not suitable for such model.
No need to say that big guys like zynga, king and others are making tons of money per day with their free products, and they will not leave the ship, well, maybe they can remain free, but for the rest of us? let me tell you, you are really limited in your creativity if every time you want to create something you need to think hard about how to put your IAPs and if people will buy them, or just discard the idea because the IAP model cannot be implemented and you have to look for some other idea.
You have to create a game around IAPs, balance the game to encourage people to buy your stuff, and that my friends limits your creativity completely. You have no freedom at all to create a game that can work very well as a paid game without any IAPs, but instead you are forced to include IAPs if you want to survive or make any money at all, and don't try to charge for an expansion like monument valley did:
- how dare you?, I've paid for the game, and now you have a bond for life with me to include anything else you want to put in the game for free.

Probably I'm just a fool, a nobody who has no idea about markets and stuff, someone that just wants to create a game and don't be bothered about how I will put this machine gun as IAP to get some bucks.

Time will tell.