TIS-100
Moderador: Moderadores Wargames
- lecrop
- Moderador
- Mensajes: 5999
- Registrado: 03 Jul 2009, 13:00
- STEAM: No Jugador
- Ubicación: St.Pierre-la-Rivière
- Contactar:
TIS-100
De los creadores de Spacechem, os presento TIS-100. Recomiendo este juego a quienes les gusten los puzzles, los retos y la programación, en particular la de bajo nivel (tipo ensamblador). Es un absoluto vicio. No explico más por no espoilear (es IMPORTANTE no espoilear este juego y encontrarse con el reto), basta decir que son más de 20 puzzles, progresivamente más difíciles, con 3 modos sandbox incluido una consola virtual para crear tus propios programas. Rejugabilidad garantizada, y prometen competiciones de optimización de ciclos en tus soluciones o programas, instrucciones o estadísticas de nodos usados, etc... A quienes recuerden el Core War, es otro concepto pero parecido (miles de horas gasté en ese mardito...)
Tiene todos los ingredientes para convertirse en un clásico, a pesar del pequeño nicho a quienes va destinado. En Early Acces (pero completo-completo) a poco más de 6 leuros. No os asustéis por el tema del ensamblador, es una simplificación con pocas instrucciones, pero para quien no conozca el mecanismo cerebral del programador puede convertirse en todo un hallazgo analítico
Animaos
Dejo enlaces y un vidrio
Reseña en Rock, Paper, Shotgun
Web de Zachtronis (Desarrollador)
Página de Reddit (aún en pañales)
Página de Steam
Tiene todos los ingredientes para convertirse en un clásico, a pesar del pequeño nicho a quienes va destinado. En Early Acces (pero completo-completo) a poco más de 6 leuros. No os asustéis por el tema del ensamblador, es una simplificación con pocas instrucciones, pero para quien no conozca el mecanismo cerebral del programador puede convertirse en todo un hallazgo analítico
Animaos
Dejo enlaces y un vidrio
Reseña en Rock, Paper, Shotgun
Web de Zachtronis (Desarrollador)
Página de Reddit (aún en pañales)
Página de Steam
Última edición por lecrop el 04 Dic 2016, 19:12, editado 1 vez en total.
- Ronin
- Crack - Oberst
- Mensajes: 7219
- Registrado: 12 Nov 2011, 15:19
- STEAM: Jugador
- Ubicación: a la sombra de la Alcazaba de Malika en Al-Andalus
Re: TIS-100
Pues yo no veo mas que numeros y letruchas . El vicio no será por que te echas a la bebida por desesperacion?
¡¡¡Cuanto echamos de menos el esplendor de Al-Andalus!!!
- nadia911
- Crack - Oberst
- Mensajes: 2628
- Registrado: 02 Feb 2010, 04:11
- STEAM: Jugador
- Ubicación: En Melmac
Re: TIS-100
Eres grande Lecrop!!! Yo no me atrevía a traer el juego a PdL... ya era hora que te dejaras de navecitas y juegos cosas de verdad
Re: TIS-100
Lo tenía en seguimiento a la espera de tener una crítica contrastada, pero ya la tengo, gracias Lecrop voy por él
- Rubeus
- Crack - Oberst
- Mensajes: 5443
- Registrado: 15 Jul 2007, 22:22
- STEAM: Jugador
- Ubicación: rodeado de dados, cajas, tableros y fichas de cartón
Re: TIS-100
El nicho de mercado de este juego es muy reducido
Me encantan los juegos-puzzle de Zachtronics. El Spacechem me lo pasé cuatro veces (demasiado sencillo); el Infinifactory es más sencillo aún y me aburrió; este TIS-100 no está mal para los tiempos muertos entre partida y partida de WitPAE, WiF y SPMeB. Un juego de puzzles sencillote también, sin más.
Me encantan los juegos-puzzle de Zachtronics. El Spacechem me lo pasé cuatro veces (demasiado sencillo); el Infinifactory es más sencillo aún y me aburrió; este TIS-100 no está mal para los tiempos muertos entre partida y partida de WitPAE, WiF y SPMeB. Un juego de puzzles sencillote también, sin más.
- lecrop
- Moderador
- Mensajes: 5999
- Registrado: 03 Jul 2009, 13:00
- STEAM: No Jugador
- Ubicación: St.Pierre-la-Rivière
- Contactar:
Re: TIS-100
Pues ya explicaréis como lo lleváis con este sencillote juego
Yo me he tirado casi una hora con el Differential Converter, y lo dejo ya hasta mañana para pasar al Signal Generator. Tengo el serebro como un pan rallao
Si mejoráis mi Diff Conv me lo decís... --> 281 CYCLES 5 NODES 13 INSTR
Yo me he tirado casi una hora con el Differential Converter, y lo dejo ya hasta mañana para pasar al Signal Generator. Tengo el serebro como un pan rallao
Si mejoráis mi Diff Conv me lo decís... --> 281 CYCLES 5 NODES 13 INSTR
- Ronin
- Crack - Oberst
- Mensajes: 7219
- Registrado: 12 Nov 2011, 15:19
- STEAM: Jugador
- Ubicación: a la sombra de la Alcazaba de Malika en Al-Andalus
Re: TIS-100
lecrop escribió:Pues ya explicaréis como lo lleváis con este sencillote juego
Yo me he tirado casi una hora con el Differential Converter, y lo dejo ya hasta mañana para pasar al Signal Generator. Tengo el serebro como un pan rallao
Si mejoráis mi Diff Conv me lo decís... --> 281 CYCLES 5 NODES 13 INSTR
¡¡¡Cuanto echamos de menos el esplendor de Al-Andalus!!!
Re: TIS-100
Fantasma!Rubeus escribió:El nicho de mercado de este juego es muy reducido
Me encantan los juegos-puzzle de Zachtronics. El Spacechem me lo pasé cuatro veces (demasiado sencillo); el Infinifactory es más sencillo aún y me aburrió; este TIS-100 no está mal para los tiempos muertos entre partida y partida de WitPAE, WiF y SPMeB. Un juego de puzzles sencillote también, sin más.
- lecrop
- Moderador
- Mensajes: 5999
- Registrado: 03 Jul 2009, 13:00
- STEAM: No Jugador
- Ubicación: St.Pierre-la-Rivière
- Contactar:
Re: TIS-100
Si ya habéis empezado, podréis empezar a valorar resultados...
¿Que os parece este Prime Detector? 20 minutos para correrlo, tela, casi 1 millón de ciclos. Yo aún estoy en el Signal Comparator.
¿Que os parece este Prime Detector? 20 minutos para correrlo, tela, casi 1 millón de ciclos. Yo aún estoy en el Signal Comparator.
- nadia911
- Crack - Oberst
- Mensajes: 2628
- Registrado: 02 Feb 2010, 04:11
- STEAM: Jugador
- Ubicación: En Melmac
Re: TIS-100
Y si haces una especie de mini tutorial, que no me entero de nada y eso que leí el manual...
Re: TIS-100
Yo de momento sólo he tenido tiempo de hacer la primera misión, así que no puedo decir mucho de momento salvo que tiene una pinta estupenda y que al manual le falta un poco de claridad para dar esos primeros pasos, aunque una vez entiendes como funciona coges la idea rápido.
- lecrop
- Moderador
- Mensajes: 5999
- Registrado: 03 Jul 2009, 13:00
- STEAM: No Jugador
- Ubicación: St.Pierre-la-Rivière
- Contactar:
Re: TIS-100
Uff! No tengo nivel para tutorializar nada, pero si voy a intentar explicar 4 conceptos, y a ver si por ahí hacemos algo.nadia911 escribió:Y si haces una especie de mini tutorial, que no me entero de nada y eso que leí el manual...
La verdad es que este juego presupone que tenemos nociones de programación, y esto, a mi entender, es presuponer demasiado. Hay cosas que pueden parecer fáciles si tienes esas nociones, pero que al profano le pueden parecer crípticas. Intentaré no usar jerga técnica, por lo que si algún programador lee esto y ve alguna cagada espero que sea comprensivo.
La pantalla principal del juego:
Cada cajita es un reto, o prueba o como se quiera llamar. En este pantallazo solo se puede acceder al primero SELF-TEST DIAGNOSTIC. Una vez se solucione, el juego te da acceso a más problemas. Para empezar, clickas en CREATE NEW PROGRAM y te envía a la pantalla donde vas a trabajar.
No estoy en casa, por lo que no puedo abrir el juego, y tengo que usar pantallazos que encuentro por ahí, por lo que el siguiente es de otro reto y con algún código escrito, espero que no os lie demasiado.
Esta es más o menos la pantalla de trabajo que en líneas generales aparecerá siempre. Se pueden ver 12 cajas en la pantalla, que se llaman NODOS y que están interconectadas por flechas de entrada y salida. En la parte izquierda de la pantalla, tenemos primero un cuadro con un texto; ahí se especifican las condiciones y resultados para solventar el problema. No usaré lo que pone en este pantallazo, porque es un poco complejo y no quiero liaros, pero por ejemplo podría decir; coje el dato que entra por A, y saca el mismo dato por B, pero doblado y negativo.
Debajo de ese cuadro tenemos un listado de datos: la primera columna son los datos que secuencialmente van a ir entrando en IN, y la segunda y tercera columnas son los datos que deberían salir por S y L para que la solución sea correcta. Una vez arranquemos el programa, los datos que salgan irán poniendose al lado de esas columnas, para que podamos ver si lo estamos haciendo bien. Eso se llama Debugging en programación.
Debajo de esas columnas están los controles del programa, paro, paso a paso, arranque y rápido.
Estos son los conceptos de la arquitectura de la máquina. Ahora vamos con el meollo.
En cada nodo, tenemos unas entradas y una salidas (las flechitas), y unos chivatos donde te indica el valor de la variable en un momento dado (ACC por ejemplo). Dentro de la caja (nodo) tenemos que escribir instrucciones con las que trabajemos con los datos. Imaginemos que tenemos una simplificación total del juego, donde hay solo un nodo, con una entrada arriba y una salida abajo, y el reto nos pide que el dato que entre por arriba, salga por abajo en negativo. Deberíamos escribir dentro del nodo, en un lenguaje normal, lo siguiente:
COJE EL DATO QUE ENTRA ARRIBA
CONVIERTE EL DATO EN NEGATIVO
ENVÍA EL DATO POR LA SALIDA DE ABAJO
Esto que puede parecer una completa gilipollez es de lo que se trata, analizar el problema, dividirlo en sus componentes más pequeños posibles, y traducirlo al lenguaje de la máquina. Si quisiera escribir ese ejemplo exacto y preciso con el lenguaje del TIS-100, quedaría así:
MOV UP, ACC
NEG
MOV ACC, DOWN
Ahora, el quid de la cuestión, las dificultades de trabajar con un lenguaje de bajo nivel como el ensamblador...
ACC es una variable, o sea, un lugar para guardar un dato, a fin de que lo podamos manipular como queramos. O sea, cojemos un dato, por ejemplo 16, y lo guardamos en ACC, o sea que ACC=16. Ahí lo manipulamos, por ejemplo con la instrucción NEG, que lo convierte en negativo, por lo que ahora ACC=-16, y así sucesivamente. Y diréis ¿cual es el problema? pues el problema es que sólo disponemos de UNA variable para cada nodo, y con eso y un bizcocho, a programar hermano...
Tenemos otra variable que se llama BAK, pero no es leíble ni escribible como ACC, si no mediante unas instrucciones especiales que se llaman SAV y SWP, por lo que no sirve para todo.
La seguna dificultad es que la ejecución del programa es simultánea para todos los nodos, por lo que un as líneas de código que a priori podrían funcionar bien, no lo hacen porque entran en conflicto con otros nodos... pero eso lo dejo ahí porque estoy avanzando demasiado.
Lo voy a dejar aquí de momento, porque no se si estoy siendo claro o os voy a liar más que otra cosa. Podría explicar las instrucciones, pero en el manual están bastante claras. Prefiero que me pongáis dudas y si está en mi mano las respondo.
Como consejo, si os gusta el tema, podéis buscar algún tutorial fácil y en español de ensamblador, que hay bastantes por la red, y que aunque no sean exactamente las mismas instrucciones, el concepto es el mismo. Por ejemplo éste. También había algún documento sobre "aprender a pensar como un programador" por la red que puede ser útil.
El siguiente paso es optimizar. Cuando has resuelto el problema, intentar hacerlo usando las mínimas instrucciones y nodos posibles. Eso hace que los programas sean rápidos y eficientes. Y optimizar es un vicio muuuuuuuu grande.
¿O no os habéis quejado muchas veces de que una mierda de wargame con cuatro gráficos churruteros os va como una porquería de lento en vuestro pepino de ordenador?
Pues eso es porque el programador de ese wargame nunca ha jugado al TIS-100
Re: TIS-100
Mejor no se puede explicar.
Sólo un añadido más, de esas 12 cajitas, las que están en rojo se suponen que son nodos caídos, que tienen algún problema o lo que sea y no las puedes usar para la resolución del problema.
Sólo un añadido más, de esas 12 cajitas, las que están en rojo se suponen que son nodos caídos, que tienen algún problema o lo que sea y no las puedes usar para la resolución del problema.
- nadia911
- Crack - Oberst
- Mensajes: 2628
- Registrado: 02 Feb 2010, 04:11
- STEAM: Jugador
- Ubicación: En Melmac
Re: TIS-100
Bien, ya me estoy aclarando bastante, leeré de nuevo el manual a ver si ahora entiendo como va la cosa, gracias Lecrop