You are on page 1of 33

Introduccin a la

programacin en C#
usando Unity

Daniel Robledo Forero


1

Agenda

Que es un programa?

Lenguajes de programacin

Lenguajes y Unity

Game engines

Programa - Qu es?

Un programa es una secuencia de instrucciones que al


ejecutarse cumplen una funcin especifica en un computador

Tipos de programas:

OS

Aplicacin

http://cloud2.steampowered.com/ugc/433772397748629212/8C8E6823587
A2227DBFE446A5C8826696D082D7B/
3

http://www.linuxsoft.cz/screenshot_img/1494-a.jpg

Programa - Tipos: OS

Controlar los procesos activos

Proveer servicios:

Manejo de archivos

Manejo del procesador

Manejo de interfaz grafica

Manejar recursos como la memoria de ejecucin y


almacenamiento.

Windows, Mac OS, Unix, Linux, Android, iOS

Programa - OS

http://www.guidebookgallery.org/pics/gui/desktop/full/win
95.png

(a)

(b) -----------

(a) http://dzfocdn.dazeinfo.com/wpcontent/uploads/2014/04/ios8-screenshot-3415990.jpg
(a) http://cnet2.cbsistatic.com/hub/i/r/2013/11/05/870ce8c8
-6493-4a16-bf5d0bf431d50387/resize/770x578/Android%20KitKAt%20%2
0R.jpg?hash=270956c7e1e5660ae388718d511b7f6d
http://3.bp.blogspot.com/5
wz6WMM5vr20/UEkcq6U3nUI/AAAAAAAAGPY/V8K4PfM1J70/s1600/pr
opheticon13-1.png

Programa - Tipos: Aplicacin

Cualquier software que cumpla una funcin especifica


para un usuario final

Procesadores de texto

Exploradores de internet

Reproductores de msica/video

Juegos

IDE

Programa - Aplicacin

http://www.digitaltrends.com/wp-content/uploads/2013/09/uneal-4.jpg

http://images.videolan.org/images/scree
nshots/vlc-win32.jpg

http://currenteditorials.files.wordpress.com/2012/03/launchpad.png

Programa - GUI

La mayora de las aplicaciones modernas usan una


interfaz grafica (GUI: graphical user interface)

http://galacticaa.net/wpcontent/images/battlestar_mush.png

http://fc00.deviantart.net/fs70/f/2013/287/7/5/the_univer
sim_game_ui_concept_by_koshelkov-d6qhvlv.jpg
8

Programa - Ejecucin

Un programa esta escrito en cdigo fuente, el puede ser


ejecutado directamente o convertirse en un ejecutable.

2
1

4
9

Programa -Quin lo hace?

Un programador es en encargado de escribir este


cdigo fuente, el cual esta creado en un lenguaje de
programacin.

http://i.stack.imgur.com/ELzh4.jpg

10

Programa - Fases

Definir los requisitos de problema: Especificacin

Planear la solucin: Diseo

Escribir el cdigo: Implementacin

Arreglar los problemas: Solucin de errores

Desplegar la solucin: Despliegue y mantenimiento

11

Programa - Fases
Especificacin
Diseo
Implementacin
Solucin de
errores
Despliegue y
mantenimiento
12

Lenguajes de programacin

Definicin:

Un lenguaje de programacin es un lenguaje artificial


usado para definir y transmitir una serie de instrucciones
las cuales sern traducidas a un lenguaje que el
computador pueda entender para luego ser interpretadas
y ejecutadas. Podemos clasificarlos como lenguajes de
alto nivel y lenguajes de bajo nivel.

13

http://blog.gtupedia.com/wp-content/uploads/2014/04/pro2.png

Lenguajes - Clasificacin

Bajo nivel

Lenguaje de maquina

Lenguaje de ensamblador

Propsito general:

C++

Java

C#

Objective-C

Scripting:

Swift

Javascript

Python

14

Lenguajes - Usos

C++

Java

C#

Objective-C

15

Lenguajes - Partes

Variables

Estructuras de control

Estructuras de datos

Palabras reservadas

Organizacin

16

Lenguajes - Variables

Es un espacio donde se guarda algn tipo de valor y la cual


tiene un identificador con el cual se le podr hacer referencia
a este valor.

Este tipo de valor de valor puede ser por ejemplo un numero


entero, una cadena de caracteres o un valor booleano.

Las variables pueden tener un tamao fijo, el cual no cambiara


la ejecucin del programa; o as mismo tener un tamao
variable.

