Devlog #1 - Pathfinding [Spanish]
¡Primera versión del sistema de Pathfinding!
Me llevó tiempo y está lejos de estar terminado pero como primera versión está bastante bien.
Aproveché para aprender y aplicar dos cosas en particular: Editores Custom y Pruebas Automatizadas.
Mi idea con todo esto es también compartir a quien le interese estas cosas que fuí aprendiendo. Les cuento un poco:
Editores Custom
Como estoy desarrollando un paquete debo proveer editores que faciliten a los usuarios realizar algunas tareas específicas. Leyendo encontré que Unity desarrolló, hace un tiempo ya, un package llamado UI Toolkit. Este viene con un editor que te permite diseñar tu UI al mejor estilo WYSIWYG. Otra alternativa es escribir tu propio archivo UXML para diseñar la interfaz. Este package también te permite separar comportamiento de look and feel mediante archivos USS. La verdad es un estilo bastante parecido a los frameworks web como Angular y React, salvando las diferencias. El problema es que no tiene soporte para ser usado al desarrollar packages. Al menos no por ahora. Por este motivo tuve que crear el editor programáticamente.
De momento el editor es muy simple. Dibujas el área caminable usando un PolygonCollider2D (built-in en unity):

Por ahora solo se puede dibujar un único área solamente, sin huecos. Al dibujar se muestra el área caminable en color rosa.
Y hay un botón que permite "cocinar" el área:

Esto genera un Scriptable Object con el grafo construido a partir del polígono, que luego utilizo para el pathfinding.
A futuro voy a tener que desarrollar editores más complejos así que quizás pueda contarles cosas mas interesantes sobre esto.
Pruebas Automatizadas
En mi trabajo formal como developer escribo muchas pruebas automatizadas. Por lo general hago TDD, por lo que antes de escribir código funcional, escribo un test. Pero este mundo del desarrollo de videojuegos me es super desconocido, por lo que escribir pruebas se me hace muy difícil pero a la vez muy necesario.
Hasta el momento tengo los siguientes tests:

Y por ahora tengo dos tipos, unitarios y funcionales.
Creo que los mas interesantes son estos últimos. Armé dos tests funcionales: uno donde simulo hacer click dentro del área caminable, y otro donde se hace click fuera.

Algo que creí útil para este tipo de prueba era realizar una captura de pantalla al final de la ejecución, de manera tal de poder ver el camino que siguió el agente si el test falló.


No quiero entrar en mucho detalle porque no se si les interesa, pero si quieren saber un poco más sobre como resolví estos temas puedo escribir otro post más técnico.
Simple Adventure Maker
Simple Adventure Maker (or SAM) is an Unity tool for creating your own 2D point-and-click adventures
| Status | In development |
| Category | Tool |
| Author | algiorgi |
| Tags | Asset Pack, Point & Click, tool, Unity |
More posts
- Devlog #1 - Pathfinding [English]Oct 19, 2023
- Devlog #0 [English]Jun 20, 2023
- Devlog #0 [Spanish]Jun 20, 2023
Comments
Log in with itch.io to leave a comment.
Es muy interesante tu post!