miércoles, 13 de diciembre de 2017

Rock Climber - Part 14

Español | English






Hola de nuevo!

Volví después de mucho tiempo. La razón por la cual estuve ausente fue por el estudio, decidí suspender el proyecto hasta que termine con todos los exámenes y acá estoy.

Estoy retomando en donde había dejado, la creación de niveles.

Por ahora lo que estoy haciendo es armar una especie de "plantilla" de cómo van a ser los niveles, utilizando elementos temporarios. Luego, simplemente va a ser reemplazar por los sprites correspondientes y agregar las animaciones.

Hasta ahora ya tengo definido los primeros niveles, que van a ser introducciones de los distintos obstáculos del juego, para que el jugador vea qué le conviene hacer cuando se encuentra con cada uno. Luego, planeo ir mezclando los obstáculos e incrementar la dificultad.

El juego va a contar inicialmente con 15 niveles y hasta ahora el sistema de puntaje que se me había ocurrido consiste en que cada nivel tenga 3 monedas y el jugador tenga que agarrar las 3 para conseguir el máximo puntaje.

Todavía queda por ver cosas como, requerir que el jugador tenga X monedas en un nivel para desbloquear el siguiente o cosas así. También lo que esta en duda por ahora es cómo llevar el ritmo del juego.

Principalmente, el juego puede consistir en precisión y seguridad, por lo que cada jugador puede realizar cada nivel sin límite de tiempo o alguna presión, lo que hace que el juego tenga un ritmo más lento y calmante.

Por otra parte, se puede elevar el ritmo del juego incentivando a que el jugador tenga que tomar decisiones apuradas, así como un límite de tiempo en los niveles o que la cámara se eleve automáticamente y que el jugador no tenga que tocar el borde inferior, lo que hace que el juego sea de precisión y reacción.

Aunque también se pueden tener ambos casos, algunos niveles que sean más relajantes mientras que otros sean para un desafío mayor. Una combinación de ambos estilos puede ser interesante, ya que pueden dar un buen balance a la experiencia general del juego.

Así que seguiré trabajando en los niveles para poder avanzar.

Hasta la próxima.

-L


-------------------------------------------------------------------------------------------------

English




Hi again!

I've return after a long time. The main reason why I was absent was because of studies, I decided to suspend the project until I've finished taking all my exams so here I am.

I'm picking up were I left off, creating the levels.

For now what I'm doing is to build up some king of "template" of how the levels are going to be, using temporary assets. Then, I'll simply replace the sprites and add the animations.

Right now I have defined the first levels, they will be introductions to the different kind of obstacles that there are, so the player can see what is the best thing to do when they come up. Then, I'll start mixing the obstacles to increase the difficulty.

The game will initially have 15 levels and for now, the scoring system I've came up with consist on having 3 coins on each level so that the player has to grab them all to have the maximum score.

I still need to decide some things like, making the player have X amount of coins on one level in order to unlock the next one or things like that. What it is also in doubt is the rhythm of the game.

Mainly, the game can consist on precision and safety, so that the player can do each level without a time limit or some kind of pressure, which makes the game have a much more slow and calming rhythm.

On the other hand, the rhythm can be elevated by forcing the player to make quick decisions, something like a time limit or having the camera go up automatically and forcing the player not to touch the lower border of the camera, this makes the game more about precision and reaction.

Although the game can have a mix between the two styles, having some levels more relaxing while having other levels which are more challenging. A combination of both styles could be interesting, as they can bring a good balance to the overall experience of the game.

So I'll keep working on the levels in order to advance.

Until next time.

-L

domingo, 17 de septiembre de 2017

Rock Climber - Part 13

Español | English



Progresando.

Como mencioné antes, lo que me falta para poder a comenzar con los niveles son algunos obstáculos.

El último que quería crear es uno de nieve, en el cual si el personaje salta hacia él, va a cavar la nieve para ver que recompensa obtiene.

Todavía no lo pude terminar de crear pero pude corregir algunas cosas que había hecho antes.

De todas formas, me di cuenta de que el código me estaba quedando muy largo y se estaban empezando a mezclar las cosas de prueba con cosas ya funcionales.

Así que después de crear este nuevo obstáculo voy a crear un proyecto en limpio e importar las cosas que si van a ir en el juego final.

En datos más técnicos, por ahora el juego mantiene establemente 60 FPS (en una computadora) con lo cual estoy muy satisfecho aunque todavía no hay animaciones ni nada, por lo que es muy temprano para decidir si hay que realizar optimizaciones.

Espero para la próxima haber resuelto el conflicto con este nuevo obstáculo.

Hasta la próxima.

-L


----------------------------------------------------------------------------------------------------------------

English



Making progress

As I mentioned before, what it is missing to start creating the levels are some obstacles.

The last one I wanted to create was the Snow obstacle, in which the player jumps towards it and digs the snow to get a reward.

I still couldn't finish it but I did fix some things I've done before.

Anyways, I found out that my code started to grow on size and I was starting to mix things that work with things that don't

So I've decided to, after creating this new obstacle, create a new blank project and import all the things that will go to the final game.

In more technical data, the game now stably maintains 60 FPS (on a computer) so I'm very satisfied, although there are no animations yet, so it's too early to check if some optimizations need to be made.

I hope I've solved this issue with the new obstacle for next time.

Until next time.

-L

domingo, 10 de septiembre de 2017

Rock Climber - Part 12

Español | English

Parte 12!

Ya tengo la base para crear los niveles.

Lo último que hice fue aprender a guardar las montañas que iba generando, guardarlos como prefabs y luego poder traerlos a escena como cualquier otro asset.

El problema con esto fue que las montañas no guardaban sus Meshes, por lo que tuve que usar una solución que encontré en Internet que utiliza un método llamado CreateAsset para guardarlas aparte. Puede que haga un tutorial de esto en el futuro.

Además, como pueden ver en el gif, decidí crear la base del jugador y la parte final. Para la parte final decidí que va a haber una soga y el jugador tiene que Tappear para ir subiendo por ella.

También pude crear algunos de los obstáculos. No los puse en el gif porque faltaban ajustar los colliders y otras cosas más.



Pero como pueden ver, cada vez más cerca. Faltan un par de obstáculos y recompensas y a partir de ahí simplemente crear los niveles.

Saludos.

-L


-------------------------------------------------------------------------------------------------------------------
English

Part 12!

I have the base to create the levels.

The last thing I did was to learn how to save the mountains I was generating, saving them as prefabs and then being able to bring them into the scene like any other asset.

The problem with this was that the mountains didn't save their Meshes, so I found a solution online which used a method called CreateAsset to save them separately. I may do a tutorial of this in the future.

Also, as you can see in the gif, I decided to create the base for the player and the final part. For the final part I decided that there will be a rope and the player will have to Tapp to climb it.

I could also create some obstacles. I didn't put them in the gif because there were things I need to adjust better like their colliders and things like that.



As you can see, I'm getting closer. I just need some more obstacles and rewards and from there I can simply create the levels.

Cheers.

-L

domingo, 3 de septiembre de 2017

Rock Climber - Part 11

Español | English






Buenas y malas noticias! 

Las malas noticias son que decidí no hacer el sistema de generación de niveles como había planeado. Aunque si pretendo usar lo que hice para que me ahorre trabajo.

La buena noticia es que al hacer los mapas manualmente, voy a poder terminar el juego antes!

Por lo tanto ahora me estoy centrando en hacer "regiones" de los mapas para después poder crearlos más fácilmente.

Este sistema de "regiones" sería como los que usan los editores de mapas in-game, en los cuales podemos elegir partes de mapa e ir armando nuestro nivel, poniendo obstáculos o recompensas.

En lo último que estuve trabajando es en la "meta", el trayecto final en el cual subimos a la montaña. Quería que haya una soga y podamos escalar con el personaje, pero después de intentar varias formas no pude crear una mecánica de soga que de los resultados que esperaba. Pero finalmente pude encontrarle la vuelta al problema.

Así que falta poco para que pueda empezar a crear los niveles directamente, cada vez estoy mas cerca.

Saludos.

-L

------------------------------------------------------------------------------------------------------------

English



Good and bad news!


The bad news is that I've decided to don't do the levels as I had planned. Although I'm still planning to use what I've done to speed up the work.

The good news is that as I'm going to do the maps by hand, I'm going to finish the game earlier!