http://img.c4learn.com/2012/02/Variable-in-Java.jpg

17

Lenguajes - Variables

Sobre estas variables, las cuales contienen la


informacin que se quiere procesar, se de realizara una
serie de operaciones y manipulaciones de distintos tipos
para as lograr que el programa cumpla su funcin.

18

Lenguajes Estructuras de
datos

Usos:

http://www.photonstorm.com/wp-content/uploads/2011/02/FGDT1-State.png

19

Lenguajes Estructuras de
control

Tipos:

http://turing.cs.trincoll.edu/~ram/cpsc110-f11/notes/gifs/ControlStructures.gif

20

Lenguajes Estructuras de
datos

Usos:

21

Lenguajes Palabras
reservadas

Ej: Java

22

http://1.bp.blogspot.com/-wI9I2hB20Bs/TdLuSmtFM9I/AAAAAAAAAB0/fR717FXZfZo/s1600/palabrasclave.jpg

Lenguajes Organizacin

Ej: Mostrar los nombres de los jugadores


Variables
Estructuras de datos
Estructuras de control
Palabras reservadas

23

Lenguajes en Unity

Lenguajes

C#

Javascript

(UnityScript)

Boo

24

Lenguajes en Unity: C# vs
Javascript

Javascript:

Sintaxis simple

Dbilmente tipado

Desempeo puede variar

Derivado del verdadero Javascript => documentacin limitada

Restriccin de libreras

C#

Sintaxis mas restringida

Fuertemente tipado

Alto desempeo

Documentacin completa

25

Game Engines - Definicin

Es un aplicacin compuesta por un conjunto de


componentes que son utilizados para la creacin y
desarrollo de videojuegos.

http://www.driving-test-success.com/car-works/main-engine-parts.jpg

26

Game Engines - Arquitectura

Arquitectura

http://static.giantbomb.com/uploads/original/0/9456/2500834layers_of_computer_architecture.png

27

Game Engines - Componentes

Rendering

Fsicas

Sonido

Scripting

Animacin

Inteligencia artificial

Networking

http://cdn.overclock.net/d/d6/350x700px-LL-d65c6073_figure1.gif

28

Game Engines - Rendering

Encargado de crear la representacin grafica de objetos


en 2D y 3D.

http://people.cs.nctu.edu.tw/~wclin/translucency/DifferentScale_SET4_skin1.png

http://3.bp.blogspot.com/LI4oRxLAkVc/UQ6xhXgX66I/AAAAAAAAC3E/Nid9zEtAsvY/s1600/Wi
nd+Waker+HD.jpg

29

http://www.marmoset.co/wp-content/uploads/lim_corridor.jpg

Game Engines - Fsicas

Encargado de la deteccin de colisiones y de


simulaciones fsicas en el juego.

http://www.ufunk.net/wp-content/uploads/2010/07/LagoaMultiphysics-2.jpg

http://upload.wikimedia.org/wikipedia/en/d/d6/Angr
y-Birds-in-Game-Play-1.jpg
30

Game Engines - Sonido

Encargado de la reproduccin y edicin de msica y


efectos de sonido.

http://unity3d.com/profiles/unity3d/themes/unity/images/
unity/quality/audio/fmod.jpg

https://docs.unrealengine.com/latest/images/Engine/
Audio/SoundCues/NodeReference/SoundCueEditor_E
xample2.jpg
31

http://www.thenextlevel.com/media/360/guitar_hero2_/guitar_hero2_1.jpg

Game Engines - AI

Encargado de simular el comportamiento de entidades


que no son controladas por el jugador (ej: enemigos).

http://visualcore.com/images/articles/cs188-pacman.png

http://ultimatefifa.com/wpcontent/uploads/2012/05/FIFA-13-51.jpg
32

Game Engines - Ejemplos

http:// denis-potapenko.blogspot.com

http://epicgames.com/images/sized/files/
news/UE4Logo-EG-254x207.png

http://www.maximumpc.com/files/u107541/screen
_shot_2011-03-08_at_12.56.46_pm.jpg

Construct 2 - Gamemaker

http://upload.wikimedia.org/wikipedia/uk/4/4f/Sour
ce_game_engine_logo.png

http://cdn.akamai.steamstatic.com/st
eam/apps/227240/header.jpg?t=13594
04667

http://davevoyles.azurewebsites.net/
wp-content/uploads/2014/03/GameMaker-Logo.jpeg
33

You might also like