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

Temas - jalbam

#1
Industria y mercado / Trabajo temporal (sólo verano)
23 de Marzo de 2009, 11:14:57 PM
Hola, buenas.

Me asalta una duda en relación a los puestos de programador de videojuegos: ¿existe el trabajo temporal sólo para algunos periodos determinados?

Imagino que sí, ya que en ciertas empresas quizá necesiten más programadores y otro personal en los puntos más álgidos en el desarrollo de un juego determinado.

Mi duda es porque este verano he pensado que a lo mejor sería bueno encontrar un puesto temporal de programador de videojuegos, si es posible, a fin de aprender y adquirir experiencia en el sector. Puestos de programador aquí en Tarragona es más o menos fácil encontrar (aunque la mayoría son orientados a desarrollo web), pero para programar videojuegos no hay nada que yo conozca. Así que lo más seguro es que tuviera que viajar hasta Barcelona, Madrid u otra ciudad donde hubieran empresas de videojuegos.

Estoy dispuesto a viajar y trabajar un verano en un puesto de programador de videojuegos, pero falta saber si esto es factible y también si alguien estaría interesado en mi perfil. Después de verano volvería a Tarragona a seguir con la carrera y con los trabajos de aquí. Pero valoraría quizá la posibilidad de trasladarme a estudiar en el lugar de la empresa si de verdad les llego a interesar (y ellos a mí), compaginando estudios y trabajo, o bien volver allí una vez acabe los estudios aquí.

En cuanto a mi perfil, he hecho un ciclo formativo de grado superior en Desarrollo de Aplicaciones Informáticas, finalizado el año pasado, y ahora estoy en la carrera de Ingeniería Técnica en Informática de Gestión. Antes de comenzar el ciclo ya había programado mis cosillas. Me gusta mucho la programación, comencé con QBasic con unos 11 años si mal no recuerdo. Conozco varios lenguajes como C, C#, Java, PHP, etc. No programo en C++ pero tengo pretensiones de aprenderlo y además no me resultaría complicado ya conociendo C y programación orientada a objetos también. Mi nivel de inglés no es excelente ni mucho menos pero yo creo que es aceptable (entiendo la mayoría de textos y entiendo algunas conversaciones), y lo voy mejorando cada día porque voy a un curso. Aunque no son nada del otro mundo (sé que soy capaz de más), he programado algunos juegos sencillos que podéis ver en mi web: http://www.granvino.com/jam/juegos.php

Muchos de vosotros conocéis la industria, trabajáis en empresas del sector y hasta hay quien tiene una empresa de este tipo. Por eso me aventuro a preguntar a ver si sois tan amables de responderme y por si tengo suerte :)

El sueldo de momento no es lo más importante para mí ya que lo que me interesa ahora es aprender y adquirir experiencia.

Gracias de antemano :)

EDITO: aunque no lo he puesto, también valoraría, si existe, la posibilidad de trabajar a distancia. Aunque esto veo difícil que sea posible ya que dudo que alguna empresa del sector permita trabajar así.
#2
Hola, buenas.

Estoy interesado en aprender C++ ya que se pide mucho en ofertas de trabajo de programación, tanto de videojuegos como de otras cosas. Por ahora conozco C, C# y Java a un nivel aceptable como para programar algunos juegos sencillos. La programación orientada a objetos la domino.

Me gustaría encontrar un libro sobre C++ que no fuera muy espeso de leer y con no demasiadas páginas (unas 300 como máximo) ya que actualmente no dispongo de mucho tiempo. No me importa si está en inglés, aunque supongo que prefiero en castellano (en catalán no creo que hayan, pero por si acaso diré que también pueden ser en catalán).

También me gustaría que el libro no comenzara por C como muchos otros hacen o si lo hace que sea una muy breve introducción, ya que me parece muy tedioso volver a leer algo que ya sé. En definitiva, quiero ir al grano con C++.

Hasta ahora los libros que he visto tienen introducción en C o son una mezcla de C y C++, o bien ahondan demasiado en explicar qué es la programación orientada a objetos. Pero sea como sea todos tienen demasiadas páginas para mis necesidades y tiempo (más de 300).

