Está en la página 1de 47

El Equipo YinYang

{Jorge Palacios, Christian Chomiak}


presenta

Desarrollo videojuegos:
No soy gallo, soy chocobo
Ola k
ase?
Kiere aser
juego o k
ase?

Estamos hoy reunidos porque...

Agenda
Introduccin al desarrollo de videojuegos.
Retos de la industria.
Diferencias entre la academia y "el mundo real".
Breve introduccin a Unity.
Recomendaciones y conclusiones

Introduccin al desarrollo de videojuegos

Qu es un videojuego?

(Lmina dejada en blanco para que la


audiencia de su definicin)

Introduccin al desarrollo de videojuegos

Qu es el desarrollo de juegos?

Tambin conocido como gamedev.


Disciplina dedicada al desarrollo de
software de entretenimiento (videojuegos).
Game developer != Gamer

Introduccin al desarrollo de videojuegos

(Principales) reas y disciplinas


Programacin
IA
Rendering
Gameplay

Diseo de juego
Game design
Level design

Arte
Concept Art
Modelado 3D
Game Designer != Game Programmer

Introduccin al desarrollo de videojuegos

reas y disciplinas

Narrativa
Sonido
Playtesting

Introduccin al desarrollo de videojuegos

Situacin en Venezuela
Ley de videojuegos y juguetes blicos.
Fundacin FILANTROPIA.

Posibilidades de trabajo
Agrupaciones
Eventos
GameJams

Caracas GameJam 2013

Introduccin al desarrollo de videojuegos

Qu se necesita saber?
Conocimientos y habilidades

Bsicas
Matemticas.
Trigonometra.
lgebra.

Deseables
Fsica.
Movimiento.
Comunicacin.
Prototipado.

Introduccin al desarrollo de videojuegos

Qu se necesita saber?
Conocimientos y habilidades ...
para Game Designers

Psicologa.
Lgica.
Arte.
Programacin (bsica).
Redaccin y ortografa
Comunicacin (avanzada).

Introduccin al desarrollo de videojuegos

Qu se necesita saber?
Conocimientos y habilidades ...
para Game Programmers
Algoritmos (while(mas){mejor;})
Scripting (deseable).
Programacin orientada a objetos
(necesaria).
C, C++ (indispensable).

Fantasmas
(y cmo vencerlos)

Fantasmas (y cmo vencerlos)

"No s programar"

Aprende.
Sinfn de libros y
tutoriales en Internet.

Fantasmas (y cmo vencerlos)

"Soy programador, no artista."

Recursos gratis en
Internet
(Creative Commons)

Asset Store (Unity)

Artistas Freelance

Panas que estudien


diseo

Fantasmas (y cmo vencerlos)

"Soy estudiante (no tengo dinero)."

Herramientas
OpenSource

Versiones gratis de
herramientas pagas

Convenios Universitarios:
Descuentos para estudiantes
Software gratis*

* Ciertas condiciones aplican

Fantasmas (y cmo vencerlos)

"Nunca he hecho un juego, pero quiero hacer el


prximo CoD*."

Bjate de esa nube.


Empieza por algo sencillo.
Experiencia++

*Aplica tambin para MMORPGs/Diablo

Fantasmas (y cmo vencerlos)

"<Inserte otra excusa ac>"

Fantasmas (y cmo vencerlos)

"<Inserte otra excusa ac>"

El mundo real

El mundo real

La realidad de los desarrolladores


Los desarrolladores AAA...
Ven poco beneficio econmico
an cuando gran parte del
juego depende de ellos.
i.e. Cobran salario.
Estn restringidos a proyectos
con frmulas exitosas. Poco
espacio para la innovacin.

El mundo real

La realidad de los desarrolladores


Los desarrolladores Indie...
Trabajan en equipos de
pequeo y mediano tamao.
Tienen poco presupuesto.
Kickstarter.
No tienen quince y ltimo.*

*Ciertas condiciones aplican

El Boom Indie

Indie Game: The Movie

El mundo real

Trade-off con la academia


Cosas que no se aprenden
en la academia
Resolver.
Muchas veces, las
soluciones simples sirven
igual o mejor que las
"correctas".
Colaborar.
Comunidad en Internet
Foros.
Stack Overflow
No reinventar la rueda.

Cosas que no se aprenden


en el mundo real

Estudio de algoritmos.
Algoritmos avanzados.

Estado del arte.

"Only the best is good


