Git Product home page Git Product logo

mariocraft's Introduction

MarioCraft

Autores:

  • Jorge Cárdenas Cárdenas
  • Ricardo Antonio Hernández Torres
  • Samuel Arturo Garrido Sánchez

Manual técnico

Para consultar el manual técnico pique aquí

Ejecutable

Dentro del archivo Ejecutable.zip, existe el archivo MarioCraft.exe que se puede ejecutar simplemente con doble click.

  • Tiene un ícono de honguito.

INSTRUCCIONES PARA COMPILAR:

PASO 1:

Abrir el proyecto de Visual Studio (MarioCraft.vcxproj)

PASO 2:

SELECCIONAR ARQUITECTURA x86, si se elige x64 habrá un error inicial.

PASO 3:

Abrir las propiedades del proyecto:

  • En DEPURACIÓN hacer click en ENTORNO

    • Hacer click en editar y agregar la siguiente entrada:

    PATH=$(ProjectDir)dll

En caso de existir un error al compilar, asegurarse que se encuentren las siguientes configuraciones.

Ir a Propiedades de Configuración del Proyecto y colocar las siguientes configuraciones:

  • En C/C++ >> General, en la opción Dirección de inclusión adicicionales hacer click en editar y agregar en el mismo orden las siguientes entradas:

    • $(SolutionDir)src\headers
    • $(SolutionDir)include
    • $(SolutionDir)include\SFML
    • $(SolutionDir)include\ASSIMP
    • $(SolutionDir)include\GLAD
    • $(SolutionDir)include\GLFW
    • $(SolutionDir)include\GLM
    • $(SolutionDir)include\KHR
    • $(SolutionDir)include\SDL
  • En Vinculador >> General, en la opción Dirección de bibliotecas adicicionales hacer click en editar y agregar las siguientes entradas:

    • $(SolutionDir)lib\SFML
    • $(SolutionDir)lib\SDL2
    • $(SolutionDir)lib\GLFW3
    • $(SolutionDir)lib\ASSIMP
  • En Vinculador >> Entrada, en la opción Dependencias adicicionales hacer click en editar y agregar las siguientes entradas:

    • opengl32.lib
    • glfw3.lib
    • assimp-vc141-mtd.lib
    • SDL2.lib
    • SDL2main.lib
    • sfml-main-d.lib
    • sfml-graphics-d.lib
    • sfml-system-d.lib
    • sfml-window-d.lib
    • sfml-audio-d.lib

Estructura general del proyecto

El proyecto fue generado utilizando el paradigma Orientado a Objetos de tal manera que cada elemento colocado en pantalla es una clase y algunos heredan atributos y métodos para que el proyecto sea más escalable y mejor estructurado.

  • dll: Bibliotecas de Enlaces Dinámicos
  • include: Bibliotecas generales del proyecto (headers)
  • lib: Bibliotecas de Enlaces Estáticos
  • resources: Modelos, imágenes y sonidos.
  • shaders: Scripts del GPU
  • src: Archivos fuente
    • headers: Definición de las clases del proyecto.
      • Model3D.h (Clase general de todos los modelos, mejora las transformaciones, hereda de Model.h)
      • StaticModel.h (Clase para objetos estáticos, heredada de Model3D)
      • DynamicModel.h (Clase para objetos dinámicos, heredada de Model3D)
      • sound.h (Clase para el audio)
      • MarioCraft.h (Encabezado general del objeto del plano)
      • ModelManager. (Controlador de los modelos, para mandarlos al shader)
      • Lightning.h (Clase de la luz diurna)
      • Camera.h (Clase de la cámara)
      • Golem.h
      • Dragon.h
      • Kart.h
      • Peach.h
      • JumpAnimation.h (Clase para saltos generales)
      • MobMinecraft (Clase general de mobs de minecraft, para caminar solamente)
      • Vaca.h
      • Creeper.h
      • Moneda.h
    • sources: Contenido de las clases del proyecto.
    • main.cpp: Archivo principal, instancia las clases que conforman el proyecto.
  • MarioCraft.sln: Archivo de solución
  • MarioCraft.vcxproj: Archivo del proyecto.

Interacciones con el ambiente

  • 1: Cámara

    • Para moverse por el escenario, se cuenta con una cámara que se puede mover usando la siguiente configuración de teclas y mouse.
      • W : Arriba
      • S : Abajo
      • D : Derecha
      • A : Izquierda
      • Scroll mouse: Acerca y Aleja
      • Puntero mouse: Ángulo de la cámara
  • 2: Carrera de autos

    • Para realizar la animación de carrera de autos:
      • Barra espaciadora: Iniciar animación (se reproduce sonido).

Animaciones implementadas (Más de 5 estados, no DAEs)

  • 1: Dragón volando y lanzando bolas de fuego

  • 2: Peach perseguida por Creeper

  • 3: Carrera de autos

  • 4: Toad saltando

  • 5: Golem vigilando

  • 6: Ciclo diurno (Sol y Luna)

  • 7: Monedas girando

Modelos implementados (con link)

Música de fondo

LINK PARA ARCHIVO

TÍTULO: Halland / Dalarna COMPOSITOR: Mojang AB ARREGLO: SEKAI WALKER Producers LLC.

Composition Copyright Mojang AB

Arrangement Copyright Nintendo

Your browser does not support the audio element.

Herramientas de desarrollo

Jira

Se implementó Jira utilizando un enfoque de metodologías ágiles para realizar el proyecto

CRONOGRAMA: LINK DE DRIVE

Costos del proyecto

  • Estimación de costo por modelo: $30 usd x 20 = $ 600 usd
  • Salario de modelador: $1500 usd x 1 = $1500 usd
  • Salario de desarrollador: $1200 usd x 2 = $2400 usd
  • Licencia de 3DSMax:$1700 usd x 3 año = $ 5100 usd
  • Licencia de Visual Studio: $100 x 3 usd = $300 usd
  • Luz eléctrica promedio: $50 x3 usd = $150 usd
  • Gasto de equipo de cómputo: $1500 usd x computadora (3) = $4500 usd
  • Internet: $30 x 3 = $90 usd
  • GitHub Pro: $5 x 3 = $15 usd
  • Jira Software: $100

Total

$14755 x 1.3 de ganancia = $19181.5 usd

$380,931.19 MXN

mariocraft's People

Contributors

samartgs avatar jorge-jcc avatar r3c1rd41 avatar

Watchers

James Cloos avatar Luis Sergio avatar  avatar

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.