Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Busco consejo sobre tecnologias para desarrollar juegos

Iniciado por JuanCarlos, 23 de Octubre de 2011, 06:58:33 PM

« anterior - próximo »

JuanCarlos

Buenas

He estado programando videojuegos desde los 14 hasta los 25. Y desde los 25 hasta los 33 actuales lo he abandonado para desarrollar aplicaciones de gestión en los típicos trabajos de oficina.
Ahora quiero retomaro, con el objetivo a medio/largo plazo de dedicarme profesionalmente. Empezaré por programar cosillas por mi cuenta, luego intentaré promocionar mis juegos o verderlos, también trataré de meterme en un equipo, primero amateur y luego semiprofesional. Y por último a buscar algo profesional, y será entonces cuando pase de hacerlo a tiempo parcial a tiempo completo.

Así q la pregunta es qué tecnologías debo aprender ahora, por donde empezar a aprender y programar. Teniendo en cuenta las que ya conozco y he utilizado para hacer juegos o trabajar profesionalmente, para q se me haga un poco más facil. Tampoco descarto empezar un lenguaje desde cero si eso me da más posibilidades en un futuro profesional en el mundillo de los videojuegos

Por tanto, resumo lo que ya conozco y he hecho:
-Videojuegos en Basic de Spectrum, montones de juegos variados, unos 3 años.
-Videojuegos en QBasic de Ms-dos, en concreto recuerdo uno de estrategia tipo warlords. Unos 6 meses.
-Videojuegos en pascal (TP7), un tetris mejorado, un mario bros, un pong mejorado mezclado con arkanoid. Unos 3 años.
Para ello me creo mi motor gráfico 2D utilizando interrupciones gráficas, básicamente el motor carga archivos de imagen en objetos en memoria, permite modificarlos y copiarlos a la memoria de video, y hacer de todo con la paleta de colores, etc.
-Videojuegos en C++, vuelvo a crear y mejorar el motor 2D y reprogramo y mejoro el mario bros, usando un poco de POO. Un año.
-Videojuegos en Visual C++ para windows, creo una versión de manager de futbol tipo PC futbol mezclado con Championship manager. Un año casi a tiempo completo.
-Videojuegos en red con arquitectura cliente/servidor utilizando sockets en Visual Basic 6, una oca, un hundir la flota, una ruleta de la fortuna. Unos 3 meses.

