sábado, 8 de septiembre de 2018

La estructura de un programa en Phaser 3


Hola mundo!!!

Como no podía ser de otra manera vamos a ver como se estructura un programa en Phaser 3 con un sencillo y manido Hola Mundo!!!

Una página HTML

Phaser 3 se integra en una página HTML monda y lironda


<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8" />
  <title>Holi mundo</title>
     <script src="http://cdn.jsdelivr.net/npm/phaser@3.11.0/dist/phaser.min.js"></script> 
 </head>

 <body>
  
  <script type="text/javascript">

    ---> Aquí pondremos nuestro código
                     
  </script>
 </body>
</html>

Como podéis ver, se trata de una estructura típica HTML con su cabecera y cuerpo. En la cabecera es dónde cargamos Phaser. O bien llamándolo a la URL dónde lo tengamos descargado en nuestro site, o bien directamente de jsDeliver. Tenéis más info de esto en mi post sobre instalación de Phaser 3.

En el cuerpo ponemos la etiqueta de JavaScript y en su interior nuestro código.

Estructura de Phaser 3

El código siguiente iría dentro de las etiquetas de JavaScript.


var config = {
 type: Phaser.AUTO,
 width: 617,
 height: 410,
 backgroundColor: '#01DF01',
 parent: 'phaser-example',
 scene: {
  preload: preload,
  create: create,
  update: update
 }
};

var imgUnchi;
var game = new Phaser.Game(config);

function preload() {
 this.load.image('unchi', './unchi.png');
 this.load.image('texto', './texto.png');
}

function create() {
 this.add.image(300,100, 'texto');
 imgUnchi = this.add.image(305, 250, 'unchi');
}

function update() {
 imgUnchi.rotation += 0.01;
}

Lo primero que hacemos es declarar y dotar de valor una variable config que determinará los parámetros en los que se desarrollará el juego. Luego entro con más profundidad...

Después creamos el juego y guardamos la instancia en una variable game.  Fijaos que le pasamos la configuración definida anteriormente.

Posteriormente definimos la escena y las fases que conforman su ciclo de vida. Fijaos que éstas se han definido en el config. Hay más (init, render, shutdown, destroy) pero las básicas son:

Preload: Cargaremos todo lo cargable: Imágenes, sprites, sonidos... antes de nada, para que no hayan retardos después.

Create: Pintamos la escena. Es decir, colocamos todo en su sitio.

Update: Definimos cómo se mueve cada cosa. Esta escena se ejecuta contantemente un montón de veces por segundo. Vamos, el juego está aquí.  :-)

El concepto de escena es muy raro en Phaser 3. Una escena sería también el menú inicial, cada nivel de un juego de plataformas o la pantalla de Game Over. Incluso el menu de inventario que se superpone en un juego de rol o el mapa de un mundo que vemos en la esquinita de un shooter también serian escenas y cada una tendría su preload, create y update. Pero eso ya lo veremos. Aquí tenemos una única pantalla. No nos compliquemos nada más empezar...

La configuración Config

Evidentemente hay mucha cosas que configurar en nuestro juego, pero las básicas son:

Type: Define cómo se va a renderizar el juego. Básicamente si se van a usar las capacidades de nuestra tarjeta grafica (tecnología WEBGL) o si se lo vamos a dejar todo al procesador. Si ponemos AUTO nos aseguramos que si se puede, usamos la tarjeta gráfica.

Width y Height: ¿Qué tamaño va a tener la ventana de nuestro juego? Pues aquí se lo decimos.

BackgroundColor: O color de fondo de la ventanita del juego.

Parent: Aquí podéis poner cualquier cosa o una referencia a una etiqueta <div> de HTML. Me explico, si utilizamos la estructura web mostrada hasta ahora, Phaser 3 se ejecutará dónde le de la gana. Normalmente al final de nuestra página. En el ejemplo no pasa nada ya que no tenemos texto, ni imágenes... sólo Phaser. Pero imaginaos que queremos integrar Phaser en medio de una página con texto.  Entonces en nuestro código HTML pondríamos:

<div id="phaservaaqui"></div>

Y nuestro parámetro parent seria:

De hecho esto es lo que voy a hacer para ver el resultado del código anterior:

domingo, 26 de agosto de 2018

Phaser 3: Un potente framework para videojuegos en Javascript.

Phaser 3 vs. CraftyJS

En el pasado podíais leer en este blog unos pequeños tutoriales para CraftyJS. No os engañéis, Crafty me encanta, me parece sencillo y bien documentado pero no tiene tecnología WebGL.

La tecnología WebGL permite al navegador usar las capacidades de la tarjeta gráfica para mover el juego y hace que sea mucho más rápido, sobretodo si mueves cientos de objetos a la vez.

Es por eso que me he decido a cambiar a Phaser.

Phaser 2 está muy consolidado y tiene sobrada documentación. Phaser 3 es totalmente diferente a Phaser 2 y en momento de escribir estas líneas la documentación es muy escasa. Aquí entra este blog. Para facilitaros la vida y que no tengáis que pegaros para cualquier tontería.

Instalación de Phaser 3

Por temas de seguridad, los navegadores modernos ya no ejecutan JavaScript en local, con lo que necesitaremos instalar un servidor web. No os asustéis. Yo uso XAMPP. Se baja, se le da a instalar y ya. No necesitáis hacer nada. AQUÍ tenéis un pequeño tutorial para su instalación.

Ahora la cosa es bajarse el PHASER 3 que lo podéis hacer desde AQUÍ.

En este punto os preguntaréis... ¿y qué me bajo?


Pues tenéis el ZIP con el framework y ejemplos y demás. Luego tenéis la opción de sólo bajaros sólo el framework. Tenéis la opción de js y la min.js.  ¿Diferencia?  Ninguna. La cosa es si lo editáis en uno está el fuente estructurado y en el otro todo el código arrebujiñao con el objeto de que ocupe lo mínimo posible. Si no pensáis meterle mano al fuente con el min.js os vale.

Si habéis instalado el XAMPP y habéis seguido el magnífico tutorial al que os referencié en el principio de este artículo, bastará con copiarlo en la carpeta htdocs de XAMPP. Si además, cosa que me consta, sois personas pulcras, lo meteréis en una carpeta.

Luego sólo será necesario llamarlo tal que asín en un archivo HTML:

<script src="phaser3/phaser.min.js"></script>

Como el ávido lector habrá inferido he creado dentro de mi carpeta htdocs otra llamada phaser3.

Perdone Ud. Sr. Furniman... es que yo soy muy xul@ y paso de bajármelo...

Hay otra opción, y es llamarlo directamente de jsDelivr. La instrucción la encontraréis en la página de descargas dentro del apartado CDN.

En el momento de escribir estas líneas es:

<script src="//cdn.jsdelivr.net/npm/phaser@3.11.0/dist/phaser.min.js"></script>

Bajarnos el framework permite actualizar la versión de Phaser 3 cambiando el fichero. Llamar al framework de jsDelivr obligará a cambiar el código si queremos actualizar la versión de Phaser. En todo caso sólo sería una línea en un único fichero.

1,2,3... Probando...

Phaser 3 no es un IDE es decir, no tiene herramientas de edición y depuración de código. Debéis utiliza uno de los miles de editores de texto, algunos muy potentes y muy orientados a código o el Bloc de notas. A medio camino entre los dos se encuentra el que uso yo el Notepad++ que te asistirá poniendo colorines a las palabras reservadas y demás.

Así que tomaremos para probar el mismo código que trae Phaser en su página. Con un editor de texto plano crearemos una página llamada index.html y pegaremos el siguiente código:


<!DOCTYPE html>
<html>
<head>
    <script src="//cdn.jsdelivr.net/npm/phaser@3.0.0/dist/phaser.min.js"></script>
</head>
<body>

    <script>
    var config = {
        type: Phaser.AUTO,
        width: 800,
        height: 600,
        physics: {
            default: 'arcade',
            arcade: {
                gravity: { y: 200 }
            }
        },
        scene: {
            preload: preload,
            create: create
        }
    };

    var game = new Phaser.Game(config);

    function preload ()
    {
        this.load.setBaseURL('http://labs.phaser.io');

        this.load.image('sky', 'assets/skies/space3.png');
        this.load.image('logo', 'assets/sprites/phaser3-logo.png');
        this.load.image('red', 'assets/particles/red.png');
    }

    function create ()
    {
        this.add.image(400, 300, 'sky');

        var particles = this.add.particles('red');

        var emitter = particles.createEmitter({
            speed: 100,
            scale: { start: 1, end: 0 },
            blendMode: 'ADD'
        });

        var logo = this.physics.add.image(400, 100, 'logo');

        logo.setVelocity(100, 200);
        logo.setBounce(1, 1);
        logo.setCollideWorldBounds(true);

        emitter.startFollow(logo);
    }
    </script>

</body>
</html>

Lo guardaremos en la carpeta htdocs de XAMPP y ya...

Para llamarlo sólo tenemos que poner en nuestro navegador con XAMPP arrancado (os remito de nuevo a su tutorial) lo siguiente:

http://localhost

Y ya... podréis ver algo parecido a ESTO.

Si os fijáis en la cuarta línea del código, se está llamando a la versión 3.11 de Phaser desde jsDelivr. Si hemos optado por tener el framework en local, sólo tenemos que cambiarlo por la ruta en la que está algo así como:

<script src="phaser3/phaser.min.js"></script>

Y con esto y un bizcocho ya hemos terminado...

Os dejo con un enlace a una página de bailes tradicionales... ¿Que no os interesa el tema?  Bueno... hay que promocionarlo... ¿no?

furnitube.es/danzasdelmundo

jueves, 23 de agosto de 2018

XAMPP guía de instalación.

¿Qué es XAMPP?

La ciberdelincuencia es un rollo. Antes podías hacerte un pogramita en JavaScript y ejecutarlo en tu navegador y ver lo que molaba. Ahora no, la seguridad en navegadores impide dicha praxis y obliga a que estos estén alojados en un servidor web. Asín que consigue un espacio, gratuito o no y sube cualquier modificación que hagas para probarlo... pfff! qué palo!

Ante esta diatriba lo mejor es que instales en tu máquina un servidor web, hagas tus pruebas y subas el producto que te satisfaga. Pero eso es pá pros. ¿O no?

XAMPP una posible solución.

Las hay más sencillas, de hecho hay un pluggin pal Google que funciona a las mil maravillas, busca por ahí, pero la gracia de XAMPP es que tendrás un servidor completo con su base de datos MySQL y todo y que no te consumirá recursos ya que lo arrancarás cuando lo necesites. Además, puede ejecutar PHP y Perl.

Mmmm... me gusta, ande lo pillo.

Pues mira... pincha AQUÍ.

Vale lo tengo, ¿y ahora qué hago?

Eh! Es un ejecutable! Dale!

Cuando empieces a instalar te dirá que si tienes antivirus, que si la UAC está activa, que si Júpiter no está aún en línea con Saturno... hazle caso o no. Yo paso y me instala bien, pero si no te funciona por no seguir los consejos no vengas a poner comentarios en el blog...

Después de los avisos te pedirá qué módulos quieres instalar. ¿Tienes claro lo qué vas a hacer? Quita lo que no necesites. ¿Estás empezando y tu límite es abarcar lo abarcable? Dale a todo.


