Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Menu

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menu

Mensajes - adrigm

#16
General Programadores / Re: Problema con polimorfismo en C++
25 de Septiembre de 2012, 11:27:42 AM
Tío no utilices arrays a palo seco para estas cosas usa la STL y en concreto los vectores

std::vector<ClaseBase> mi_lista;

mi_lista.push_back(ObjetoClaseDerivada);

o de las mil formas que hay de rellenar y trabajar con vectores.

http://www.cplusplus.com/reference/stl/vector/

#17
Gracias por las respuestas.

Primero contesto a AgeR. Gracias por la recomendación, se que se pueden hacer juegos para plataformas móviles en C++ con cosas como Cocos2Dx, pero si vas a buscar trabajo en una empresa que desarrolla para IOS lo mas normal es que te pidan Objetive-C para integrarte en un equipo y para lidiar mejor con todos los componentes de Cocoa, por ejemplo.

En cuanto a la especialización, tengo claro que de momento no es lo principal, es el objetivo algún día primero hay que aprender las bases del desarrollo en todas áreas y ya luego especializarte, por eso por ahora a lo que me dedico es a programar juegos en general aparte de que para labrarte un portafolio no te queda otra que hacertelo todo tu.

De hecho ahora mismo estoy elaborando un pequeño Engine en C++ para juegos 2D para coger más nivel en C++ y tener una base para ir haciendo proyectos y prototipos, he publicado en proyecto en el foro: http://www.stratos-ad.com/forums/index.php?topic=15088.0

Ahora a [EX3]. Gracias también por la respuesta. Me explico en lo de que no pienso que sea el camino correcto. Si uno quiera empezar en este mundo creo que no es lo mejor empezar a programar en un lenguaje y plataforma tan especializada como podría ser IOS y Objetive-C o Android y Java. Pienso que sería perderse mucho en aprender particularidades de los sistemas y no en aprender desarrollo en general con el objetivo de o bien sacar algun proyecto por tu cuenta con lo complicado que es o con suerte conseguir un puesto en una pequeña empresa como programador de estos dispositivos. Que sería entrar en la industria, pero no sé hasta que punto esto es un buen terreno para mejorar en la industria en general o sería cerrarse a una plataforma en particular.

Lo mismo pienso de cosas como Unity, a ver si me explico mejor que creo que no lo he hecho bien. Con tecnologías como estas aprenderás un montón y es posible que si te especializas bien consigas trabajo, pero ¿Hasta que punto dependerás de una tecnología en concreto que vete tu a saber cuando cierran? Pienso que para ser un buen programador en este mundillo uno debe ser independiente y no casarse ningún sistema sino aprender los fundamentes del desarrollo y adaptarse a cualquier tecnología, por eso la idea de que mejor C++ y aprender conceptos de desarrollo que aventurarse a aprender las particularidades de una tecnología.

El problema creo es también la elección, te puedes arriesgas a prepararte para trabajar en una tecnología pongamos por ejemplo Unity te vuelves bueno programando para este sistema con la idea de buscar trabajo en una empresa que lo use. Bien, seguro que aprenderás bastante de desarrollo en general, pero si algún día cambias de empresa o se cambia la plataforma lo tendrás crudo pues tu solo estás acostumbrado a usar esa tecnología privativa.

Lo de la especialización en IA se que de momento es difícil, lo dejo para un futuro pues como bien dicen especialistas en un área solo los hay en la grandes compañías en juegos triple A.

Creo que el camino entonces es C++ conseguir un buen nivel, hacer proyectos interesantes conseguir mucha experiencia con bibliotecas estándares como la STL o Boost. Hacerte un buen portafolio y poco a poco ir dándote a conocer, el problema que le veo es que los estudios españoles que son la opción mas clara para entrar en el mundo profesional no suelen pedir esto sino alguien que sepa o Unity, o CoronaSDK o UDK y demás tecnologias especializadas.

En resumen que creo que si te decantas por una tecnología en concreto tendrás más posibilidades para conseguir un hueco en este mundillo, pero menos de avanzar a más. Y si te vas directamente a por C++ tendrás más dificil entrar en la industria pues suelen pedir buenos especialistas.

Os pido la opinión de que harían ustedes para progresar en este mundo que camino tomarían.

