JC T1 Introduccion
description
Transcript of JC T1 Introduccion
Introducción a la programación en C#
usando Unity
Daniel Robledo Forero
1
Agenda
¿Que es un programa?
Lenguajes de programación
Lenguajes y Unity
Game engines
2
Programa - ¿Qué es?
Un programa es una secuencia de instrucciones que al ejecutarse cumplen una función especifica en un computador
Tipos de programas:
OS
Aplicación
3
http://www.linuxsoft.cz/screenshot_img/1494-a.jpg
http://cloud-2.steampowered.com/ugc/433772397748629212/8C8E6823587
A2227DBFE446A5C8826696D082D7B/
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 ejecución y almacenamiento.
Windows, Mac OS, Unix, Linux, Android, iOS
4
Programa - OS
5
http://www.guidebookgallery.org/pics/gui/desktop/full/win95.png
http://3.bp.blogspot.com/-wz6WMM5vr20/UEkcq6U3nUI/AAAAAAAAGPY/V8K4PfM1J70/s1600/pr
opheticon13-1.png
(a) (b) -----------
(a) http://dzfocdn.dazeinfo.com/wp-content/uploads/2014/04/ios8-screenshot-3415990.jpg
(a) http://cnet2.cbsistatic.com/hub/i/r/2013/11/05/870ce8c8
-6493-4a16-bf5d-0bf431d50387/resize/770x578/Android%20KitKAt%20%20R.jpg?hash=270956c7e1e5660ae388718d511b7f6d
Programa - Tipos: Aplicación
Cualquier software que cumpla una función especifica para un usuario final
Procesadores de texto
Exploradores de internet
Reproductores de música/video
Juegos
IDE
6
Programa - Aplicación
7 http://currenteditorials.files.wordpress.com/2012/03/launchpad.png
http://www.digitaltrends.com/wp-content/uploads/2013/09/uneal-4.jpg
http://images.videolan.org/images/screenshots/vlc-win32.jpg
Programa - GUI
La mayoría de las aplicaciones modernas usan una interfaz grafica (GUI: graphical user interface)
8
http://fc00.deviantart.net/fs70/f/2013/287/7/5/the_universim_game_ui_concept_by_koshelkov-d6qhvlv.jpg
http://galacticaa.net/wp-content/images/battlestar_mush.png
Programa - Ejecución
Un programa esta escrito en código fuente, el puede ser ejecutado directamente o convertirse en un ejecutable.
9
1
2
3 4
Programa -¿Quién lo hace?
Un programador es en encargado de escribir este código fuente, el cual esta creado en un lenguaje de programación.
10 http://i.stack.imgur.com/ELzh4.jpg
Programa - Fases
Definir los requisitos de problema: Especificación
Planear la solución: Diseño
Escribir el código: Implementación
Arreglar los problemas: Solución de errores
Desplegar la solución: Despliegue y mantenimiento
11
Programa - Fases
12
Especificación
Diseño
Implementación
Solución de errores
Despliegue y mantenimiento
Lenguajes de programación
Definición:
Un lenguaje de programación es un lenguaje artificial usado para definir y transmitir una serie de instrucciones las cuales serán 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 - Clasificación
Bajo nivel
Lenguaje de maquina
Lenguaje de ensamblador
Propósito general:
C++
Java
C#
Objective-C
Scripting:
Swift
Javascript
Python 14
Lenguajes - Usos
C++
C#
15
• Java
• Objective-C
Lenguajes - Partes
Variables
Estructuras de control
Estructuras de datos
Palabras reservadas
Organización
16
Lenguajes - Variables
Es un espacio donde se guarda algún 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 tamaño fijo, el cual no cambiara la ejecución del programa; o así mismo tener un tamaño variable.
17 http://img.c4learn.com/2012/02/Variable-in-Java.jpg
Lenguajes - Variables
Sobre estas variables, las cuales contienen la información que se quiere procesar, se de realizara una serie de operaciones y manipulaciones de distintos tipos para así lograr que el programa cumpla su función.
http://i.imgur.com/ycyDZ.jpg
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:
http://ready-up.net/wp-content/uploads/2011/03/4064-2-1234737922.jpg
21
Lenguajes – Palabras
reservadas
Ej: Java
http://1.bp.blogspot.com/-wI9I2hB20Bs/TdLuSmtFM9I/AAAAAAAAAB0/fR717FXZfZo/s1600/palabrasclave.jpg
22
Lenguajes – Organización
Ej: Mostrar los nombres de los jugadores
23
Variables
Estructuras de datos
Estructuras de control
Palabras reservadas
Lenguajes en Unity
Lenguajes
C#
Javascript
(UnityScript)
Boo 24
Lenguajes en Unity: C# vs
Javascript
Javascript:
Sintaxis simple
Débilmente tipado
Desempeño puede variar
Derivado del verdadero Javascript => documentación limitada
Restricción de librerías
C#
Sintaxis mas restringida
Fuertemente tipado
Alto desempeño
Documentación completa 25
Game Engines - Definición
Es un aplicación compuesta por un conjunto de componentes que son utilizados para la creación y desarrollo de videojuegos.
26 http://www.driving-test-success.com/car-works/main-engine-parts.jpg
Game Engines - Arquitectura
Arquitectura
http://static.giantbomb.com/uploads/original/0/9456/2500834-layers_of_computer_architecture.png
27
Game Engines - Componentes
Rendering
Físicas
Sonido
Scripting
Animación
Inteligencia artificial
Networking
28
http://cdn.overclock.net/d/d6/350x700px-LL-d65c6073_figure1.gif
Game Engines - Rendering
Encargado de crear la representación grafica de objetos en 2D y 3D.
29
http://www.marmoset.co/wp-content/uploads/lim_corridor.jpg
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
Game Engines - Físicas
Encargado de la detección de colisiones y de simulaciones físicas en el juego.
30
http://www.ufunk.net/wp-content/uploads/2010/07/Lagoa-Multiphysics-2.jpg
http://upload.wikimedia.org/wikipedia/en/d/d6/Angry-Birds-in-Game-Play-1.jpg
Game Engines - Sonido
Encargado de la reproducción y edición de música y efectos de sonido.
31
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
http://www.the-
nextlevel.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).
32
http://ultimatefifa.com/wp-content/uploads/2012/05/FIFA-13-51.jpg
http://visualcore.com/images/articles/cs188-pacman.png
Game Engines - Ejemplos
33
http:// denis-potapenko.blogspot.com
http://epicgames.com/images/sized/files/news/UE4Logo-EG-254x207.png
Construct 2 - Gamemaker
http://www.maximumpc.com/files/u107541/screen_shot_2011-03-08_at_12.56.46_pm.jpg
http://upload.wikimedia.org/wikipedia/uk/4/4f/Source_game_engine_logo.png
http://davevoyles.azurewebsites.net/
wp-content/uploads/2014/03/Game-
Maker-Logo.jpeg
http://cdn.akamai.steamstatic.com/st
eam/apps/227240/header.jpg?t=13594
04667