Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

De Noob a Pro con Unity 5.x

Iniciado por kingtrase, Noviembre 15, 2016, 04:02:33 PM

Tema anterior - Siguiente tema
Antes de nada hola a todos, explicar que esto es una guia para que la linea de aprendizaje con unity sea la correcta. Todo lo relacionado a esta guia parte sobre mis experiencias desde que empeze con la programacion, y luego decidi hacer de unity3d mi engine.
 
¿Como empezar con Unity?
 
Esta es una pregunta muy recurrente a la hora de empezar con unity u otro engine, Pero la realidad que conocer la interfaz de unity es muy sencillo y este es simplemente uni IDE que por saber manejarlo no significa que automaticamente sepas crear videojuegos. Lo primero es que; para manejar unity necesitas unos conocimientos de programacion para llevarlo a su maximo rendimiento. Ademas es necesario el conocimiento de las tecnologias que este trae consigo, tales como PhysX de Nvidia, NavMesh, Unet, etc... Mi recomendacion para cualquier persona es que: Si no sabes programar no empiezes con Unity, la potencia de Unity se basa en su API que es la verdadera herramienta de trabajo a la hora de crear un videojuego, pero es eso; una herramienta y significa que el trabajo lo tienes que hacer tu, no la API de Unity.
 
¿Lenguaje de programacion?
 
Sabemos que unity soporta JS (conocido por UnityScript) y C#, (Boo fue removido del unity en esta version). La programacion es la base del videojuego, yo por mi parte aprendi a programar en VB 6 (ya extinto) luego pase por C++ y por lenguajes web como PHP, HTML y etc... hasta acabar en C# antes de empezar con Unity, yo aprendi bien el lenguaje antes de aplicarlo a Unity, recalcar que lo potente de unity es su API. Entonces mi recomendacion es que te empapes bien tu lenguaje de programacion hasta aprender a programar y lo que esta trae consigo, me refiero a: saber lo que son herencias, esturcturas, nombre de espacios, delegados, expresiones lambda, etc... despues de aprender con el lenguaje que tu te sientas comodo podras dar el salto a otros lenguajes de programacion tales como C# ya que solo deberas aprender su sintaxis.
 
Un juego no es nada sin graficos
 
Claro esta que no vas ha hacer un juego a base de cubos y esferas sin texturas, no quito importancia a esta parte de los videojuegos porque personalmente me estoy enfocando mucho en ella ya que es la parte que menos controlo, llevo bastante tiempo aprendiendo sobre modelado y animacion, cualquier software de los actuales te sirve para crear graficos, solo tienes que elegir el adecuado, a mi parecer el mejor para mi es blender ya que es potente y software libre, por eso yo elegi este. a la hora de los graficos bidimensionales para HUD o un juego completamente 2D yo uso Gimp por la misma razon, pero esto es como todo, tienes que usar el software con el que estes mas comodo. (No me explayo ya que soy programador y no diseñador y este no es mi campo)
 
Se programar, ¿Seguro?
 
A menudo me encuentro con gente que dice saber programar, y lo maximo que han echo es copiar codigo de stackoverflow. Y mas dificiles es cuando nos dedicamos a la programacion de videojuegos ya que el 90% del codigo son formulas matematicas, dicho esto ¿estas seguro que sabes programar?. Imaginaros que quereis mover un objeto mediante el conocido RigidBody, muchas veces os dara 'error' o 'un efecto que no esperais' pero esto es simplemente por que lo usais sin el conocimiento de las fisicas que este complemento usa. Mi recomendacion es que aprendais sobre fisicas y matematicas mas avanzadas, algoritmos. un ejemplo que suelo dar es: No quieras hacer un sistema de AI por waypoints sin saber cual es el algoritmo de Dijkstra.
 
Quiero hacer mi primer juego
 