Por cierto soy estudiante de Ingenieria de Software en la universidad Politécnica de Madrid y la idea es cuando termine hacer el Master de videojuegos en la UCM. Pero creo que si quieres ser bueno aparte de esto hay que echarle muchas horas por tu cuenta y hacer juegos muchos juegos.
#18
Buenas, sé que por el foro hay muchos temas sobre como empezar en el mundo de los videojuegos y demás. No es eso lo que yo vengo a preguntar.

Tengo clara a que parte del desarrollo de videojuegos me quiero dedicar, la programación y también más o menos clara la especialización que quiero tener algún día la Inteligencia Artificial.

Antes que nada decir que no soy un novato, pero tampoco un profisional. Tengo un cierto nivel programando en C++ y Python, así como experiencia haciendo juegos 2D con bibliotecas como SDL, SFML, Pygame y otras bibliotecas multimedia. Es decir, se de que va esto.

La duda es que aprender hoy en día. Yo según he visto en la industria indie puedo tener las siguientes opciones.

1. Ir por el camino de C++ hacer algunos juegos 2D con SDL, SFML y otras bibliotacas multimedia, más adelante seguir avanzando en el aprendizaje de C++ aprender a usar algún motor gráfico 3D como Ogre. Ir haciendo un portafolio de juegos y proyectos.

2. El tan de moda camino de los dispositivos móviles. Aprender Objetive-C o Java, programar para IOS o Android para intentar entrar al mercado por aquí. Aunque no sé porque pienso que si uno quiere ser profesional de verdad este no es el camino para hacer en el futuro juegos serios, me explico aprender Java está muy bien para hacer juegos para Android, pero si te sales de ahí no vas a lidiar con Java en ningún otro sitio en el mundo de los videojuegos. Lo mismo con IOS y Objetive-C. Pienso que no es la opción correcta, aunque si muy rápida y sugerente.

3. Juegos Web: Flash, HTML5, etc. Más de lo de arriba fuera de ese ámbito se queda limitado, para juegos casuales está bien para juegos serios no lo veo tanto.

4. Otros caminos. Seguro que vosotros tenéis mas opciones, espero comentarios.

En fin que los desarrolladores experimentados me den su consejo de por donde debería tirar para meterme en la industria. Un saludo.
#19
General Programadores / Re: Links Programación
19 de Marzo de 2012, 06:20:55 PM
En la sección artículos podéis ver una colección de artículos sobre programación de videojuegos e inteligencia artificial:

http://razonartificial.com/
#20
Proyectos / Re: Generic Game Engine (video)
16 de Febrero de 2012, 09:08:39 PM
Buenas, he desarrollado una pequeña web para el engine, donde poner la documentación características y demás.

http://razonartificial.com/GGE/

La idea del post es mostrar la sección Colabora, por si alguien está interesado en colaborar en el proyecto:

Hay varias formas de colaborar en el proyecto, no solo desarrollando el engine sino haciendo test de las funciones, escribiendo juegos de ejemplo o simplemente desarrollando un proyecto. Si te interesa alguna de ellas por favor, mandame un correo a: adrigm.admin@gmail.com o escribeme por el foro.

Conviértete en desarrollador
Si sabes programar en C++ a un nivel aceptable y dispones de tiempo y ganas tienes todo lo necesario para convertirte en desarrollador.

Los desarrolladores trabajamos codo con codo en desarrollar el engine, tendrías apoyo de los demás y sería una buena forma de aprender. Puede ser no solo escribiendo código sino escribiendo documentación haciendo test en otros Sistemas Operativos y depurando y encontrando fallos.

Crea tu proyecto con GGE
Si vas a empezar un proyecto y te ha interesado la biblioteca SFML o estás buscando un framework fácil de usar nuestro proyecto es una opción, estas son las ventajas.


   - Documentado totalmente en español.

    - Ayuda por parte de los desarrolladores. Como es una framework aún en desarrollo queremos trabajar codo con codo con gente que use el framework en proyectos reales para ir añadiendo funcionalidades que vayan haciendo falta y ver las rutinas más necesarias.

    - Fácil e intuitivo. Tu preocúpate de la lógica que de las tareas engorrosas se encarga el framework.

