Programacion vs eventos

Jastro

Como todos sabemos día a día es mas facil crear videojuegos, cada vez hay herramientas mas sencillas para hacernos la vida mas facil y por ello, hay mas cantidad de videojuegos creados.

Por ello hay motores amigables, para aquellas personas que no saben de programación pero tienen la ilusión de crear videojuegos. Motores como Gamemaker o Construct2. Y luego están los engine de toda la vida, que son menos amigables que estos porque requiere código para realizar lo que buscamos, como Unity, Libgdx o Impactjs.

¿Creen que programar con eventos preparados, te hace menos desarrollador de videojuegos?

E

Siempre he pensado que realmente eres desarrollador de videojuegos cuando lo haces todo desde cero. Ahora bien, para que inventar la rueda si ya está hecha y lo que quieres utilizar ya se ha hecho y no necesitas más.

Esto ha evolucionado mucho y permite que más gente pueda desarrollar sus ideas de manera más sencilla.

He visto a gente usar Unity sin picar ni una línea de código, si acaso algún copy paste... :/

1 respuesta
gonya707

Yo siempre he sido de los de defender a capa y espada el picar codigo y olvidarse de lo que te de cosas mascadas, pero es que en muchas ocasiones es lo que dice #2, se reinventa la rueda.

Ahora mismo tampoco recomendaria ni un extremo ni el otro, simplemente el desarrollador deberia al menos plantearse crear el juego a bajo nivel si quiere que tenga un rendimiento excepcional, o es demasiado sofisticado o con caracteristicas tan singulares que un motor de este estilo no se adapte a ello.

1
YaW

Hay que tener claro que hay dos roles en la industría muy diferentes. Bueno, en realidad hay muchos más pero por generalizar.

Por un lado están los programadores del motor en si que se encargan de optimizar todo y hacer la base del juego (aquí dentro también incluyo programadores de físicas, de IA, etc) y por otro lado están los programadores de gameplay, que son los que usando la base del motor ya hecho, se encargan de darle la forma final al juego.

El asunto es que normalmente en el mundillo que nos movemos los indies no hay esta diferenciación por lo que se tira mucho más por frameworks o engines robustos y se programa la parte del gameplay por encima.

Personalmente creo que hacer un motor desde 0 para todo lo que no sea un juego comercial y AAA es una locura, se pierde una cantidad inmensa de tiempo y los beneficios son escasos (salvo que tu juego necesite un rendimiento cojonudamente perfecto o unas caracteristicas que no tenga ninguno del mercado).

2 1 respuesta
Zekyon

¿Programar con eventos preparados?, según, si hablas de usar eventos como el create o el step de Game Maker por ejemplo, no, no te hace menos desarrollador.
Ahora, si hablamos de usar los iconitos que tiene el mismo Game Maker con la mayoría de funciones ya hechas y tu trabajo se basa en eso, en ese caso sí, no deberías llamarte game developer ya que no estas desarrollando nada, simplemente estas cogiendo cosas ya hechas y agrupándolas.

1 respuesta
gonya707

#5 No termino de ver el problema a las acciones drag and drop de gm. En muchas ocasiones te da igual poner esto

que abrir un script y poner dos lineas de codigo que hacen exactamente lo mismo.

Si ya se requiere una logica de locura, con drag and drop no va a bastar

1 respuesta
Zekyon

#6 Claro, en ocasiones puntuales por comodidad no hay problema. Me refería más bien a usar el icono de por ejemplo pathfinding (jump to position era?), solo por no saber hacerlo en código.

JackSparow

Como ya comentan, los extremos no son casi nunca buenos (aunque programar un motor desde cero tienes que aprender la ostia).

Si no sabes programar, puedes desarrollar juegos, pero muy limitados.
Además que programar no solo conlleva a dominar el lenguaje que use el motor, sino también una cantidad de algoritmos para resolver problemas, que son totalmente necesarios.

No me entra a la cabeza hacer la IA de un videojuego sin saber que es A* o un Branch and bound.
O tener que averiguar una solución concreta, y no saber de Backtracking.
O no dominar la recursividad...
Y así una larga lista como ya sabéis xD

PD: No estoy despreciando los programas "amigables". Solo exponer la idea de que están limitados por naturaleza xD

1
Drhaegar

No te hace ser un desarrollador de juegos de segunda, pues lo único que importa es el resultado final de cara al cliente que en este caso son las personas que van a jugar a tu juego. Obviamente estás más limitado si haces un juego mediante eventos, pero he jugado a juegos desarrollados de esa forma y no tienen nada que envidiar a uno hecho mediante código.

B