Escribo este post porque seguro que muchos de vosotros sabéis de algún libro o más de uno con estas características que pido. Prefiero leer en papel que en el ordenador así que estoy dispuesto a comprarme el libro pero quiero que me guste y cumpla con mis expectativas de aprender C++.

A ver si sois tan amables de decirme alguno, si no os importa :)

Muchas gracias de antemano.
#3
Hola, buenas.

Estoy haciendo un clon del Tetris en Java y para asignar el teclado a un evento, realizo lo siguiente:

       addKeyListener(new java.awt.event.KeyAdapter() {
           public void keyPressed(java.awt.event.KeyEvent evt) {
               TetrisFormKeyPressed(evt);
           }
       });


Todo funciona bien, lo que pasa es que me he dado cuenta que en otros sistemas cuando se deja pulsada una tecla no funciona igual. Todo es debido a cómo tiene configurado ese sistema el teclado. Por ejemplo, en Windows, depende del "Retraso de repetición" y "Velocidad de repetición" (en Panel de control -> Teclado).

He visto juegos que este problema no lo tienen, lo cual es lo normal, pero no sé si alguno de ellos estará hecho en Java o en Java es imposible impedir que esto pase.

¿Hay alguna forma de poder asignar yo mismo la velocidad y retraso de repetición del teclado al pulsar una tecla? Mi idea es que llame a mi método (TetrisFormKeyPressed(evt)) ni muy deprisa ni muy despacio y siempre a la misma velocidad en todos los sistemas (a no ser que sean demasiado lentos y tengan problemas de velocidad, ya que entonces me imagino que será inevitable que funcionen distinto).

Muchas gracias de antemano. Espero no haberme enrollado demasiado :)
#4
General Programadores / Casting de un padre a un hijo
26 de Marzo de 2008, 06:24:46 PM
Hola, buenas.

Tengo una duda con Java. Yo tenía entendido que es posible hacer un casting de un objeto "hijo" a uno "padre" (convertir un objeto que es la instancia de una clase que hereda de un padre, a una instancia de este padre), pero no al revés.

Por ejemplo, haciendo esto:

Padre padre = (Padre) hijo;

Pero no estaría permitido hacer esto otro:

Hijo hijo = (hijo) padre;

Recuerdo que Padre es una clase no abstracta, e Hijo es una clase tampoco abstracta y que hereda de Padre.

Sin embargo, Java me deja hacer esto:

Hijo hijo = (hijo) padre;


Pero no me deja hacer esto:

Hijo hijo = (hijo) new Padre();

¿Qué diferencia hay entre hacer casting a un objeto ya instanciado a hacerlo de una nueva instancia? Lo único que cambia a mi modo de ver es la forma de escribirlo (con un new), pero parece ser que para Java no. Java compila en ambos casos, pero en el segundo (con el new) da error lanzando una excepción.

Ya que estamos, esta duda me viene de que me he dado cuenta que es muy común hacer un casting de un objeto Graphics y convertirlo en Graphics2D, cuando Graphics2D es "hijo" de Graphics. ¿Cómo es posible  que se pueda convertir un objeto padre a un hijo? ¿Qué pasa con los métodos y propiedades que el padre no tenga? Si se pierden, ¿para qué nos sirve el casting?. Por cierto, ambas clases (Graphics y Graphics2D) son abstractas (a diferencia del ejemplo anterior con las clases Hijo y Padre, que no lo eran).

Siento la torpeza. Espero que alguien despeje estas dudas, que seguro que sí con los expertos que hay aquí ;)

Gracias por todo.
#5
General Programadores / Casting de un padre a un hijo
26 de Marzo de 2008, 06:23:53 PM
Hola, buenas.

Tengo una duda con Java. Yo tenía entendido que es posible hacer un casting de un objeto "hijo" a uno "padre" (convertir un objeto que es la instancia de una clase que hereda de un padre, a una instancia de este padre), pero no al revés.

Por ejemplo, haciendo esto:

Padre padre = (Padre) hijo;

Pero no estaría permitido hacer esto otro:

Hijo hijo = (hijo) padre;

Recuerdo que Padre es una clase no abstracta, e Hijo es una clase tampoco abstracta y que hereda de Padre.

Sin embargo, Java me deja hacer esto:

Hijo hijo = (hijo) padre;


Pero no me deja hacer esto:

Hijo hijo = (hijo) new Padre();

¿Qué diferencia hay entre hacer casting a un objeto ya instanciado a hacerlo de una nueva instancia? Lo único que cambia a mi modo de ver es la forma de escribirlo (con un new), pero parece ser que para Java no. Java compila en ambos casos, pero en el segundo (con el new) da error lanzando una excepción.

Ya que estamos, esta duda me viene de que me he dado cuenta que es muy común hacer un casting de un objeto Graphics y convertirlo en Graphics2D, cuando Graphics2D es "hijo" de Graphics. ¿Cómo es posible  que se pueda convertir un objeto padre a un hijo? ¿Qué pasa con los métodos y propiedades que el padre no tenga? Si se pierden, ¿para qué nos sirve el casting?. Por cierto, ambas clases (Graphics y Graphics2D) son abstractas (a diferencia del ejemplo anterior con las clases Hijo y Padre, que no lo eran).

Siento la torpeza. Espero que alguien despeje estas dudas, que seguro que sí con los expertos que hay aquí ;)

Gracias por todo.
#6
General Programadores / Problema con Java y Graphics
12 de Enero de 2008, 01:00:58 PM
Hola, buenas.

He creido conveniente poner esta duda aquí y no en el foro de Programación gráfica ya que, aunque trate de un método para dibujar, no es una duda sobre programación gráfica si no más bien del lenguaje Java y sus objetos referentes a los gráficos.

Mi problema es el siguiente:

Tengo un objeto de formulario (que deriva de javax.swing.JFrame) el cual tiene un par de contenedores. Puedo dibujar en ellos dentro del método paint de este mismo objeto de formulario, pero no hay forma de hacerlo desde otro metodo del mismo objeto o desde otro objeto. Además, el método paint sólo se ejecuta una vez y a mi me gustaría llamarlo cuando yo quisiera.

Os explico un poco como lo tengo hecho para que se me entienda mejor:

* Tengo un objeto formulario llamado TetrisForm (que deriva de javax.swing.JFrame) el cual contiene un par de contenedores, entre ellos uno llamado PanelJuego. No utilizo Applets, aunque me imagino que debe ser muy similar.

* Puedo pintar en PanelJuego sin problemas desde un método llamado paint (public void paint(Graphics g))  en el mismo objeto TetrisForm. Por ejemplo, con este codigo:
g.setColor(java.awt.Color.GREEN);
g.fillRect(1, 1, 200, 200);


* Tengo otro objeto con un método con la siguiente estructura: representarTodo(Graphics g). Dentro pongo el mismo código de dibujo de más arriba (el del método paint).

* Problema: pasando por parámetro al método representarTodo() el contenedor correspondiente (con PanelJuego.getGraphics()), no pinta nada. He intentado llamar a update(), a repaint()... pero nada. Tampoco creando un método llamado paint() dentro del objeto que tiene representarTodo().

* Yo quiero que me pinte desde el método representarTodo() y en el momento que yo quiera, no sólo al iniciar el programa. Cabe recordar que el método representarTodo() está en otro objeto que no es TetrisForm, aunque para pasarle el objeto Graphics no tengo problema. Lo digo por si acaso.

Estoy utilizando NetBeans IDE 5.5.1 bajo Windows XP, con swing.

Espero haber sido suficiente claro y explícito. La verdad es que parece un poco liante pero en realidad es una cuestión bastante sencilla y seguro que tiene facil solución. El problema es que por más que he buscado no he podido dar con ella.

A ver si alguien puede echarme una mano, por favor.

Muchas gracias por todo de antemano :)
#7
Proyectos / La villa del seis: aventura de terror psicologico
24 de Septiembre de 2006, 03:37:40 PM
Hola, saludos a todos.

Tal como prometi en el hilo de otro foro http://www.caad.es/foro/viewtopic.php?t=1304, aqui esta el juego que hemos creado mi novia y yo con el mismo motor que el "Yasmina's Quest" pero modificado y mejorado.


Probarlo:
El juego ya esta practicamente finalizado (quiza contenga algun bug, tenemos que testearlo bien), solo faltan retoques tecincos que nada tienen que ver con la aventura en si. Se puede jugar y finalizar sin ningun tipo de problema.
Antes de probarlo recomiendo leer mas abajo la historia y tambien buscar en google informacion sobre La Mussara.
Podeis probarlo en http://www.granvino.com/jam/stuff/juegos/lavilladel6/