Y profesionalmente he trabajado sobre todo con ASP.NET (VB.NET y C#), unos 5 años. No domino la WPF, q se supone q puede trabajor con 3D o eso creo. He mirado y programado un poquillo en Flash, y he empezado a hacer algo con DirectX en 3D para .NET, poca cosa.

Mis dudas son si tirar por el camino de XNA en C#, o aprender SDL para .NET, o quizás seguir con DirectX para .NET o pasarme al OpenGL.
Por otro lado no me atrae mucho el Flash, pues lo q he visto me ha parecido un poco limitado o anticuado, aún en su última versión.

Quizás debería pasar de todo esto y buscar otras tecnologías mejores con más presente y futuro, vosotros me diréis...

Saludos y gracias

Vicente

Yo te recomendaria entonces C# + Algo. WPF en particular no, porque es mas para aplicaciones de empresa aunque se puedan hacer cosillas en 3D.

Sobre Algo hay dos alternativas:

- XNA: de mas alto nivel, vale para PC, Xbox360 y Windows Phone 7. Aunque cada plataforma tiene sus propias idiosincrasias (desde la forma del input o el tamaño de la pantalla, hasta temas como el recolector de basura, APIs disponibles,...).

- SlimDX o SharpDX: son wrappers que te permiten utilizar DX desde .NET. Ambos son muy buenos, están bien soportados, y en general es como usar DX directamente.

Un saludo!

Vicente

Darago_malaga

Puedes optar por unity3d. Miralo en http://unity3d.com/

Aparte de ser multiplataforma hay cantidad de tutoriales y mucha demanda. Ademas hay versiones gratuitas.


Pd. Me has recordado enteramente a mi. Solo que yo empece con el Amstrad alla por el 85. Y he optado por el Xcode y OpenGl.


Suerte.



Mars Attacks

No desestimes Flash tan a la ligera. Parece que está poniéndose las pilas, y su programación es muy "agradecida".

Actualmente, el combo C++/XNA/AS3 te deja prácticamente todo el mundo de los videojuegos en tus manos.

pinger

Por compatibilidad multiplataforma y facilidad de uso, Gemix Studio. No es c++ pero tienes lo que necesites, y eso que aún es una beta.

De momento compilas para Windows, Linux y Mac, y en breve IOS.

Darago_malaga


Gallo

Yo empecé dando tumbos con motores C++, XNA y tal, y al final acabé estudiando un master y mi primer juego lo hice en UDK (UnrealScript).  De cara a trabajar y tal, se busca mucho Unity3D un motor multitodo, puedes desarrollar desde windows o mac y publicar en windows, mac, web (gratis), iphone y android (pagando las licencias), de lenguajes utiliza C# y javascript y está bastante bien en cuanto a interfaz.

Otra tecnología muy recomendada y como han dicho está en alza otra vez es Flash tanto para 2D como 3D, pero no el flash que quiza conocias de antes, con el editor de frames y tal, no, lo suyo es pillar el Flash Builder ( creo que está a 180€ la licencia, aunque se puede bajar trial), y se programa con ActionScript3, a partir de ahí es programar de forma clásica un juego pero en un entorno muy asistido ya que dispondras de la flexbilidad y de AS3, el Flex SDK y de algunos frameworks muy utiles para desarrollar juegos, como el Starling: http://www.starling-framework.org/ , también exportas a todo (Windows, Mac, web, iphone, android, blackberry, etc...) con la misma herramienta, de hecho Flash Builder es opcional, solo te lo hace mas fácil, pero puedes desarrollar con Flex SDK gratuitamente, Adobe lo liberó, y hay un editor alternativo llamado Flash Developer, que es gratuito aunque no de Adobe.

Actualmente estoy en una situación similar  a la tuya, aunque ya tenga el juego de UDK desarrollador y tal, sigo intentando dedicarme a esto mientras trabajo en programación de gestión. Yo me decidí por hacer un juego en 2D para iPhone, con Objective-C directamente y el Sparrow-Framework (padre del mencionado Starling) para que sea un poco mas facilito. No me puedo quejar de los resultados, está saliendo un juego majo y estoy aprendiendo bastante por el camino.

Tengo que decir que creo que es un error aprender algo únicamente por que está en las ofertas de trabajo, al principio me basaba en eso mismo y estuve  a punto de usar Unity y mas tarde cambiar a Flash durante el desarrollo, pero realmente lo importante es mantenerte en tu elección inicial y tirarla para delante, hasta que no lo hagas no sabrás si ha sido una buena o mala elección. A mi me pasó esto con el diseño del juego, la mecánica que había pensado pues no cuajaba, me parecía divertida cuando la pensé pero hasta que no estaba jugando con ella en mi iPad no lo tenia tan claro, ahora se que no era divertida. Es mejor quitarse la duda, aunque suponga un pequeño retraso en tus planes, tampoco vas a perder lo que has aprendido haciéndolo. Al final el cambio en la mecánica ha sido muy positivo, es divertido :D.

pinger

Sobre Gemix, sigue siendo beta pero no está tan verde como podría parecer. Sobre que no hay información es porque los que lo crean son realmente muuuuuy conservadores, y hasta que no esté todo absolutamente perfecto no lo presentarán como 1.0

Y cuando hablo de perfecto me refiero a soporte para IOS 100% sin bugs y soporte para Android y ves a saber que más. Llevan años perfeccionandolo y solucionando bugs. Para empezar es una buena opción.

JuanCarlos

Gracias a todos por los consejos

Por ahora estoy aprendiendo XNA 4.0 con C#, es muy parecido a lo q yo hacía en mis tiempos, pero veo q el sistema te ahorra buena parte del trabajo sucio (librerias a bajo nivel, manejo del bucle de juego, etc).
Parece el indicado para hacer juegos en 2D, me dedicaré unos meses a aprenderlo bien haciendo algún juego de tamaño medio.
El XNA para juegos en 3D no lo he logrado entender del todo, no le he dedicado el tiempo suficiente, pero tengo la impresión de q no es la mejor opción para juegos 3D

Cuando me canse del XNA, tendre q cambiar de tecnología.
Tengo q ver q tal se trabaja con Unity3D y BlitzMax, parecen bastante buenos.
Pero también tengo q dedicarle tiempo a Flash, Flex y echar un vistazo al Flash Builder

Poco a poco, ya tocará :)






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.