En la siguiente pantalla se te pide la carpeta en la que instalar XAMPP y verás que te pide instalar en raíz C:. Hazle caso sabe lo que dice. Piensa que los archivos que crees los tendrás que copiar en esa carpeta y si los metes en c:\pruebas\misprimerospinitos\xampp\prueba1 lo vas a sufrir constantemente.


La siguiente pantalla es autobombo. Que cómo molo. Que si puedo instalar tal y cual... tú mism@. Si quieres, véndete al diablo (que dicen que tiene un buen rab...)  OPS! Perdón! Me puede el imaginario popular.


Y ya le das y se pone a instalar.


Y se acabó!

Mola. Está instalado porque me lo dices. ¿Y ahora?

Ahora trata de arrancarlo por Dios!. Si me has hecho caso lo tendrás en C:\xampp.

En esa carpeta tienes un fichero que se llama xampp_start que arranca algo y un xampp_stop que para algo. También tiene un xampp-control que te permite decidir qué arrancas y qué paras. ¿Lo pillas? Que le des al xampp-control...

Si sólo quieres utilizar JavaScript o HTML, como es el caso que hemos planteado al principio... le das al Start únicamente al Apache.


Y yastá. Ya funciona. Pon en la barra de direcciones (que no en el Google que nos conocemos) lo siguiente:  http://localhost o bien http://127.0.0.1 y verás la pantalla principal de XAMPP.

Guay! Pero yo quiero ver mi página!

Vale. Vuelve a la carpeta C:\xampp (¿es porqué es importante copiarlo en raíz?) y copia tu holamundo.html en la carpeta htdocs. (Puedes borrar todo lo que hay si te apetece).

Ahora, en la barra de direcciones de tu navegador (que no en el Google, pesao!) pon http://localhost/holamundo.html o bien http://127.0.0.1/holamundo.html

Vamos. Que tu página web se aloja en esa carpeta. Con el servicio Apache levantado, ya podrás ejecuta HTML, PHP, JavaScript o lo que quieras como si en un servidor de esos que se pagan se tratara. Eso sí. Es pa ti y pa mi. Si quieres que lo vea el resto de la humanidad tendrás que buscarte un servidor de pago... o no... que lo aloje.

Y yastá! 

Y para acabar ya que ha salido un apache por ahí... no os voy a privar de escuchar este magnífico tema de los Shadows...


sábado, 25 de junio de 2016

Fonaments de computadors (05.562) - UOC

Actualizado enero 2017!!!

En primer lugar pediros disculpas ya que este material hace algunos semestres que lo tenía y por falta de tiempo no he podido colgarlo. ¿Algunos semestres dice el pavo? ¿Y no ha tenido tiempo? Pues ya veis... esto es como al Georgie Dann un año que no sacó canción del verano... se le preguntó por el hecho y contestó...  SE ME HA ECHADO EL TIEMPO ENCIMA!!!!!  XD  Espero que esto me disculpe...

Bueno... al tema...

En esta ocasión os comparto mis apuntes de la asignatura 'Fonaments de computadors' (05.562) de la Universitat Oberta de Catalunya (UOC).

Como siempre os cuelgo los apuntes en PDF y en Word para que lo modifiquéis adaptándolo a vuestras necesidades (en catalán)


Por supuesto también os adjunto una colección muy completa de exámenes de años anteriores...


Una colección no tan completa de PAC's y PEC's

PACS y PECS

Una colección de prácticas...

Prácticas

Y para vuestra ayuda un PowerPoint con componentes 'Copia y pega' y un 'Test'...

PowerPoint
Test

Y ahora lo mejor!!!

Al menos durante los cinco últimos cuadrimestres, hay dos preguntas cortas que valen medio punto cada una y que se extrae de un cuestionario de 26 preguntas!  (Un regalo, vamos...)

Pues para que podáis estudiarlas amenamente, las he metido en el anki!