Otro error comun en las personas es que; su primer juego tiene que ser GTA 5 o TES Skyrim. hay que hacerse a la idea que una presona por si sola no puede crear un juego de ese calibre, y la mayoria estais empezando... hay que ser mas realista y menos optimista y empezar por cosas basicas como un pequeño plataformas de 3 niveles o cosas asi, el primer juego que yo hize fue shooter 2D tipo Metal Slug pero a lo chapuzero, con stickmans. y el mas complejo (por codigo y IA) ha sido un Ajedrez. La unica limitacion de una persona a la hora de crear un videojuego es ella misma, pero teneis que tener en cuenta los recursos de los que disponeis, software, plataforma de distribucion, financiacion, etc...
 
Yo soy mas listo que los demas, y se todo lo anterior
 
Se que muchos que estais aqui (sobre todos los jovenes) pensais ser mas listos que nadie y quereis comeros el mundo, lo cual no es malo ya que hay que tener ambiciones. pero seamos realistas compañeros, todo el mundo 'TODO' tiene que aprender, ya que nadie nace con la biblia de la programacion bajo el brazo, y todos tenemos nuestra linea de aprendizaje, no intenteis correr ya que ese es el mayor error, la programacion se aprende constantemente ya que por mucho tiempo que lleves, saldran cosas nuevas y cometeras los mismos errores de me he olvidado el punto y coma del final. Para esto no hay mejor forma que empaparse de tutoriales y preguntar tus dudas, pero si sigues pensando que tu mente es mas birllante que la de cualquier lector de este post te pido que cierres esta pestaña del navegador.
 
Estoy preparado de verdad
 
Doy por echo que tu eres el que se ha empapado de conocimiento a lo largo de los años, La verdad que nadie esta preparado al 100%, ya que cada año vemos como salen nuevas tecnologias. Y como yo te toca seguir aprendiendo. Entonces no te puedo ayudar mucho ya que vas por el camino correcto.
 
Conclusion:
 
La creacion de videojuegos tiene muchas pautas, como he explicado tenemos que aprender a programar en nuestro lenguaje favorito para luego migrar a cualquier otro sin problema, despues elegir nuestro engine (en mi caso y supongo que en el vuestro tambien, Unity) aprender como funciona el engine, aprender la API, conocimientos sobre fisicas y matematicas tambien. Elegir nuestro software para creacion 3D y 2D (recomiendo los gratuitos, no useis cracks!) y despues de seguir esta linea, a vostoros los mas jovenes y a nosotros los mas 'experimentados' por decirlo de alguna forma, nos tocara seguir aprendiendo.
 
Mi historia con la programacion
 
Por suerte para mi, mi tio estudio Ingenieria de software (la cual no tiene nada que ver con los videojuegos) y desde los 9 años que pasaba mi tiempo con el me enseñaba a programar y como funcionaban los programas, etc... hasta los 16 años, yo andaba programando mis cosas en vb 6, despues .net con C# y tambien programacion Web y bases de datos. A esta edad conoci Unity en su version 2.x alla por el año 2010 si mal no recuerdo, lo primero que hize fue leerme libros de matematicas avanzadas y algoritmos para videojuegos, despues y antes de aprenderme siquiera la Interfaz de unity empeze a aprenderme su API y como funcionaba. Ahoramismo me veo capaz de programar y resolver una larga lista de problemas en Unity, pero mi realidad es que la lista de lo que no se programar es mucho mas larga y esta se amplia cada dia.
 
Recordad que esta 'guia' por llamarla de alguna manera se basa en mi experiencia con la programacion y Unity y espero que a muchos les sirva.
 
Un Saludo a todos, y despues de leer esto ya sabeis!
 
No puse una tilde por pereza :)
 
 

····>Desarrollando un videojuegos online-arcade para Android.


····>Programador en:C,C#,VB.net,PHP,HTML5,SQL,JS,Ruby.


····>Trabajando en: Desarrollo de paginas web y bushistudios.


                    ๑۩۞۩๑_(▀▄)KINGTRASE()_๑۩۞۩๑ 



Gracias.
 
-Bueno supongo que esta pregunta se debe hacer y podrá resolver una duda que también otros tendrán. Una vez sepas lo más básico (programación), que se debe hacer o que paso hacer?
 