Crea ejemplos y aprende a programar
Si te estás iniciando en el desarrollo de videojuegos este framework te ayudará a dar los primeros pasos. Los desarrolladores te ayudaremos en todo lo que necesites en tus primeros juegos simples como Pongs, Space Invaders, etc. Así nosotros vamos añadiendo juegos de ejemplo a la web que puedan servir a los demás para aprender. Todos ganamos.
#21
Proyectos / Re: Mi Proyecto Personal.
16 de Febrero de 2012, 05:36:54 AM
El problema amigo es que no estás haciendo ningún juego y te ha molestado que los compañeros te lo dijeran. ¿Quieres usar Blitz3D? Úsalo! a lo mejor no es la herramienta más moiderna, pero aprenderas sobre la estructura de como se hace un juego y a resolver problemas típicos que te servirán para otras herramientas. El problema es que no lo estás usando, te estás limitando a usar cosas ya hechas hacerle capturas y subirlas. Usa la herramienta que quieras, pero haz algo, aprende  a hacer algo que no sea mostrar lo que puede hacer esa herramienta.

Espero que no te lo tomes a mal, intento que veas lo que te quieren decir. Un saludo.
#22
Proyectos / Re: Generic Game Engine (video)
15 de Febrero de 2012, 05:17:32 PM
Gallo, yo creo que la clave está a lo que se quiere dedicar uno. Cada uno debe elegir su campo, en el mundo indie está bien hacer un poco de todo que si trabajo con programación, que si con gráficos, etc. O en equipos mas "profesionales" ya si se dividen roles pero sigue habiendo un grafista que te hace tanto concept art como modelos 3D o un programador que se encarga tanto del Game Engine, como de la IA como de la lógica del juego.

Si te quieres dedicar a esto profesionalmente hay que empezar así tocar todas las áreas un poco, ver cual te gusta más e ir especializándote en ella. Si te quieres dedicar al desarrollo de algún engine no te basta con usar cosas como Unity o Cocos2D, tienes que meterte tu a programar a bajo nivel. Por ejemplo a mi el tema que me gusta es la programación de Inteligencia Artificial en videojuegos, pero quiero aprender un poco de todas las áreas también y conocer los lenguajes y la forma de trabajar de la industria. Actualmente soy estudiante de Ingeniería Informática y la idea es al terminar hacer un master de videojuegos. Me llama el de la Complutense, pero ya se verá llegado el momento.

A lo que iba, muchas vece se ve gente que se quiere dedicar a esto profesionalmente y lo que se dedican es aprender a usar una herramienta en concreto que nos facilita hacer el juego, yo soy de los que cree que eso está bien cuando ya sabes, pero si estás aprendiendo creo que lo ideal es tocar un poco de todo e ir aprendiendo como funcionan las cosas como se cargan y ejecutan a bajo nivel, es importante que un programador sepa que está haciendo la máquina aunque luego use Framework y herramientas que le hagan la carga de recursos y demás transparente. Es como si un animador 3D se mete a usar un programa de animación aprende a usarlo y a hacer animaciones, pero no tiene ni idea de animación clásica.

[EX3] Lo he pensado en hacer mis propias herramientas como editores de mapas y demás, pero por el momento prefiero usar herramientas ya hechas y centrarme en el engine. Cuando esté más maduro quizás pueda añadirle editores propios o algún plugin para editores libres como el Tiled Map Editor que uso actualmente.

Eglomer, cuanto tiempo amigo, sí, yo seguí con el proyecto que propuse en su día en el que todo el mundo decía sí, sí vamos a hacerlo y nadie hacía nada. Una lástima, pero había allí mucha gente que no tenía ni idea de donde se metía. Un saludo.
#23
Proyectos / Re: Generic Game Engine (video)
14 de Febrero de 2012, 02:21:13 PM
¡Gracias! Era lo que pretendía mostras lo que se podía lograr con unas pocas instrucciones, para que el usuario se concentre en la lógica del juego y deje las tareas pesadas de gestión de recurso, dibujado, etc al engine.

¿Los tiempos de antes C++? Jeje será que ultimamente hay mucho Unity, XNA, HTML5... Pero creo que en la industria profesional fuera del Indie C++ sigue estando el primeros.
#24
Proyectos / Generic Game Engine (video)
14 de Febrero de 2012, 01:31:00 AM
Hola, os presento el proyecto en el que estoy trabajando. Se trata de un Game Engine para juegos 2D genérico, la idea es que sea un Engine genérico para todo tipos de juegos 2D. Estoy Porgramandolo en C++ sobre la biblioteca gráfica SFML, por la idea es que sea multiplataforma.

La idea es hacer un diseño Modular con modulos para lo gráficos, IA, física, etc y según las necesidades se carguen unos módulos u otros.

No lo hago por revolucionar el mercado, ni para que lo use todo el mundo hay engines por ahí ya acabado y mucho mejores. La idea es aprender haciendolo.