Descargarse las tarjetas para el software aquí o aquí, o bien buscar el mazo UOC - Fonaments de computadors en ankiweb.

Y con esto ya está...

Recordad que para que me sea más fácil mantener los documentos actualizados (y de paso ganarme unos millones) utilizo el acortador de url ad.fly, eso significa que cuando pinchéis en un enlace os aparecerá una publicidad con un botón que pone... 'Saltar Publicidad'... lo pincháis y accederéis al MEGA, dónde tengo alojados los ficheros en el momento de escribir este artículo. Si no accedéis a Mega es que lo he cambiado de host (que me da va a ser en breve)

Bueno... besines y a afilar los codos...  Mucha suerte a tod@s.

martes, 31 de mayo de 2016

Cargar cotizaciones en Metastock 11

Que Metastock es el programa favorito para los inversores de bolsa no lo discute nadie. Que tener Metastock actualizado a final de sesión cuesta una pasta también... o casi... vamos a ver como mantener Metastock 11 actualizado gracias a megabolsa.com

Bajando el histórico de cierres

Desde esta página podemos descargar los históricos al cierre de diferentes mercados:

Nuestra instalación nos habrá creado una carpeta en C:\ que se llama Metastock Data. Crearemos una carpeta llamada Downloads en ella y descomprimiremos en su interior el fichero que nos hayamos descargado. En este ejemplo se llama Downloads, pero si queréis bajaros todos los ficheros, lo suyo sería (con objeto de tener las cosas ordenadas) tener una carpeta por archivo.

Cuando vayamos a abrir una gráfica ahora sólo tendremos que ir a buscar la carpeta Downloads y veremos todas las acciones o índices que hayamos descargado.



Megabolsa mantiene estos históricos mensualmente con lo que yo recomiendo bajarlos y actualizarlos con esa periodicidad... ¿Por qué? Pues porque pueden entrar y salir nuevos valores, efectuarse splits y toda una serie de incidencias que aunque nos veamos obligados a corregir en el intradía nos aseguraremos de tenerlo bien a fin de mes.

Actualizando a cierre

Evidentemente, para nosotros, avezados tiburones, no nos bastará con el cierre a fin de mes, necesitamos disponer de los cierres diarios. Para ello cada día a cierre nos bajaremos de AQUÍ  el cierre correspondiente al día y lo copiaremos en un sitio controlado. En el ejemplo usaremos una carpeta situada en C:\Metastock Data a la que llamaremos Cierres.

Una vez copiado el archivo abriremos el Downloader yendo a Tools -> The Downloader


y pulsaremos sobre el icono convert


y seleccionaremos como origen el archivo (o archivos) que nos hemos descargado y como destino nuestra famosa carpeta Downloads...


Le damos al OK y cuando acabe ya tendremos incluido el cierre en nuestro histórico. Ala... a perder dinero!

sábado, 16 de abril de 2016

Minetest Modding (V) - Creando MOB's con Blender (I)

Pues sí amigos, me he vuelto loco... voy a intentar algo que se me escapa totalmente y es un tutorial básico de Blender para hacer MOB's (si no sabéis que es ese coso pinchad AQUÍ). Hay muy buenos tutoriales para aprender Blender en el internet siendo mis preferidos los que cuelga este señor tan guapo con su uniforme, pero yo voy a exponer aquí lo más básico.

Descargando Blender

Muy fácil... lo hacéis AQUÍ y lo instaláis. Abrimos Blender y pasamos al siguiente apartado.

Manejando Blender

Aparecerá la siguiente pantalla:



Primera lección

Seleccionamos el cubo que aparece con el botón derecho del ratón y le damos a la tecla suprimir. Nos pedirá confirmación. Le decimos que p'alante. Ya sabéis seleccionar y borrar objetos.

Segunda lección: Poniendo objetos

En la izquierda de la pantalla tenéis un menú. Fijaos que tiene varias pestañas y una que pone Create. Si la seleccionamos veremos los objetos que podemos incluir, nosotros escogeremos la Ico Sphere.