Descargarlo:
El juego todavia esta en fase beta, pero nos falta poco para acabarlo. Es por ello que solo pongo el enlace para que lo probeis. Mas adelante, cuando el juego ya este terminado, pondre el enlace para bajaros el juego. Una vez ponga el juego para descargar, si alguien quiere hacer una aventura similar, aconsejo utilizar el motor de "La villa del Seis" en lugar del de "Yasmina's Quest" puesto que el primero es el mismo bastante mejorado.


Teconologia:
En cuanto a especificaciones tecnicas, son mas o menos las mismas que el motor del "Yasmina's Quest" (salvo que ahora las imagenes y el fondo cargan a la vez, siempre que se tenga JavaScript activado):
* Si tu navegador soporta JavaScript: puede jugarse como una aventura grafica o una aventura conversacional o una mezcla de las dos si se prefiere.
* Si tu navegador no soporta JavaScript (o lo tiene desactivado) pero si soporta imagenes y CSS: puede jugarse como una aventura grafico-conversacional (una aventura conversacional pero con imagenes).
* Si tu navegador no soporta JavaScript (o lo tiene desactivado) pero si soprota imagenes y no soporta CSS: puede jugarse como una aventura grafico-conversacional pero sin visualizar correctamente los objetos encima del paisaje. Aconsejo en este caso desactivar las imagenes.
* Si tu navegador soporta JavaScript pero no soporta imagenes (o las tiene desactivadas): puede jugarse como una aventura conversacional pero con mas comodidad (puedes hacer click en las acciones y en el texto de los objetos en lugar de escribirlo).
* Si tu navegador no soporta JavaScript ni imagenes (o tiene ambos desactivados): puede jugarse como una aventura conversacional, de solo texto. Sin problemas.

Esta escrito en PHP y JavaScript. Pero como podeis ver arriba, no es necesario el JavaScript para jugarlo en forma aventura grafico-conversacional o aventura conversacional sin graficos.
Funciona en cualquier navegador web en cualquier plataforma y en cualquier sistema operativo. Lo cual quiere decir que se puede jugar al juego desde un PocketPC, PDA, consola portatil (Nintendo DS, PSP, etc), telefono movil, ordenador, etc. Siempre que tenga un navegador web (no importa si tiene o no JavaScript o si tiene o no imagenes, repito).
Si alguien no quiere utilizar Internet para jugar, cuando se pueda descargar, puede descargarlo e instalarlo en un servidor web local y asi acceder de forma local sin Internet (es algo engorroso para algunos, lo se, pero es mejor tener una alternativa engorrosa que nada).
Asi que en resumen creo que es un juego que satisface bastante variedad de gustos (no todos, claro) ya que es posible jugarlo de muy distintas formas y en casi cualquier lugar.


Sobre la historia del juego
El juego esta ambientado en un lugar real llamado La Mussara.
Es un pueblo en lo alto de la montaña, ya abandonado, que pertenece al municipio de Vilaplana. Esta en la provincia de Tarragona (en algunas webs pone erroneamente que esta en Gerona, etc. y tambien otros datos erroneos como que Almussara y La Mussara son dos pueblos distintos cuando se trata del mismo).
El pueblo esta en ruinas. Entre ellas, la Iglesia es objeto de todo tipo de historias: dicen que hay pintadas satanicas, que es frecuentado por personas que hacen extraños rituales, etc.
Tambien es un lugar muy conocido, junto a Tivissa (otro pueblo que tambien tiene una fama similar, pero este no esta abandonado), por el gran avistamiendo de OVNIs que dicen que se producen.
Tambien dicen que han desaparecido varias personas, extrañas perdidas de la nocion del tiempo y del espacio, fenomenos insolitos como avistamiento de seres fantasmales, etc.
Todo esto lo ambienta una niebla que muchas veces es omnipresente en toda la montaña de la sierra donde se situa el pueblo.
Mas abajo, en la misma montaña, se encuentra un campamento militar ya abandonado (Los Castillejos) bastante grande (con decenas y decenas de casas, algunas con sotano y todo, y calles. Todas abandonadas).
La villa del seis es un pueblo imaginario que es donde dicen que van a parar los que desaparecen de La Mussara, o al menos algunos que pisan una piedra situada cerca de unas antenas de television que hay en esa montaña.