enough." -LEGO

Desarrollo

Herramientas

Desarrollo

Niveles y herramientas
Bajo nivel

- Sangre, sudor y lgrimas

Libreras como SDL y GLUT.

Nivel medio

- Sudor y lgrimas

Frameworks como XNA, PyGame, Enchant.js, Flixel.

Alto nivel

- Sudor

Motores como Unity, UDK y Source.

Nivel Nyancat -

Flores silvestres, helado y ponicornios

Herramientas como GameMaker y RPGMaker.


Lista de herramientas populares: http://makegames.pixelprospector.com/

Desarrollo

Unity3D

Desarrollo - Unity3D

Plataformas

Creacin
Licencia Pro
especial

Deployment

Desarrollo - Unity3D

Versiones
Unity

Unity Pro

Gratis
Muestra splash
screen y
watermarks.

Licencia de $1500
Permite:
Render-to-texture
Iluminacin global
Efecto de postprocesamiento
Occlusion culling
Plug-ins

Desarrollo - Unity3D

Programacin
Scripting
Motor creado a partir de Mono (implementacin
OpenSource del Framework .NET).
Lenguajes
UnityScript (Javascript en esteroides)
C#
Boo (sintaxis inspirada en Python)

IDE
MonoDevelop (includo en el instalador)
Soporte para Visual Studio

Desarrollo - Unity3D

Interfaz

(Lmina dejada en blanco. Se mostr la


interfaz de Unity en vivo y directo)

Desarrollo - Unity3D

Plug-ins
Libreras escritas en cdigo nativo (C, C++, ObjectiveC).
Permiten integracin entre Unity y aplicaciones de
terceros.
Por ejemplo:
ARToolKit for Unity: Realidad Aumentada.
FingerGestures: deteccin de input via touch.
OpenCV: procesamiento de imgenes.

Desarrollo - Unity3D

Asset Store

Desarrollo - Unity3D

Unity+Git
Por qu usar un Sistema
de Control de Versiones?
Qu es Git?

Cmo lograr Unity+Git?

Desarrollo - Unity3D

Sistema de Control de Versiones


Es cualquier prctica que permita llevar
un control de los cambios en un proyecto.

git
mercurial
subversion
perforce
visual sourcesafe (DON'T YOU DARE!)

Desarrollo - Unity3D

Sistema de Control de Versiones

github
bitbucket
google code
source forge
assembla

y hay ms...

Desarrollo - Unity3D

Qu es Git?
Es un sistema de control de versiones
(duh).
Diseado por Linus Torvalds.
Por qu es mejor que otras soluciones,
como Mercurial y SVN?

Desarrollo - Unity3D

Cmo usar Git?

Desarrollo - Unity3D

Unity+Git

Definir el archivo .gitignore


Configurar el proyecto en Unity:
Edit > Project Settings > Editor
Seleccionar Meta files abajo de
Version Control Mode

Para ms informacin, ver este post del blog de Christian (en ingls)
http://bonusdisc.wordpress.com/2013/02/11/version-control-and-unity3d/

Recomendaciones y conclusiones

Hey, listen!

Conclusiones y

Recomendaciones
Inicia un blog!
Compartes experiencias.
Llevas registro de lo que has aprendido.

Trabaja en un portafolio
Un blog puede ser un primer trampoln.
Es una muestra tangible de tus capacidades.

Participa en una comunidad.


Aprendes de la experiencia de los dems.
Un lugar para la sana competicin y colaboracin.

Conclusiones y

Ms recomendaciones

Mantente:
Organizado.
Usa herramientas de control de proyectos,
como Trello.
Actualizado.
La computacin es un rea en constante
evolucin.
Curioso.
Ponte retos.

Conclusiones y

Muchas ms recomendaciones
Haz brainstorming.
Muchas soluciones > una nica solucin.

Programa
La prctica hace al maestro.

Descansa.
"All work and no play makes Jack a dull boy."
En otras palabras, ten una vida.

Y hay ms!

Recuerda que...
...hay gente que est o estuvo en tu misma
situacin.
...el desarrollo de software es un proceso
iterativo.
...lo que no se comienza hoy no se termina
maana.

PU-BLI-CI-DAD
www.pctroll.me
@pctroll
bonusdisc.wordpress.com
@cchomiak23

www.
www.darkrecon.com
@darkrecongame
darkrecon.com

Muchas gracias!

Esto es un chocobo

También podría gustarte