Tercera lección: Transformando objetos

Si ahora os fijáis en la parte inferior de la pantalla veremos una serie de iconos, en el que hay uno que si colocáis el ratón encima pone Transformation Manipulators: Scale.


En la captura superior está marcado en azul, es este icono:


Si lo pulsamos veremos que aparecen unos puntos sobre la esfera que acabamos de colocar:


Probad a coger uno de los puntos y estirarlo... a mi me ha quedado así:


Cuarta lección: Moviendo objetos

¿Veis una especie de diana que hay por ahí?  Colocadla sobre la esfera (pinchando sobre el botón izquierdo)



Añadid un cubo y transformarlo como ya sabéis para que sea un rectángulo... (la idea es construir una cabeza)


Ahora si os fijáis en los iconos de abajo, tenemos uno con forma de flecha que pone: Transformation Manipulators: Translate 


Nos aparecerán unas flechas sobre nuestra cabeza. La estrategia es la misma... tirando de las flechas la colocaremos sobre la esfera.


Quinta lección: Rotando objetos

Ya conocemos los iconos inferiores y nos queda uno por ver que pone Transformation Manipulators: Rotate.  Lo seleccionaremos:



Vemos que nos aparecen unas líneas sobre la cabeza... Tirando de ellas hacia abajo (En este caso la línea roja) podremos hacer que nuestro MOB mire hacia abajo.



¿Que se nos ha separado del cuerpo? Pues nada... ¿ya sabéis mover, no?  Pues la colocáis mejor.

Sexta lección:  Malditas 3D

Ahora colocaremos unas patitas y unas manitas a nuestro bicho... Ya sabéis hacerlo:



¿Queda chulo eh? En este momento salvamos nuestro diseño, ya que lo que viene ahora es complicado y lo podemos perder todo... si os fijáis en las sucesivas capturas mi bicho será algo diferente... ¿adivináis por qué?

Bueno... pulsad el 4 del teclado numérico varias veces... ¿veis que pasa?


Creíamos que los estábamos haciendo bien... pero las 3D nos juegan una mala pasada... pero no pasa nada... como sabemos mover... desde esta nueva perspectiva lo colocamos bien... recordad que los objetos se seleccionan con el botón derecho del ratón



Perfecto!!!  ¿Perfecto?   Rotemos con el 6 del teclado numérico...


Supongo que la estrategia queda clara... con el 4, el 8, el 6, y el 2 del teclado numérico le vais dando vueltas al bicho hasta que quede perfecto...

Y ahora sólo queda completarlo!!!!


Brutal, ¿eh?

Ahora pulsad la A dos veces y después CTRL + J.  Ya hemos unido todas las piezas en un sólo bicho!!!

Pues aún  no hemos acabado... nos vemos...

Videojuegos para padres y maestros - Minetest PilzAdam MOBs

Minetest está muy bien... vamos por el campo talando árboles y construyendo casitas... todo muy bucólico... pero entre nosotros... esto es un rollo... un jugador que se precie necesita matar algo de vez en cuando y claro... también tenemos MOD's que nos solucionan la papeleta...

PilzAdam MOB

Un MOB es al gaming lo que un PNJ al roling... es decir... son personajes controlados por la máquina con los que generalmente podemos interactuar a menudo con los puños o peor...

MOD's de MOB's hay un montón, si ponéis Minetest MOB en vuestro buscador favorito Google os ofrecerá una buena muestra de ellos y si no pincháis AQUÍ.

El caso es que nosotros hemos escogido uno en particular ya que me ha parecido que será el más sencillo de trabajar en la parte de Minetest avanzado... sí... creando nuestros propios MOB's...  :-)
Descargaremos el MOD de AQUÍ y lo instalaremos. A estas alturas ya sabemos cómo hacerlo, pero si tenéis mala memoria o sois nuevos en The Furni's World podéis pinchar AQUÍ para recibir precisas instrucciones.