Yo estuve mucho tiempo mirando cursos por youtube y otros, programación básica y como aplicarlo dentro de unity y en el insti estoy haciendo programación de arduino qué es Java. (Prefiero C... , C# )
 
Pero ahora una vez sabiendo lo básico qué paso dar.
 
-Que tipos de libros leer, videos ver (No pido materia solo de que tipo buscar)
 
 
 
Espero ser repuesto :)

Cita de: ThePalyerZftP date=1479231578Gracias.
   
   
      -Bueno supongo que esta pregunta se debe hacer y podrá resolver una duda que también otros tendrán. Una vez sepas lo más básico (programación), que se debe hacer o que paso hacer?
   
   
      Yo estuve mucho tiempo mirando cursos por youtube y otros, programación básica y como aplicarlo dentro de unity y en el insti estoy haciendo programación de arduino qué es Java. (Prefiero C... , C# )
   
   
      Pero ahora una vez sabiendo lo básico qué paso dar.
   
   
      -Que tipos de libros leer, videos ver (No pido materia solo de que tipo buscar)
   
   
       
   
   
      Espero ser repuesto :)
   


Claro, Una vez que conoces bien tu lenguaje de programacion (que es lo basico) el siguiente nivel es saber donde estas trabajando, en este caso deberias empezar a aprender sobre las herramientas que da unity, me refiero a su API, y herramientas compartidas de unity que tambien traen otros engine que es Mathf y sistema de Vectores como son Vector2 Vector3 Quaternion etc...
 
Un error muy comun a la hora de buscar recursos y tutoriales es que la gente suele buscar esto en google: Tutorial como programar en unity, o tutorial avanzado de unity.
 
Cuando tu lo que necesitas es ir aprendiendo concretamente en un tema, si necesitas saber como hacer un shooter no busques tal cual como hacer un shooter en google, ve apartado por apartado, 1º como crear personaje en primera persona, 2º como crear sistema de armas de fuego, 3º ia basica o avanzada, 4º sistemas de puntuacion etc...
 
Esa seria la forma de continuar a mi parecer :) Un saludo !

····>Desarrollando un videojuegos online-arcade para Android.


····>Programador en:C,C#,VB.net,PHP,HTML5,SQL,JS,Ruby.


····>Trabajando en: Desarrollo de paginas web y bushistudios.


                    ๑۩۞۩๑_(▀▄)KINGTRASE()_๑۩۞۩๑ 



A ver cuántos se suman a como dijo Descartes "Prefiero cambiar todo lo que sé, por lo que no sé".

@iRobb jajajaja +1

····>Desarrollando un videojuegos online-arcade para Android.


····>Programador en:C,C#,VB.net,PHP,HTML5,SQL,JS,Ruby.


····>Trabajando en: Desarrollo de paginas web y bushistudios.


                    ๑۩۞۩๑_(▀▄)KINGTRASE()_๑۩۞۩๑ 



Cita de: iRobb date=1479702355A ver cuántos se suman a como dijo Descartes "Prefiero cambiar todo lo que sé, por lo que no sé".
   


JAjaj no puedo cambiar tanto por tan poco, no es negocio XD

Cita de: lightbug date=1480359067JAjaj no puedo cambiar tanto por tan poco, no es negocio XD
   


Jajajaja. Entonces cambio todo lo que sé, por lo que sabe @lightbug

Buena guia la verdad,es totalmente cierto lo que decis cuando arrancas queres hacer un juego queres que sea un AAA, a todos nos paso. Yo recuerdo que hacia Horror games por varias razones: escenarios casi no iluminados, entonces no se veian las texturas lisas que ponia jajaj, estaba mi player y algun que otro enemigo. Pirmera persona, osea que no tenia que modelar personaje ni ponerle texturas y sobre todo era basado en eventos, activadores y demas. Arrancar asi me ayudo bastante (por supuesto con 50 mensajes rojitos que decian nullreference, todo funcionando a 10 fps XD) pero eso te mantiene motivado que es lo importante.

Etiquetas: