Robotín: versión casera del Light Bot

He aquí la versión pre-pre-alpha de Robotín. Los que quieran probar la versión para windows no tienen más que bajarla desde este link. Cuando pueda compilaré la versión para Linux.

Envíen sugerencias y/o niveles nuevos (es fácil crearlos).

16 comentarios para “Robotín: versión casera del Light Bot”

  1. Manu Dice:

    Epa! no sabía que programabas!
    te felicito!

    saca la version para linux asi puedo jugar jajja
    en qué programas?

  2. Marcos Dice:

    Manu: programo en varios lenguajes (por suerte no igual de mal en todos).
    Esta versión la hice en C++.
    Paciencia con la versión para Linux :)

  3. Marcos Dice:

    El binario para Linux es este:

    http://www.zshare.net/download/19295528e5c96862/

    Se ven algo peor los gráficos, pero al menos funciona.

    Gracias por el interés!

  4. Manu Dice:

    Marcos!
    Igualmente pude hacerlo andar con Wine (algo así como un emulador de Windows, para los q no lo conocen)

    te interesa hacer el proyecto open source?
    si te interesa, consultá http://code.google.com/hosting/createProject
    que los amigos de Google te hostean el repositorio SVN

    y avisá así colaboramos!

  5. Marcos Dice:

    Por ahora el código es muy feo porque lo hice a las apuradas.
    Cuando lo pula un poco más lo traducieré a D (que se está volviendo mi lenguaje favorito) y lo publicaré.

  6. homero Dice:

    Me gustó mucho Lightbot, así que este juego lo bajé y lo estoy jugando ahora mismo. Quizás una priemra mejora que se me ocurre es poner una meta en cada nivel… un máximo de energía a usar, o algo así. Además, no me queda muy claro cómo se calculan los costos de operación… me explicas?

  7. homero Dice:

    Ah, y otra sugerencia… sería útil que hubiera un operador para poner comentarios en el código, para facilitar probar diferentes alternativas cuando se diseña el código.

  8. Marcos Dice:

    Homero: justamente lo que más falta definir son los límites y el puntaje :)
    La idea que tenía yo es no imponer límites arbitrarios, sino competir con los amigos para ver quién resuelve los niveles con menos memoria o menos energía o ambos (en futuras versiones estarán detallados todos los gastos).
    En la version actual se mezcla todo en una sola cantidad (memoria usada + operaciones efectuadas) y no me gusta mucho.

  9. homero Dice:

    En el simétrico hago 46. En el 1, 45.

  10. Manu Dice:

    che muy bueno el sistema de creacion de niveles… muy simple y autoexlpicativo
    coincido con ambos en que habría que mejorar el tema de los límites para que se ponga más interesante

    otra sugerencia que te hago es que pongas que aunque el robotín no haya terminado su set de instrucciones, si todas las luces están prendidas termine el nivel (esto te deja hacer código super eficiente con funciones recursivas que se llaman a sí mismas)

    me encanta cómo se puede programar y a la vez jugar en este tipo de juegos…
    es más, me copa tanto que capaz empiezo a hacerme uno yo jajajaj
    si es que no puedo ayudar con este…

    igual ya tenía pensado de antes hacer algo así (en serio! igual no me van a creer)

    Manu

    pd: homero, pasate el código de 46 para el simétrico, no pude bajar de 48

  11. Marcos Dice:

    Manu: lo ideal sería hacer un editor gráfico para los niveles, pero no tuve paciencia y por eso hice los niveles como texto plano. ¿Quién no tiene un editor? :)

    Tu sugerencia sobre terminar automáticamente los niveles la pensé mucho antes de abandonarla. Tal vez en la próxima versión ponga como opción dentro de los niveles el modo de evaluación del código.

    Saludos y ya te avisaré cuando embellezca un poco el codigo…

  12. homero Dice:

    @Manu: Para sacar 46 en el simétrico tienes que avanzar 2, girar, y después repetir 4 veces una misma función para cada esquina.

  13. homero Dice:

    Marcos, estaba pensenado sobre el sistema en que se calcula el costo y creo que considerar el costo de código + el de operación no es muy bueno, porque eso hace (al menos por lo que he podido ver jugando) que la solución que recorre el camino más corto sin usar funciones entrega una solución ya difícil de superar. Creo que tendría más sentido mostrar esos dos costos por separado, y, dependiendo del nivel, definir cuál de ellos se pretende optimizar (o poner límites por separado a cada uno de ellos).

  14. Carlos Luna Dice:

    Estoy de acuerdo con homero en que lo más interesante sería poner ambos costos por separado y fijar el objetivo en uno de los dos dependiendo de la pantalla. Aún no lo he probado porque voy con linux.

    En cuanto a las cuestiones prácticas… te recomiendo seguir en C++ si quieres que alguien te pueda ayudar (Python, Java y otros lenguajes populares también valen y son multiplataforma con facilidad). Y te recomiendo usar RapidShare en vez de zSHARE, ponen menos anuncios y es más cómodo para el que se lo baja.

    Excelente idea, como siempre. Yo hace tiempo que pensé en programar algo así pero con tintes de estrategia militar. En la facultad nos hicieron programar una IA que gobernaba escuadras de robots que luchaban entre sí. Fue muy divertido pero es difícil de programar en un mini-juego de este estilo.

  15. Alejandro Dice:

    Por favor, subilo a otro hosting porque zSHARE no funciona. Gracias.

  16. Marcos Dice:

    Fijate en el post siguiente a este…

Escribe un comentario