Nuevos amiguitos

Pues sí... una vez tengamos en MOD instalado, nos iremos encontrando por el mundo con nuevos amiguitos con los que jugar... os los detallo:


Dirt Monster

Mirad que guapo es... dicen las leyendas que al caer la noche emergen de entre la yerba con un agónico aullido. Se cuenta que no son especialmente rápidos, vamos, tan rápidos como nosotros, ni especialmente feroces (un corazón de vida por ataque).
Si buscamos en la monsterpedia  encontraremos que son vulnerables al agua, a la lava y a la luz del sol.








Stone Monster

Los viejos del lugar cuentan que este ser que habita en la oscuridad nace de las entrañas de la misma roca (normal Stone) que forma su piel. Se mueve lentamente (a la mitad de velocidad de un humano) y sólo puede ser dañado con como mínimo con una espada de piedra.
Los que se han encontrado con él dicen que un ataque suyo es el doble de dañino que el del Dirt Monster y que la esencia de su pétrea carne lo convierte en inmune al agua, lava y sol.





Sand Monster

Existen relatos de origen perdido en el tiempo que los habitantes de los desiertos narran de padres a hijos. En ellos, se habla de este ser, que emerge de entre las dunas y causa pavor entre los nómadas. Afortunadamente es igual de rápido que los humanos y no muy fuerte. El agua y la lava pueden acabar con él.







Oerkki

Se han encontrado escritos de aventureros que dicen haber visto a este ser en los mismos lugares donde habita el Stone Monster. Es esos escritos se describe a este ser como una criatura que se desplaza con la misma velocidad que un humano y que es tan feroz como sus vecinos, aunque por gracias a los dioses se le puede vencer con lava y agua.








Dungeon Master

Aunque nadie lo ha podido contrastar, alguna vez se ha podido escuchar de la boca de gente que ha perdido el juicio, inconexas frases sobre este ser.

Se dice que protege a los monstruos de piedra y que escupe bolas de fuego por sus fauces. Su talón de aquiles es el fuego y el agua.

Se dice que necesitaremos asestarle 15 golpes para terminar con él a manos desnudas, 7 con una espada de madera, 5 con una de piedra y 4 blandiendo una espada de metal. Tocarlo nos costará medio corazón de vida y su aliento de fuego nos causará 4 corazones y medio de daño. Además puede destruir cualquier bloque incluyendo cofres u hornos. Pero da igual... no sobreviviréis.


No se vayan todavía, aún hay más

No todo van a ser 'mostruos' en este MOD. También hay MOB's amigables, por supuesto!

Corderitos

Son tan bonitos, tan simpáticos, tan esponjositos... ¿no os entran ganas de matarlos? Si lo hacéis obtendréis carne que podréis cocinar en el horno para vuestro sustento. Si optáis por el indulto y pulsáis sobre ellos con el botón derecho del ratón obtendréis lana. Aparecen allí dónde hay hierba.








Ratitas

Ratita, ratita... ¿por qué eres tan bonita?. Ante este reclamo la ratita se nos acercará y la podremos capturar con el botón derecho del ratón. Una vez obre en nuestro poder, podremos preparar exquisitos manjares metiéndola en el horno o liberarla de nuestro en la cocina de nuestro némesis.







Corolario

Hay MOD's de MOB's mucho más avanzados y con muchos más bichejos que harán las delicias de los aventureros más osados... sin embargo cómo introducíamos en la introducción (¿dónde si no?) el objeto de haberos mostrado éste en particular, és usarlo como base para hacer nuestros propios MOB's. ¿No os gustaría combatir contra dragones? ¿O quizá os gustaría montar un zoológico o una granja de alto rendimiento? Todo queda en vuestra mano. En la sección de Minetest avanzado próximamente...