Ficha

- Nombre: Generic Game Engine
- Licencia: GPL
-  Web: http://razonartificial.com/GGE/
- Repositorio: https://github.com/adrigm/Generic-Game-Engine
- Lengua: C++
- Bibliotecas: SFML, Box2D, PugiXML, etc. (todas libres).


Características

- Modular. Diferentes módulos según necesidades
- Multiplataforma. Windows, MacOS, Linux.
- Gestión de Escenas. Se puede cambiar de un menu a un mapa del juego con una simple línea
- AssetManager. Carga fácil de recursos, por ahora estan implementados los siguientes:
   - Imágenes. png, bmp, gif, jpg, etc.
   - Sonidos. mp3, ogg, wav, etc.
   - Fuentes tipográficas TTF
   - Archivos de configuración. .ini, .cfg.
   - Mapas TMX - Del Tiled Map Editor -> http://www.mapeditor.org/
- Scroll Parallax
- Dibujado de Mapas
- Clases de Actores y Sprites

Aún hay muchas cosas en pañales pero aquí tenéis una demostración de uso. Se muestra el funcionamiento de los mapas y el scroll. Aconsejo verlo en HD y a pantalla completa para ver los comentarios que voy poniendo en el código.

http://www.youtube.com/watch?v=tudPj9tqPgE

La idea es implementar muchas otras cosas como física a través de Box2D, un módulo de IA con clases de Pathfinding, Modolo de GUIs, etc

Colabora

Hay varias formas de colaborar en el proyecto, no solo desarrollando el engine sino haciendo test de las funciones, escribiendo juegos de ejemplo o simplemente desarrollando un proyecto. Si te interesa alguna de ellas por favor, mandame un correo a: adrigm.admin@gmail.com o escribeme por el foro.

Conviértete en desarrollador

Si sabes programar en C++ a un nivel aceptable y dispones de tiempo y ganas tienes todo lo necesario para convertirte en desarrollador.

Los desarrolladores trabajamos codo con codo en desarrollar el engine, tendrías apoyo de los demás y sería una buena forma de aprender. Puede ser no solo escribiendo código sino escribiendo documentación haciendo test en otros Sistemas Operativos y depurando y encontrando fallos.

Crea tu proyecto con GGE

Si vas a empezar un proyecto y te ha interesado la biblioteca SFML o estás buscando un framework fácil de usar nuestro proyecto es una opción, estas son las ventajas.

  - Documentado totalmente en español.

   - Ayuda por parte de los desarrolladores. Como es una framework aún en desarrollo queremos trabajar codo con codo con gente que use el framework en proyectos reales para ir añadiendo funcionalidades que vayan haciendo falta y ver las rutinas más necesarias.

   - Fácil e intuitivo. Tu preocúpate de la lógica que de las tareas engorrosas se encarga el framework.

Crea ejemplos y aprende a programar

Si te estás iniciando en el desarrollo de videojuegos este framework te ayudará a dar los primeros pasos. Los desarrolladores te ayudaremos en todo lo que necesites en tus primeros juegos simples como Pongs, Space Invaders, etc. Así nosotros vamos añadiendo juegos de ejemplo a la web que puedan servir a los demás para aprender. Todos ganamos.
#25
Proyectos / Proyecto Engine 2D [Colaboración]
11 de Julio de 2011, 03:32:40 PM
Buenas, vengo a presentar un proyecto que tengo y hacer una propuesta de colaboración.

Estoy planificando la creación de un Engine 2D básico. Muchos dirán que ya hay muchos y es cierto, pero la idea es aprender en la elaboración del mismo.

La idea es basarse en bibliotecas ya hechas e integrarlas en un engine. Por ejemplo tenía pensado SFML para gráficos, Box2D para física, OpenAl, PugiXML, etc...

Pretendo que sea algo modular, es decir, que se pueda acceder a diferentes módulos segun las necesidades y que estos sean más o menos independientes con algún sistema de plugins. Módulos para IA, Gráficos, Audio, XML, Scripts...

En el repositorio del proyecto podéis ver la idea más detallada y lo que hay de código, aunque este posiblemente necesite reescribirse en parte.

http://code.google.com/p/creagames-engine/

Colaboración

