la muerte lenta de bgt y su casi irremediable daño a la comunidad

62 poruka, 3 stranica:  1 2 3 ↖ Vrati se nazad na listu tema

Skor: +0

1. UltraLeetJ ,

bgt fue un lenguaje de programación desarrollado por philip benefall (Blastbay Studios) cuya última versión nos data más o menos en el año 2010. Su propósito era ser un lenguaje simple y versátil que se junta con una poderosa plataforma para poder hacer audio juegos.
Suena noble y todo, pero cuál fue el grave error?
Precisamente ese.
BGT es bastante fácil para iniciar a programar, y el manual está escrito de tal manera que a cualquier persona se le facilita el proceso. Tiendo a pensar que es demasiado fácil, y les diré por qué. A veces, la curva de aprendizaje para una cosa puede ser una barrera natural para algunas personas que realmente no deberían estar haciendo esa actividad en cuestión. Consideren a una persona que es extremadamente torpe con un mal rendimiento físico, y por ende es más propensa a accidentes, que se mete en trabajos de construcción. Esta probablemente no es la mejor idea, ya que hacer trabajos de construcción implica, al menos el manejo de herramientas pesadas y afiladas, y dependiendo de lo que uno esté haciendo, herramientas eléctricas. ¿Debería alguien torpe y propenso a accidentes trabajar con sierras, martillos, etc.? Veo esto como una analogía perfecta para describir que la gente siente que puede hacer esto de la programación, y claro que pueden, en un nivel muy básico, porque el manual está bien escrito. Si la persona no tiene el talento suficiente, no tiene ese impulso para tener éxito, y no tiene una sed de conocimiento y aprendizaje, muy probablemente no será un buen programador. Así es, la programación es mucho más que tan solo escribir líneas de código, se trata de conceptualizar lo que uno desea hacer y hacer que suceda. Se trata de ver relaciones donde otros nunca ven nada, y es algo totalmente milimétrico, preciso y exigente; porque una computadora sólo puede hacer lo que se le dice, exactamente lo que se le dice que haga, y nada más. Las computadoras en realidad son máquinas muy, muy tontas, los buenos programadores les harán pensar que son inteligentes.
Pero volviendo al caso, con cualquiera que sea capaz de alcanzar algunos conocimientos básicos de cómo programar en bgt, sienten que deben estar progresando. Llegan a un punto en el que pueden hacer algunas cosas, y no otras, por lo que buscan ampliar sus conocimientos mediante el uso de cosas llamadas clases, que van sacando de otro lugar. Las clases en términos de programación son herramientas muy poderosas, porque están a tan solo una instrucción de include. Esto significa que se pueden colocar dentro de algún proyecto, agregar una línea en la parte superior del script y ahora toda la funcionalidad de esa clase está disponible para ser usada por el script u otros scripts en el proyecto. Hay clases para generar menús, para manejar inventarios, para crear armas, crear enemigos y así (no les suena familiar con muchos juegos que existen por ahí?). Las clases son poderosas, porque se puede implementar el uso de una clase sin mucho esfuerzo, pero ¿qué aprende la persona al hacer esto? la verdad, casi que nada, ya que el código no es realmente suyo. No voy a entrar en el robo de código en esta sección, pero tengan en cuenta que asumo que las clases que se están utilizando en muchos juegos están disponibles libremente por el bien de este post, y no el código fuente filtrado que ha sido apropiado indebidamente por otros desarrolladores.
Ahora bien, tenemos un juego que utiliza muchas clases diferentes, ninguna de las cuales realmente le pertenecen a nuestro pseudo programador. Así que lo que él hace es modificar los parámetros que toma algo llamado el constructor de la clase, o se modifica el propio constructor y la persona que hace el juego ingenuamente cree que ha codificado su propio juego. Nota bene – Un constructor es aquello que toma la información que tiene algún nuevo objeto, que fue creado por una instancia de la clase a la cuál esta se inicializará cuando se crea el objeto, por ejemplo, cuánta salud tendrá un enemigo, y así.
Me pregunto entonces, cómo es posible que alguien que usa clases externas y así , pueda decir que logra conocer y entender el código. La respuesta es que, a menos que se tomen el tiempo para familiarizarse íntimamente con su funcionamiento interno y estudiarlo a profundidad, jamás lo lograrán. Sólo obtendrán un resultado final, algo que simplemente funciona, y eso es suficiente para ellos. Sin embargo, eso no es lo suficientemente bueno, porque modificar el código sin saber realmente lo que está pasando conduce a lo que nos irrita a todos a la hora de jugar... cosas llamadas errores, fallos, bugs. Errores que el usuario final espera que el desarrollador pueda corregir, pero quién sabe si realmente pueda hacerlo.
BGT también es limitado en cuanto a que no puede imprimir texto, o mostrar gráficos de cualquier tipo en la pantalla. Con la excepción de una pequeña ventana que todos los juegos de BGT muestran en la parte superior izquierda de la pantalla, que es un requisito para que el juego pueda tomar el foco, y aceptar la escritura de números o letras del teclado, eso es todo lo que se puede hacer. Por lo tanto, mientras que otras comunidades se esfuerzan por la inclusividad, BGT es algo también totalmente excluyente, y probablemente seguirá siendo exclusivo para los ciegos, o al menos, los ciegos que utilizen lectores de pantalla, los que no usen lectores de pantalla, o usen otras ayudas tales como magnificadores no podrán jugar o hacer nada. BGT también tiene un soporte de librerías muy limitado, por lo que, si alguien desea utilizar una biblioteca que ofrece espacialización, algo que es casi una funcionalidad principal en audiojuegos, puede o no ser capaz de cargarlo (por eso hay tanto juego nuevo que es 2d). Así que, si se necesita hacer algo externo a BGT, buena suerte para que funcione.
NO todos, pero sí muchos de los que usan bgt nunca van a otros lados en sus vidas de programadores. No usan otros lenguajes, se sienten muy cómodos en bgt. Lo que significa que están totalmente atrapados y limitados a las restricciones que tiene bgt, el cual es muy bueno para juegos simples, pero rápidamente se acaba esa libertad cuando se quiere crear algo más grande.
He sido bastante duro para que la gente se aleje de BGT -y lo seguiré siendo- porque es perjudicial para todos. Es antiguo, es inseguro, ha sido abandonado, y no puede enseñarte las verdaderas habilidades que necesitas para desarrollar cosas. Te detiene y te hace pensar que puedes hacer cualquier cosa cuando la realidad es que simplemente no puedes. También es sólo 32 bits (cuando hoy en día casi todo tiene un potencial enorme al ser 64 bits) y además está en la mira de muchos software de antivirus, que sólo hace que el problema empeore; ahora la gente tiene que hacer todo tipo de maromas sólo para jugar tu juego. No puedo pensar en un juego convencional, comercial, mainstream en existencia que requiera que agregues una excepción a tu software de antivirus sólo para poder jugarlo.
Pero en fin, mi conclusión? es que los nuevos desarrolladores , sobretodo los más jóvenes deberían adquirir buenos fundamentos de programación y bases sólidas para escribir código antes de ponerse a subir proyectos inconclusos, bien sea por alimentar su ego, por querer llamar la atención, o por mostrar su trabajo prematuramente. Si quieren saber algún aspecto de cómo es que funciona una clase, sería bueno que se contacten con el desarrollador original y pregunten, la estudien y la aprendan y que no solo la usen y ya. El autoaprendizaje es clave, y también el posponer los lanzamientos. El probar el juego una y otra vez, ojalá con grupos de personas de confianza y con diversos computadores (viejos y nuevos). Pensar si existe algún otro lenguaje más rbusto y más capaz (python por ejemplo) que brinde una solución a algún problema.
La verdad es que la programación de juegos es de lo más difícil que hay, sin importar cómo se rebaje, o se mire. SI fuera tan fácil de hacer, esa industria hubiera caído hace mucho tiempo ya, sobretodo por falta de calidad. Así que por favor no dejen que le pase esto a los audiojuegos, está en sus manos.

Skor: +0

2. javic87,

no puedo estar mas de acuerdo en todo lo que dices, un diez

Skor: +0

3. leomusic,

Que argumentación tan bien explicada. Excelente amigo

Skor: +0

4. El_Observador ,

Totalmente de acuerdo.
Por eso vienen los clones y todo lo que sabemos.

Skor: +0

5. Corona,

Muy bien explicado, bgt ya dio de sí lo que tubo que dar. Nos dejó joyas como manamon y crazy party, pero actualmente ya no es para nada rentable seguir utilizándolo.

Skor: +0

6. david_blanco ,

Totalmente de acuerdo con todo lo que dice el primer mensaje.

Skor: +0

7. notengonick ,

total mente de acuerdo amigo

Skor: +0

8. tyrion-lannister,

de acuerdo con todos los comentarios anteriores. como ejemplo explicativo de lo dicho en el primer mensaje del hilo, diré que yo intenté programar alguna vez aun que no fue en BGT. fue en un lenguage de programación para aventuras conversacionales, llamado InforMATE>!. la verdad, en un principio tenía muchos problemas con los includes porque no sabía bien si llevaban un orden o si los podía poner como yo quiciera. si mal no recuerdo, si llevaban un orden específico. después tuve problemas con asignarle funciones a objetos o NPC de mi supuesta aventura conversacional. el mayor error de todos era que pretendía hacer una aventura de un tirón y a la hora de compilarla, me salían chorrocientos errores... y para ponerme a ver cada línea de error, corregirlos uno por uno y volver a compilar, era bastante tedioso. porqué lo dejé?. pues lo dejé porque me di cuenta que no era lo mío aun que igual me sigue gustando la idea de programar algo, por fácil o difícil que sea. pero estoy conciente de que no es lo mío y de que con facilidad me puedo desanimar. así como en el caso anterior. llegué a desarrollar una aventura conversacional sin ningún error en el código fuente, pero era tan chica de código que no incluía nada mas que puro paisaje. no se podía hacer mas que una opción con uno de los objetos y era para probar la función de ganar o perder, que ahora no recuerdo como se llamaba pero creo que era algo de flag o algo así. el caso es que la havía programado bien para el perder, (con esto me refiero a que si perdía se acababa el juego) pero en cambio si ganaba no pasaba nada. se quedaba en la misma room del juego sin posivilidades a hacer nada. allí me di cuenta de que era más difícil de lo que parecía. y conste que inforMATE<! no es muy complejo. ahora que si desean irse a otros lenguages de programación como jaba, piton o C, creo que la mayoría batallaríamos mucho. aun que la idea de programar algo nuestro es muy bonita... pero por desgracia no es fácil

Skor: +0

9. Yares,

Diste lo mejor de ti, y poreso te admiro. Pasaste por vários clones. Fuiste tan irritante que todos nosotros te odiamos. :V

Skor: +0

10. notengonick ,

tenés rasón que se bayan los clones! b g t tubo sus momentos... pero ya paso aora... esta piton y barios mas!

Skor: +0

11. Dherhion,

Concuerdo contigo, pero...
Tienes un error de concepto.
Lo que se incluye con include no son clases. son ficheros de código. Usar código de otro no está mal, siempre que se entienda qué hace dicho código.
SoundPool es una clase, y viene incluída. No tienes bien pillado el concepto de clases y obnjetos, y si l o tienes bien pillado lo usas para despreciar el lenguaje.
El problema de los cloneses que se ha filtrado muchísimo código y obviamente todo viene sin documentación porque está filtrado.
Que un lenguaje sea fácil (es discutible en el caso de bgt)... No significa nada. Python es más fácil y ahí lo tienes, todos como borreguitos a bgt.
El resto de argumentos mis dieses.

Skor: +0

Poslednja izmena od strane Dherhion, 1 May 2020 20:14:53

12. Harry_Dresden,

pueden bolber a emviar este linck? gracias

Skor: +0

13. UltraLeetJ ,

de acuerdo. Puse el ejemplo de clases, porque era el más sencillo de explicar de como dan la ilusión de que se está creando algo totalmente nuevo cuando realmente no lo es. SoundPool y otras son parte del lenguaje, y de hecho son aliases para simplificar construcciones más complejas, pero el punto era ese. Para los interesados, se ha venido trabajando en lucia, un motor más robusto que simplifica algunos aspectos de programación de audio juegos y tiene bastante potencial. Juegos que se sabe que lo usan incluyen quien quiere ser millonario (who wants to be a millonaire) de accessiware y Perilous Marathon de IMS Productions.

Skor: +0

14. Harry_Dresden,

perdonen por el mensaje anterior, esque creí que estaba en otro ilo pero no era así. perdonen!

Skor: +0

15. Emil-Solerian,

solo hubieras editado el mensaje y ya

Skor: +0

16. quesadilla ,

no lo tomes personal, pero tu argumentación tiene varias falasias, primero, tu analogía no es correcta, si, en un primer momento ambos sujetos "crean" algo, pero ahí termina la similitud, mientras que alguien "torpe" es un peligro para si mismo así como para sus posibles compañeros y persona que usará el producto final, un programador, y principalmente al programador al que atacas solo quiere hacer juegos, que aunque sean répetitivos no son un peligro, después tienes bola de nieve, las conclcuciones que manejas no se siguen de las premisas, y otra que es sumamente divertida, el argumento paternalista, dices que haces todo esto por el bien de un grupo que tu imaginaste, por lo que todos deberían hacer lo que tu dices, si alguien no hace lo que tú dices es inmaduro, así que debes protegerlos de si mismos.
y esto ya no está en ningún manual, pero ese último es un acto sumamente pedante, y usando ese último te puedo decir, no escribas en ningún lugar, porque tú argumentación no es buena, utilizas falacias a diestra y siniestra, además que tu argumentación no es tuya, es un argumento popular

Skor: +0

17. Lucario ,

estoy totalmente de acuerdo con los puntos expuestos, bgt sirbió y como dijeron nos dejaron grandes títulos como crazy, manamon, paladin, etc. Pero creo ahora mismo, ya no se debería seguir en dicho lenguaje... Hay lenguajes que pueden hacer lo mismo que bgt pero mucho, mucho mejor.

Skor: +0

18. pia_gc ,

¿ese tal lucia, es POO (programación orientada a objetos), o es otro motor, (por llamarlo de alguna manera) de desarrollo de audiojuegos. Si tenés documentación, me gustaría echarle un vistazo, aunque pur curiosidad.

Para tirion:
Algo importante cuando se programa, es conocer bien lo que se está usando, respetar sintaxis, formas de escribir las cosas. Por ejemplo un bloque, no se abre de la misma manera en todos los lenguajes...

Hace falta conocer bien lo que se hace, pensar como la computadora, y mentalizar el resultado como ocurrirá, recién ahí, probarlo. Eso minimisa la frustración cuando comienza a dar muchos errores.

También suele ocurrir que se marque un error donde no lo hay, y simplemente sea una confución de nombre de función, variable o clase creada mal ubicada.

Skor: +0

19. Dherhion,

lucia es un motor de python. Un conjunto de clases que puedes usar para crear tus juegos.

Skor: +0

20. pia_gc ,

¿tienes la web?

Skor: +0

21. notengonick ,

pasa ling porfa quiero ber de que trata...

Skor: +0

22. UltraLeetJ ,

hola shirrush: que argumento tan fumado he leído, y con tan mala ortografía, debo añadir.

Skor: +0

23. sauron ,

Y como para equiparar la balanza mi querido #UltraLeetJ cómo o en qué aportaste para juzgar a un lenguaje de programación que así esté hecho con remaches e hilos funciona que creo es el paradigma de hoy... O es que como algunos, arruina la fiesta aún cuando ni pusieron nada para armarla, ni se voluntariaron para hacerla más de acorde con tus principios paternalistas... En fin que estuve en los foros de BGT y ni vi tu nombre por allí así que si ahora hablas es por 2 razones: O lo envidias porque aún siendo lo que es inspira a programar en lenguajes más serios... O simplemente quieres mejorarlo pero claro, ni es el foro correcto ni creo que somos las personas pertinentes para tomar tus sugerencias...

Skor: +0

24. kaladin-bendito-por-la-tormenta,

SE,LA,FU,MÓ! MANZO PEDAZO DE VERBORREA. pues, veamos: a ver, yo creo personalmente que, el argumento expuesto tiene sus puntos a favor, y puntos en contra. ahora, en mi opinión, me parece bastante pedante exponer las cosas de... como decirlo, de esa forma tan desenfadada. no se, fue como decir entre líneas: brutos ignorantes, salgan de una vez por todas de bgt, no sean burros, o es que no entienden. o hace falta un par de ostias para que se dejen de ca*** con un software que dicho sea de paso, es más viejo que la misma historia. pues, a mi parecer, si alguien quiere programar en tal código, creo que es cosa del o la, persona que quiere construir algo en dicho lenguaje de programación. a, y claro, sin olvidar lo siguiente: que, bgt, no es como la tabla del 1, que uno dice: caray, pero que bruto, que cosa tan sencilla! pues no, no cualquiera puede programar, y no a cualquier gamberro que se le ocurra la brillante idea de programar algo venga y, cree algo de la nada con bgt. porque total, el lenguaje es tan fácil, que hasta un escolar que aprende a leer hace poco tiempo ya puede hacerlo. no, quizá el motor con el que se programa sea intuitivo. ojo, intuitivo, más no que sea como la tabla del 1. hay muchas líneas que tienes que memorizar, muchos códigos que tienes que saber para que sirven. como crear su variante y acción correspondiente, etc etc etc. la herramienta o las herramientas están ahí, pero no para cualquiera. de hecho, si nos ponemos a pensar, el proceso de crear, no solo viene de querer ahcer algo. a! se me ocurre hacer esto, y le voy a poner esto aquí, y lo otro allá. hay que saber mucho sobre CONCEPTOS, VARIABLES, CADENAS, ACCIONES, Y UN CHORRO DE COSAS MÁS. NO ES TAN VALADÍ COMO NOS LO QUIERES HACER PENSAR EN TU post, además que no puedo dejar de pensar en algo curiocísimo. el post me suena pero mucho mucho, a copy paste. no se ustedes. si bien hay gente que dice programar algo y resulta que agarró el código ya implementado de pepito, y que luego biene raúl y que raúl cambia un par de parámetros, y que luego venga miguel y coja el código que está mas manoseado que pasamanos de transporte público, pues si, eso ya raya la soverana inoportunidad. porque ahí si, que estoy de acuerdo en que la gente copia y no crea nada por su cuenta porque para qué? porque el código ya está hecho. pero sin espíritu de iniciativa y sin creatividad. yo se, que el motor bgt es muy... como denominarlo. sencillo entre comillas. nótese la diferencia. que tiene muchas devilidades, que posee muchos problemas tras su implementación. pero, vaya que hay gente que disfruta muchísimo de los juegos programados en dicho lenguaje. en fin, sobre gustos, colores. y es por ello que no estoy totalmente de acuerdo con el post que se lee al comienzo del hilo. no se, fue como bastante rosco, rudo, poco más faltó que expusieras con lujo y detalles del por qué este motor de programación es un asco. así, literal. a, y una última cosita, así de chiquita. me da tirria, algo que me parece totalmente visceral que, hables de las computadoras como elementos torpes, desmañados y sobre todo, algo superficial y tonto. recuerda, que un buen programador, no solo programa. también tiene que amar lo que hace, y amar a la herramienta con la que trabaja. porque, gracias a la tonta de la computadora, es que es posible escribir, postear, programar, jugar, y un gran etc. no son tontas, de hecho. estamos claros que, es algo inanimado. pero, será acaso que tu cerebro puede procesar a la velocidad de la tonta computadora? puedes almacenar datos y traerlos así onda ultra rápido al frente para dar una respuesta apropiada? no, creo que no. aunque no lo creas, ellas aprenden de los usuarios que, las utilizan. por qué? porque así fueron programadas para hacer más fácil su usavilidad

Skor: +0

Poslednja izmena od strane kaladin-bendito-por-la-tormenta, 2 May 2020 01:58:00

25. TemasVarios,

como diría un mexicano. se mamó! xd

Skor: +0

26. Harry_Potter,

La época de descalificar argumentos por su ortografía ya pasó, @UltraLeetJ.

Skor: +0

27. notengonick ,

uuu que bemos aqui!

Skor: +0

28. UltraLeetJ ,

ah, a los pobres posters arriba de este, si se sienten aludidos, no es problema mío, tampoco es problema que se siga usando bgt, dije que es bueno para juegos muy sencillos pero que limita el potencial de las personas, y cómo lo hace. Pero claro, es típico del latino criticar a toda costa todo lo que se le atraviese.
Y sí, así como se acabó la moda de criticar argumentos por su ortografía, porque no son lo suficientemente respetuosos con el español (ni me imagino como serán programando) también se acaba la moda de descalificar argumentos con errores de comprensión de lectura y el creer saber mucho sobre los diferentes tipos de razonamiento, porque tampoco es que aporten mucho a una discusión. es más, ni si quiera van al tema.
Y sí, he hecho cosas con liblouis, midi, lisp, pero igual eso que importa, que bobo es retar a alguien a una batalla de egos y méritos por probar algo, es más bien algo deprimente.
ah, y AnakinSkywalker, si quieres buscar lucia en git, está. Hay que generar la documentación pero son clases bastante útiles que hemos venido trabajando, inspiradas en algunas cosas que facilitó bgt.
Sí, hay que también utilizar otras librerías y pygame es tal vez la mejor para la mayoría de casos, pero aún así por donde se mire, la programación y sobretodo la programación para juegos es de lo más difícil que hay hasta para las personas que pueden ver.
Si tienes python instalado en el sistema, puedes usar PyPI para instalarlo.

Skor: +0

Poslednja izmena od strane UltraLeetJ , 2 May 2020 02:19:15

29. notengonick ,

na ya no postéo mas... todos tienen diferentes opiñones y todas se tienen que asectar para algunos bg t es malo y para otros no y ban a peliar por eso? joer... entiendan no todos pensamos iwuales

Skor: +0

30. Aragorn-Elessar,

Emm... Amigo, perdóname que no entienda, ¿Pero qué tiene que ver acá ser o no latino?

Skor: +0

62 poruka, 3 stranica:  1 2 3 ↖ Vrati se nazad na listu tema

Odgovori na temu

Morate da se prijavite kako biste mogli da pišete

Zaboravljena lozinka? Napravi nalog