Lo único importante es el resultado final, eso incluye rendimiento, bugs, aspecto visual, etc. Bueno, también es importante la cantidad de trabajo/tiempo necesaria para completar el juego. Lo otro lo dejo para los puristas...

Eso sí, sin saber programar estás limitadísimo a la hora de hacer juegos, doy fe ya que no sé casi nada de programación, lo básico.

B

#4 en la mayor parte de los casos es absurdo hacerse un motor desde cero pudiendo conseguir la licencia de algún motor de los que ya existen, pero siempre hay que hacerle arreglos y añadidos, tunearlo por decirlo de alguna manera. Pero es que ni en juegos AAA suele ser necesario hacerse un motor nuevo.

1
sergilazaro

Yo sigo a algunos desarrolladoes "internacionales" por twitter, de los que lo hacen todo por sí solos, y a veces flipo que dicen que no saben de matemática de vectores, o de shaders, o que se lían mucho con la programación... Acostumbran a venir más del lado del diseño o del arte y aprendieron lo que necesitaban de programación. Ole por ellos, al final lo que importa son los resultados, y habrá los que hacen un código pésimo pero el juego es de chapeau. Así que, el juego es lo que importa.

Dicho eso, hay gente que disfruta haciendo su propio motor desde cero, aprende un montón, etc. Cada cual que haga lo que le apetezca. Yo no veo categorías en este sentido.

arrecio

Yo pienso que desarrollar videojuegos es crear video juegos, da igual la herramienta que uses. La computación es mucho más abstracto que eso. Programar para el programador es como escribir para un escritor, sólo con saber escribir no se escriben buenos libros, igualmente sólo con saber programar no se tienen por que obtener buenos resultados. Cuando hablamos de videojuegos hablamos de un nuevo tipo de arte y para llevarlo a los sistemas electronicos donde los jugamos hay que realizar una implementación del mismo tanto de la parte computacional como la de los assets, los recursos del juego, el arte en sí. Desarrollar videojuegos es resolver los problemas que te plantea la creación del mismo, no creo que por no usar un lenguaje de programación se pueda decir que no lo desarrollas. A parte de que utilizar herramientas virtuales como construct2 u otros conlleva igualmente el uso de la computación aunque a un nivel mucho más alto, debajo de eso hay un procesador que pasa todo a javascript, pero debajo están los interpretes de javascript, hechos con otros lenguajes de menos nivel, podemos seguir bajando al asm, y luego al código máquina, sin olvidar que por medio estan los drivers de opengl, interfaces de sonido, de entrada de datos, y luego a los ingenieros electronicos que han diseñado los sistemas informáticos, CPUs, GPUs, etc, hay tantas cosas que no creo que uno pueda colgarse una medalla de desarrollador desde cero sólo por usar un lenguaje de programación clásico. Tengo un par de juegos en la play store, ambos desarrollados por mi enteramente y programados en Java, también tengo alguna cosa hecha para XNA en C# y cosillas en C++ con directX, y no usaría herramientas que no me dejaran sentir que estoy programando, al ser un negado para los gráficos y sonidos mis producciones no pueden aspirar a mucho, también creo que gente que controle mucho de ésto último y le haya dado poco a la programación y use herramientas visuales guiadas por eventos no podrán resolver algunos problemas, estarán capados por las posibilidades que le ofrecen dichos softwares. Pero bueno para eso existen estudios y/o equipos de desarrollo, para que cada uno aporte de lo suyo.

LeeSinGafas

Yo siempre he considerado que cuando picas el código, el juego es "realmente tuyo" ya que tu lo has hecho todo de 0
Pero creo que he estado equivocado, no usaba engines y picaba código ya que consideraba que el juego si que sería realmente mio, pero claro, no soy el mejor programador del mundo y en apartados como ciertas colisiones, física de partículas, optimización de código... me he visto en apuros para sacarlo por mi mismo o al final he tenido que copiar el código de otra persona, por lo tanto he perdido valioso tiempo o tengo el código de otra persona (que es como haber usado un evento).

¿Es menos desarrollador de juegos aquel que tiene grandes ideas en videojuegos pero no puede aplicarlas por que no es un experto en programación?

Me parece bastante feo decir que alguien no es desarrollador de videojuegos por que no ha picado el código el, pese haber hecho un juego realmente adictivo y original con el gamemaker o cualquier engine.

MaikelOrtega

¿Eres desarrollador si usas eventos para programar? Pues claro, si haces un juego, no importa las herramientas que hayas usado, lo has hecho tu. Otra cosa es que la herramienta en cuestion este más o menos limitada, pero si te sirve y te sientes cómodo pues adelante. Desde luego yo nunca recomendaría eventos, pero sigue siendo una herramienta válida.