Como he dicho la idea es aprender elaborando algo así, por eso busco gente ya sean expertos o principiantes (Con conocimientos en C++ al menos, sino es inviable ponerse a programar un Engine) que le interese el proyecto y quiera colaborar. La idea es, que al ser modular se pueda dedicar gente a módulos independientes sin interferir, es decir si alguien le interesa implementar la IA no tiene que preocuparse por el tema de los gráficos.

Lo que creo más dificil en el proyecto es el diseño. Hay que tener mucho cuidado en como estructurarlo mi experiencia no es amplia, pero me llevo documentando bastante tiempo para elaborar un buen gestor de escenas que es la base del gameloop, pero si alguien con experiencia en Engines decide ayudar mucho mejor.

Ahí dejo mi propuesta, espero opiniones.
#26
General Programadores / Guia programar videojuegos con C++
05 de Diciembre de 2010, 09:24:26 PM
Hola buenas, he elaborado una miniguia para empezar a programar en C++ y en los videojuegos, me gustaría compartirla con ustedes y que los más experimentados puedan decir si cambiarían o añadirían alguna información o enlace, dejo la url.

http://razonartificial.com/2010/12/guia-aprender-programar-videojuegos-con-cpp/
#27
General / Re: Gran Wiki Desarrollo Videojuegos
31 de Octubre de 2010, 03:43:33 PM
Todos habláis, de porque no usar la wiki de stratos, en vez de otra nueva y demás. Pero muchos lleváis aquí mucho tiempo y ni se había planteado escribir en ella y seguro que los que opinan tampoco tendrían intención de hacerlo ahora.

Al señor Mkr, si tu haces una wiki en español o generar contenido en español, no es precisamente para tí que lo estás escribiendo, sino para otros. Pero creo que aquí los conceptos del alruismo van poco.

En fin que por lo que veo la gente es restrictiva a colaborar, todos han opinado de si hacerla aquí o en Pekín, pero nadie ha visto que eso es lo de menos y que lo importante era animar a la gente a generar contenido, por eso la idea de un sitio independiente donde se podría atraer más gente.

Ya lo dije en el primer post, de momento era una idea y que estaba tanteando las diferentes comunidades, por lo que he visto la mayoría no está dispuesta, cada uno tiene su forma de pensar.
#28
General / Re: Gran Wiki Desarrollo Videojuegos
30 de Octubre de 2010, 07:52:59 PM
Vicente, lo he planteado en varios sitios y mas o menos he obtenido la misma respuesta. Nosotros tenemos una wiki, ¿por que no colaboras con ella?

Porque somos unos egolatras parace si cada uno tira para su comunidad. Lo que propongo es un proyecto desvinculado de comunidades como el ejemplo de gpwiki. La wiki de Stratos está mas bien vacía y sin actividad, no creo que la gente se entusiasme con la idea de colaborar. Yo no pido añadir contenido yo solamente, del que trato de generar en la medida de lo posible. Sino animar a otros a que se unan a generar contenido en español. Creo que lo mejor para eso es un proyecto independiente de comunidades, la gente suele preferir publicar en su blog/comunidad y es una pena no tener un sitio de referencia de contenido en español.
#29
General / Gran Wiki Desarrollo Videojuegos
30 de Octubre de 2010, 05:28:22 PM
Buenas, antes de que nada presentarme. Soy adrigm y llevo un blog sobre desarrollo de videojuegos, [Razón Artificial. Ahora presento una idea que tengo y sobre la que estoy tanteando a más interesados.

La idea es hacer una gran wiki u otro sistema de contenido apropiado sobre el desarrollo de videojuegos. La idea es que sea descentralizada de comunidades y sea global y común sobre el desarrollo de videojuegos en todas sus áreas.

Sería un proyecto abierto para el que quisiera colaborar y aportar contenido, pero como creo que todos sabrán que alguien colabore con algo así es más bien difícil y suelen ser cosas esporádicas, por lo que en un principio tendría que haber unos cuantos usuarios comprometidos a aportar contenido.

La idea es hacer algo similar a http://gpwiki.org/ para la comunidad hispana. De momento estoy tanteando el terreno a ver quien estaría dispuesto a colaborar en un proyecto así para la comunidad hispana.
#30
Proyectos / Re: Busco diseñador de niveles [plataforma]
22 de Septiembre de 2010, 03:19:28 PM
Hay niveles de prueba, pero están muy verde en cuanto a opciones y acciones posibles ya que en parte es lo que busco, ingenio a la hora de decidir elementos con los que interaccionar.

Puedo poner los niveles de ejemplo, pero a lo mejor dan una falsa impresión de lo que será en realidad.