Kabosu - Creando cosas
Publicado: 2024-12-06
Etiquetas: Godot, Juegos, Pixel Art, Proyectos
Hace unos 10 años, me parece que a principios de noviembre de 2014, publiqué en itch.io mi primer juego propio: Tiburcio's Adventure.
Yo había programado ya antes juegos, incluso hice un máster que incluía en su plan varias asignaturas sobre desarrollo de videojuegos, pero siempre siempre eran clones de Pacman, Sokouban, Arkanoid, Invaders, Columns y similares. Nunca me animaba a hacer algo más. Este es el primer juego que desarrollé en el que no me estaba basando en ningún juego existente.
Prácticamente todo lo hice con software libre. Lo programé en Javascript usando el framework Phaser. Para diseñar los niveles usé el editor Tiled. No recuerdo con qué aplicación hice los gráficos, es muy posible que fuera Krita. Para empaquetar el javascript usaba Gulp. La única dependencia (Phaser) la organizaba con Bower.
Cada nivel del juego es un pequeño puzle. El escenario tiene objetos (árboles, puertas, animales, ...) con los que se puede interactuar. Hay que encontrar la forma correcta de utilizarlos para llegar a la estrella. Por ejemplo, en cierto nivel la estrella está detrás de una puerta cerrada, la llave está bloqueada por una serpiente que te mata si te acercas, también hay diversos árboles y una hoguera. La solución consiste en interactuar con uno de los árboles para obtener un palo de madera, usar ese palo en la hoguera para hacer una antorcha, acercar la antorcha a la serpiente para que se vaya y así coger la llave que permite abrir la puerta. Todo ello con los gráficos más simples que pude hacer.
Todas las interacciones entre objetos las definí en un fichero JSON, Tiled permite exportar niveles al formato de Godot y tenía los ficheros con los gráficos y sonidos. Con todo esto pensé que sería muy sencillo portar el juego a Godot así que me puse a ello hace un par de semanas.
Pronto quedó claro que, en su día, tomé muy malas decisiones:
Estos errores de mi yo anterior han ocasionado que haya tardado bastante más de lo esperado. Era novato así que, dentro de lo que cabe, no lo hice tan mal.
Unos pocos días después de empezar con el port descubrí que iba a empezar una game jam llamada Improve My Game Jam 36. En su página pone:
The point of the jam is that you improve on or remake old projects
Yo estaba haciendo un port que es parecido a un remake así que decidí apuntarme para tener un poco de motivación extra. Una de las condiciones de participación es escribir un devlog contando lo que has mejorado del juego. Yo fui escribiendo pequeñas actualizaciones a lo largo de los días. Las voy a copiar aquí para que no se pierdan:
Publicado originalmente el 30-11-2024 como devlog en itch.io
I first published Tiburcio’s Adventure on November 2014, 10 years ago. It was a Phaser 2.2.1 game I built in like a week. Couple days ago I found the code and I decided to port to Godot 4.3 which is the engine I used nowadays.
The Improve Your Game Jam 36 conveniently started yesterday so I’m going to do this port as part of the jam for some extra motivation.
In the original game I defined all entity interactions in a JSON-like structure and the levels were created with Tiled so I expect to reuse most of the content.
Current status of the port:
I’ll be working on these tasks during the jam.
Publicado originalmente el 01-12-2024 como devlog en itch.io
Yesterday I spent quite some time trying to setup the viewport and scaling. The base resolution in 125x100 which is too small so I wanted to keep it but scale the window 4x. Also the viewport is needed because for the GUI elements.
I couldn't make it work so today I worked on the physics, collisions, etc. In the original game I was using movement based on tiles but in Godot I can leverage the collision layer in tileset. I also used collision detection to figure out when the character can interact with objects.
I’ve added a small subset of the objects to the game so the first 2 levels are now playable. Adding objects requires importing the frames in to Godot and creating a new animation so I’m adding them bit a bit.
Publicado originalmente el 04-12-2024 como devlog en itch.io
I worked a bit more on the game today.
All levels are solvable. After the seventh there is a level I called “sandbox” which includes all items just to test the different interactions.
I need to setup the viewport next so I can work on the UI elements.
Publicado originalmente el 06-12-2024 como devlog en itch.io
In the last 2 days I made plenty of fixes.
I finally fixed the viewport and was able to add the basic GUI. I needed 2 strings, one with a description of the closest object in the map and one describing the item you are currently holding. I don’t know what was wrong with the viewport. I was touching all rendering options and I was always getting glitches with the pixels. Then I redid the whole viewport from scratch and it seems to work fine.
For the gameplay point of view not many changes. I’ve moved some elements around to make the easier to target. For example objects nearby ladders were hard to interact with because the character kept going up the ladder instead.
The game now if playable end to end so I’m happy with the current state. When the last level (7) is completed the player ends up in a large sandbox level that contains almost all objects and is not solvable.
The following tasks are left for the future:
Si lo quieres probar, Tiburcio's adventure está disponible aquí para jugar en el navegador.
No hay menús, sonidos ni música, tampoco están los controles en pantalla para poder jugar en un teléfono pero todos los niveles son jugables así que de momento lo voy a dejar así. En un futuro retomaré el port para pulirlo, quizá en la próxima edición de Improve My Game Jam.