Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





programador de c++ y c#

Iniciado por jegoku, 14 de Noviembre de 2012, 04:47:35 PM

« anterior - próximo »

jegoku

Hola a todos,
tengo una serie de dudas en el desarrollo de juegos 3d.

Tengo ingeniero informatico y tengo bastante experiencia en c++ y c#. Mi idea es desarrolla juegos en 3d, de momento para ordenador.
Aprendo directx u opengl, ?
Paso directamente a ogre3d, illricht, o a otro engine 3d, si hay alguno, acepto sugerencias,??
O me pongo con algun game engine, ya hecho.

La idea es que me gusta la programacion, asi que algun engine me gustaria que se puediese programar.He visto unity3d pero no se que tipo de programacion se realiza ahi.
Tampo me quiero poner a romperme la cabeza con directx y opengl,pero si a la larga me puede dar trabajo, pues lo haria.
Me gustaria poder implementar la logica de los juegos, como interactuan  los objetos, dar inteligencia,etc.. eso es lo que me gustaria poder conseguir, indicadme cual seria el mejor camino a seguir..

Muchas gracias.

jegoku

gracias.
Entonces, digamos que me decanto por un game engine, en estos puedo crear clases, utizar herencia, y demas, asi como crear los comportamientos?
Es que he leido que por ejemplo Unity 3d estaba muy limitado con el tema de la programacion, y solo scripts, a que se refiere?
Si no que otro engine seria bueno para poder aplicar todo esto  en c++ o c# , y que me permita algo de libertad?


XÑA

Buf...ningún engine está preparado para lo que uno quiere. Siempre hay que adaptarse a lo que ofrece el engine.

Así que mejor piensa qué juego te gustaría hacer, y a partir de ahí, busca el engine que más te convenza.

Yo, con el tiempo, le doy más importancia a la idea y a la jugabilidad que al engine. Antes creía que un buen engine lo era todo, pero estaba equivocado.  :-\

Hechelion

Cita de: jegoku en 14 de Noviembre de 2012, 06:09:42 PM
Es que he leido que por ejemplo Unity 3d estaba muy limitado con el tema de la programacion, y solo scripts, a que se refiere?
Si no que otro engine seria bueno para poder aplicar todo esto  en c++ o c# , y que me permita algo de libertad?

Creo que ese "muy limitado" está mal informado, tal como te dijeron arriba, lo primero es determinar que quieres hacer y luego ver si el motor lo soporta o no.
Unity es un excelente motor, y te permite hacer muchas cosas, pero no todo, en especial, por que algunas características  requieren que pagues. Por ejemplo, si tu juego necesita de sombras dinámicas necesitas una licencia pro de unity, pero si en vez de sombras dinámicas, usas sombras precalculadas, lo podrías hacer sin comprar la licencia.

Si tratas de hacer tu motor y estás solo y sin experiencia, lo más probable es que tardes años y al final de cuentas aunque Unity tenga limitaciones, un motor programado por un sola persona sin experiencia, lo más probable es que termine siendo 10 veces más limitado que  unity3D, lo que tienes que evaluar es si te sirve o no te sirve a ti.

[EX3]

A parte de lo que ya te han comentado antes, un apunte sobre esto:

Cita de: jegoku en 14 de Noviembre de 2012, 06:09:42 PM
Es que he leido que por ejemplo Unity 3d estaba muy limitado con el tema de la programacion, y solo scripts, a que se refiere?
En Unity3D no programas toda la escena, elementos del juego y el motor como tal. La filosofía de Unity3D es amar una escena y meter elementos tal y como si estuvieras en un editor 3D, pones aquí, pones allá, configuras propiedades, etc... y cuando ya quieres hacer algo que no venga predefinido por el componente en si entonces es cuando saltas a programar.

En Unity3D se programa todo mediante scripts, archivos o secciones de código asociados a un elemento donde interactuas con la API del motor y las funciones y miembros que implemente el componente al que estas extendiendo con el script (e incluso extender los elementos propios del editor en si). Luego igualmente puedes programar código sin asociarlo a un objeto de la escena o elemento como tal, vamos que por programar puedes programar más de lo que te piensas con Unity3D pero usándolo te darás cuenta de que no te hará falta programar tanto como si tuvieras que hacerte tecnología y juego desde cero a código limpio ya que muchas acciones o funciones básicas las tienes ya implementadas en los componentes, la programación generalmente se va a centrar en programar comportamientos de dichos objetos.

Y por supuesto, ahí vas a poder programar orientado a objetos y aplicar herencia. Es C# lo que programas allí, aunque también puedes hacer prácticamente la misma programación con JavaScript o Boo, dos lenguajes que soporta al mismo tiempo que C# (al mismo tiempo, significa que puedes tener secciones del juego programadas en cada uno de esos lenguajes y poder interactuar entre ellas sin problema).

Cita de: jegoku en 14 de Noviembre de 2012, 04:47:35 PM
Me gustaria poder implementar la logica de los juegos, como interactuan  los objetos, dar inteligencia,etc.. eso es lo que me gustaria poder conseguir, indicadme cual seria el mejor camino a seguir.
Pues en este caso Unity3D te viene como anillo al dedo. Mi consejo es que te lo instales, cacharres un poco con el juego de demostración que trae, como primera toma de contacto así por encima, y después te mires los tutoriales de iniciación para que entiendas como funciona básicamente Unity3D.

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

jegoku

Muchas gracias, la verdad es que me habeis ayudado bastante.Tambien estuve mirando alguna alternativa unity,que teoricamente si que te dejase hacer modificaciones en caso de que no te apañese lo que ellos implementan,como torque 3d,o neoaxis, es asi?Lo que pasa que me parece que unity voy a encontrar mas documentacion.

Una cuestion, si quisiera ir aprendiendo poco a poco,para poder buscar salida laboral como "programdor de videojuegos", que me recomiendan, aprender OPENGL/Directx , o utilizar directamente algo como Ogre3d o irrlicht,.
Actualmente hago el doctorado en matematicas, en temas de algebra abstarcta y computacion teorica, con temas como automatas finitos, logica formal,redes neuronales, arboles,etc. No se si temas de inteligencia artificial en programador de juegos los buscan, o solo temas de progracion grafica.

Y la úlima cuestión, diferencias de utilizar Ogre3d o irrlicht, y que otras alternativas existen.?
Gracias.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.