Si buscais en google podeis encontrar mucha mas informacion sobre el pueblo y sus historias (algunas, segun dicen, reales). Os recomiendo hacer eso antes te jugar al juego, para ambientaros.

La villa del seis es el primer juego serio ambientado en La Mussara (es quiza el primero ambientado en un pueblo de la provincia de Tarragona). El primero ambientado en La Mussara, pero sin ser serio, es el "Yasmina's Quest" (http://yquest.tuxfamily.org).


Como se hizo:
Muchas de las fotos las hemos hecho mi novia y yo yendo al pueblo de noche. Las fotos que se han hecho de dia las hemos hecho ella y yo pero algunas las hizo tambien un amigo otra vez que fuimos (hace un par de años). Las fotos que eran de dia las hemos retocado para que parezcan de noche.
La mayoria de objetos son fotos que hemos hecho y luego retocado. El resto (creo que solo es uno xD), son dibujados.
Todo lo demas (historia y narrativa, guion, etc.) lo hemos hecho ella y yo en una libreta para luego pasarlo al ordenador e ir cambiando algunas cosas por limitaciones del motor (o mas bien por vagueza, francamente).



Capturas de pantalla:
Asi es como se visualiza en un navegador comun, con soporte CSS (tenga o no JavaScript):


...y asi se ve en un navegador de solo texto (sin imagenes, soporte o no JavaScript o CSS). En este caso corresponde al navegador web basado en texto llamado Links:




Resumiendo:
Bueno, en resumen... esperamos que os guste :) podeis jugar y acabar la aventura sin problemas, lo poco que falta por acabar del juego no tiene nada que ver con el desarrollo del juego si no mas bien con cosas mas tecnicas (comprimir las imagenes para que carguen mas rapido, etc). Puede contener algun bug todavia, aunque nosotros no lo hemos hallado, pero es mas que posible.

Gracias a todos, espero no haberme extendido.
#8
Proyectos / algunos juegos en DHTML y/o PHP gratis
23 de Agosto de 2006, 01:47:13 PM
He creado algunos juegos basados en web de codigo abierto (bajo MPL 1.1) y me gustaria compartirlo con vosotros. Funcionan en cualquier plataforma sobre cualquier navegador HTML que soporte JavaScript (el Yasmina's Quest y La Carta Mas Alta necesitas un servidor PHP que los interprete antes de servirlos, pero los demas no):

* Yasmina's Quest: mezcla de aventura grafica y aventura conversacional, usa DHTML y PHP solo. Solo disponible en castellano todavia. [http://yquest.sourceforge.net]

* La Carta Mas Alta: juego de cartas, usa HTML y PHP solo. Solo disponible en castellano todavia. [http://lcma.sourceforge.net]

* La Ranisima: Especie de "Space Invaders", usa DHTML solo. Disponible en castellano e ingles. [http://ranisima.sourceforge.net]

* PunkPong: Clon del "Pong", usa DHTML solo. Disponible en castellano e ingles. [http://punkpong.sourceforge.net]

* Tetrissimus: Clon del "Tetris", usa DHTML solo. Disponible en castellano e ingles. [http://tetrissimus.sourceforge.net]

* Yasminuroban: Clon del "Sokoban" (aka "Warehouse Keeper" o "Boxes") con editor de niveles, usa DHTML solo. Disponible en castellano e ingles. [http://yasminuroban.sourceforge.net]

* Yasminoku: Clon del "Sudoku" con solucionador, usa DHTML solo. Disponible en castellano e ingles. [http://yasminoku.sourceforge.net]

* Buscayasminas: Clon del "Buscaminas", usa DHTML solo. Disponible en castellano e ingles.. [http://buscayasminas.sourceforge.net]


Disfrutarlos! Podeis jugar gratis, bajarlos, modificarlos o publicarlos en vuestra web si quereis. Pero, porfavor, conservar el nombre del autor original ;)

Podeis enviarme cualquier pregunta, sugerencia, etc. a granvino@granvino.com.

Gracias a todos.





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.