At the moment I'm focusing on doing "regions" of the maps to later create them more easily.

This system of "regions" would be like in-game map editors, in which we can select parts of the map and place them to create the level, placing obstacles or rewards.


The last thing I was working on was the "goal", the final path in which we get at the top of the mountain. I wanted to create a rope so we could climb that last bit of the mountain with the character, but after trying several ways I couldn't create a rope-mechanic that gave me the results I was expecting. But finally I could work around the problem.

So there is not much time until I can start creating the levels directly, I'm getting closer every time.

Cheers.

-L

domingo, 13 de agosto de 2017

Volviendo de las vacaciones | Coming back from vacations

Español | English



En estas vacaciones de invierno que pasaron pude hacer varias cosas, desde cosas Web en Ruby on Rails y Javascript hasta empezar con C++. Esta vez les traigo un poco de los avances que pude hacer en general. Algunas de las cosas que hice son públicas así que pueden ver el código y hasta corregir/criticar si encuentran algún error.

Aplicaciones Web

Decidí aprender Ruby on Rails ya que estaba por participar de una Hackathon (Hackathon Unearthed 2017) y con mi grupo queríamos una plataforma fácil para realizar aplicaciones webs. Si bien no fue lo que terminamos haciendo en el evento, aprendí bastante.

Mi principal objetivo era saber hacer una aplicación básica y poder también complementarla con gráficos utilizando Chart.js, una librería Open Source que se maneja con JavaScript. Sobre Chart.js, pueden ver como fui creando gráficos simples y viendo como modificar la información de estos: https://jsfiddle.net/lpinilla/n2hj9nbn/


C++

Comencé también a aprender C++ por mi cuenta. Primero viendo tutoriales de como crear un Snake aunque lo abandoné porque no sentía que estaba aprendiendo. Así que decidí hacer un Snake de cero luchando con C++. Por ahora estoy trabajando en el Backend y todavía no tengo algo funcional y tampoco se si lo que estoy haciendo es correcto, para resolver esto voy a utilizar Tests Unitarios. 

Rock Climber


Como pueden ver, terminé de re-hacer las mecánicas del jugador. Falta ver si le agrego un gancho o no pero prefiero continuar con lo demás. Por ahora esta va a ser la mecánica base, todavía queda por ver si la cámara va a seguir al jugador o va a ser fija y va subiendo con él.

Es todo por ahora, voy a ir avanzando de a poco tanto en Rock Climber como en el Snake y como dije arriba, si ven algún error o optimización que se pueda hacer al código, pueden avisar tranquilamente y lo voy a tener en cuenta.

Saludos.

-L


-------------------------------------------------------------------------------------------------------
English


In this winter holidays that went by I could do several things, from web Stuff in Ruby on Rails and Javascript to start with C++. This time I bring some of the progress I could make in general. Some of the things I've done are public so you can see the code and even correct/criticize if you find any errors.

Web Apps

I decided to learn to use Ruby on Rails as I was goint to participate in a Hackathon (Hackathon Unearthed 2017) and with my group we wanted a platform that was easy to use to create WebApps. Although it was not what we ended up doing at the event, I learned a lot.

My main goal was to know how to make a basic WebApp and to be able to put some charts in it using Chart.js, which is an Open Source library that is handled with Javascript. About Chart.js, you can see how I was creating simple charts and seeing how to modify their information: https://jsfiddle.net/lpinilla/n2hj9nbn/

C++

I also started learning C++ on my own. First watching tutorials on how to create a Snake although I abandoned it because I felt I wasn't learning. So I decided to make a Snake from scratch fighting with C++. For now I'm working on the Backend and I still don't have something functional and I also don't know if I'm doing things right, to solve this I'll use Unit Testing.
Link: https://github.com/lpinilla/Snake

Rock Climber


As you can see, I've re-done the player mechanics. I still have to see if I'll add a hook or not but I rather continue on everything else. For now this will be the base mechanic, I still have to see if the camera will follow the player or it will be fixed and go up with the player.

That's all for now, I'll continue working both Rock Climber as the Snake and as I said above, if you can spot any error in the code or find a way to optimize things, don't be shy to let me know and I'll definitely take it into account.

Cheers.

-L