Giter Site home page Giter Site logo

juego_recorre_mundos's Introduction

Juego Recorre mundos / Recoge Objetos

Juego realizado con fines educativos, que busca enseñar el manejo de WebGL, en este caso a través de la librería Three.js.

Se tomó como inspiración el minijuego denominado Moon Launcher del juego Despicable Me: Minion Rush

Demo.

Es posible acceder al juego a través de la dirección: http://jorger.github.io/juego_recorre_mundos/

Vídeo que muestra el funcionamiento del juego: https://youtu.be/_se6ORNfRxI

Para dispositivos móviles es posible escanear el siguiente código QR.

QR Juego

Objetivo

El objetivo del juego es recoger una serie de elementos a través de diferentes planetas/lunas, algunos de los cuales giran alrededor del planeta, estos objetos son los enemigos al atraparlos (colisión) se produce un sonido diferente, sí el juego se está ejecutando en un dispositivo móvil además vibrará.

Escritorio

Una vez se va recogiendo la cantidad de cubos solicitados se va pasando de un mundo a otro, en el momento cuando se colisiona con un enemigo no se resta puntuación o vida al personaje.

Fuentes

Como se ha mencionado la actividad se ha inspirado en un minijuego del juego anteriomente citado, además se ha hecho uso de Three.js, así como el ejemplo de creación de la tierra en WebGL creado por Bjørn Sandvik publicado en el blog denominado Creating a WebGL Earth with three.js

Se ha encontrado funciones que han ayudado a la creación de la actividad, como por ejemplo la función que permite la ubicación de forma aleatoria los elementos en un esfera

function randomSpherePoint(x0,y0,z0,radius)
{
	var u = Math.random();
	var v = Math.random();
	var theta = 2 * Math.PI * u;
	var phi = Math.acos(2 * v - 1);
	var x = x0 + (radius * Math.sin(phi) * Math.cos(theta));
	var y = y0 + (radius * Math.sin(phi) * Math.sin(theta));
	var z = z0 + (radius * Math.cos(phi));
	return [x,y,z];
}

Otro de los ejemplos encontrados y que ayudó en gran medida fue el relacionado al manejo de colisiones, en este caso del personaje con los cubos, la función que realiza este proceso fue obtenida de la página Three.js Examples ejemplo Collision Detection

Otra de las opciones con la que cuenta el juego es la capacidad de controlarlo a través del acelerómetro (Android) para tal fin se hizo uso de la función encontrada en el artículo títulado HTML 5 Accelerometer

Plataformas.

El juego es funcional tanto en navegadores de escritorio y móviles que soporten WebGL, en el caso de dispositivos Android, el movimiento del personaje se realiza a través del acelerómetro y además el dispositivo vibra, en este caso haciendo uso de la API correspondiente para tal fin

Recorre Mundos

Para que el juego funcione como una "aplicación nativa" (webApp) es necesario "instalarla" en este caso a través de la opción "Add Home Screen" que ofrece el navegador (Chrome), además para controlar la orientación del dispositivo y otras opciones una vez "instalado" se hace uso del archivo manifest.json

{
  "short_name": "Recorre Mundos",
  "name": "Jorge Rubiano",  
  "icons": [{
              "src": "img/personaje.png",
              "sizes": "96x96",
              "type": "image/png"
            }],
  "start_url": "index.html",
  "display": "fullscreen",
  "orientation": "portrait"
}

Futuras mejoras.

Como se ha específicado la actividad nació con un elemento pedagógico, que busca poner en práctica los conceptos relacionos al manejo de WebGL.

En próximas versiones se busca dar mayor jugabilidad a la actividad, establecer vida al personaje así como adicionar animaciones a acciones como colisionar con objetos válidos y explosiones con elementos inválidos.

Autor

Jorge Rubaino

@ostjh License

MIT

juego_recorre_mundos's People

Contributors

jorger avatar

Watchers

 avatar  avatar

Forkers

jairfrancesco

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.