Aidanciyo

Mirad locomalito, usa herramientas y programacion mezclados y hace maravillas.

Es esto de segunda?

1 respuesta
LeeSinGafas

#16 Evidentemente no, creo que la programación + eventos es la mejor opción

Uriel246

Para mi un programador de videojuegos es tambien un desarrollador de videojuegos, pero un desarrollador de videojuegos no tiene por que ser programador de videojuegos.

Quiero decir, que si solo utiliza herramientas "game creator" para mi es un desarrollador de videojuegos, mientras que si usa engines o programa directamente es un programador y desarrollador de videojuegos.

Aparte de esta diferencia ambas opciones me parecen igual de buenas ya que para mi el fin justifica los medios, lo que importa es que el producto final sea de calidad. Si el producto final es una castaña, no va a mejorar mi opinion de el por que este hecho en C.

Aidanciyo

Ni que los titulos AAA estuvieran programados de 0.

Prácticamente todos los títulos importantes de la industria se basan en algun tipo de engine/plataforma que no ha sido creado por ellos.

Solo algunos casos como epic, valve, crytech etc, crean sus propios juegos de 0. (y talv ez ni eso)

JGPicatoste

Yo no tengo ni zorra de programar, y por eso cada vez que en Human Pride Games hemos querido prototipar algo, sí o sí todo el trabajo recaía en Álvaro (nuestro programador).

Ahora que he empezado a usar Construct 2 (casi un par de años llevaré con el programita), el prototipado de las ideas en 2D puedo realizarlo yo con placeholders y en tiempos muy cortos. Eso ha agilizado cantidad las cosas.

De hecho, gracias al C2 puedo participar en jams cuando él no está y sacar cosicas como el Pillage Rush, que creo que quedó resultón.

Usar C2 me hace menos desarrollador de juegos? Joder, no, si acaso más.

Son las herramientas idóneas? En general, no, pero para algunas cosas específicas puede ser muy clave.

1
10 días después
autlos

Imaginad que sois escritores y os presentan un programa magnífico y super avanzado. En él hay un formulario con numerosasopciones en el que eliges cosas como argumento, temática, introducción, nudo, desenlace, objetivo y muchas más. Tras rellenar este formulario, puedes añadir además una descripción detallada de qué y cómo es exactamente lo que quieres. Das a un botón, y aparece una novela. Con apenas 2000 palabras has creado una obra de 578 páginas.

Esa novela no es menos novela que una escrita palabra por palabra. Si en el formulario has puesto mierda, será una mierda. El proceso creativo es el mismo, el potencial del resultado también.

Pero habrá escritores que no consideren a ese proceso escribir, porque para ellos el placer no es tener el libro acabado y ver su idea, sino también llevarla a cabo.

Ambos puntos de vista son respetables ¯ _(ツ )_/¯

1 respuesta
B

#21 no es el mejor ejemplo porque en la literatura las palabras exactas tienen valor por si mismas, vamos es que lo son todo. con el codigo de los juegos no pasa lo mismo, lo que importa es que funcione como quiera el diseñador del juego.

Darkyonk

Programador es cualquier persona capaz de hacer un programa, tendrá mas o menos nivel, pero es un programador. Ahora bien la forma mediante la cual realiza este programa puede ser bien desde 0 o reciclando código que han hecho otros previamente en su día.

Para mi ambos tienen mérito, siempre y cuando el que recicle sea 100% consciente de lo que esta añadiendo y de las funcionalidades que este permite. No seria la primera vez que alguien se descarga una librería y luego se le queda corta de contenido, en su día no se fijo mucho sobre el funcionamiento de esta y para implementar algo nuevo pues llega la tormenta.

Yo soy partidario de hacer una mezcla de las 2, ya que hay contenido reciclable que no raramente debe ser modificado.

Por ejemplo, en diseño web si quiero hacer un slideshow, puedo coger las XX líneas de código que supongan y pegarlas directamente siempre y cuando sepa como modificar el array de fotos y el tiempo de exposición.

13500

Da igual cómo hagas tu videojuego, programando desde 0 o con motor source.
Hotline Miami por ejemplo esta hecho en gamemaker y es un fucking GOTY

M

Yo creo que la programacion con eventos democratiza esto, de hecho no tiene nada que ver ser un buen programador con saber hacer un juego divertido o con una buena historia, esta claro que birguerias como cambiar el mando de puerto en MGS para poder hacer un boss y demas no van a poder hacer ¿Pero el proximo Angry birds? sera un juego de mierda, pero para echar el rato en el metro es lo que demanda la gente.

Usuarios habituales