by erkosone » Thu May 31, 2018 8:41 am
CicTec se realista, los requisitos para un juego pro mas o menos van por aquí:
- Conexion a facebook, twitter.
- Gestion de emails.
- Fisicas 3d.
- 3D.
- Libreria de red.
- Renderizar web dentro del juego.
- Conexión a la web con metodos comunes get, put.
- Conexion por sockets.
- Hilos de ejecución.
- Sintetizador de sonido.
Eso a rasgos generales, gemix no cumple ni el 10% de las especificaciones, y luego a nivel de lenguaje mas concretamente:
- Listas dinamicas.
- oop.
- uso de librerias externas.
- multiplataforma.
- creacion de hilos de ejecución.
- uso de memoria standar "la actual imposibilita la carga de archivos binarios y su correcta manipulación".
Para mi Gemix ahora mismo es un lenguaje que pinta muy rapido y pinta muy bien, las cosas como son, la verdad es que has hecho un gran trabajo con el render de gemix, pero le faltan mas cosas de igual importancia.
Es como tener un tesoro en una isla, no puedes gastar el dinero con nadie, y al final no te sirve para nada.
** Caso practico, el juego que estamos haciendo nowy, coldev y yo.
Expongo el problema real, nowy tiene una gran idea, comienza a programarla el solo.
Llega un punto en el que decide dar el paso y hacer un juego de calidad, busca un team.
Vale de la parte que puede hablar yo es de la parte del lenguaje ya que yo he estado programando el codigo bajo sus directrices.
idea principal: Crear matriz de escenarios "zonas de juego" donde ubicar la accion. -> Primer problema -> infinitos bugs con matrices en los typedefs ya sea con los offset y/o con los cast a types.
Segundo paso: Crear a los players y ubicarlos en el escenario, esto ha funcionado bien.
Tercer paso: Crear lista de objetos por zona y representarlos en red - > Segundo gran problema -> gemix no dispone de listas dinamicas de objetos o types -> montar sistema estatico "esto ya es trabajar mal de cojones, esto me cabrea mucho".
Cuarto paso: empaquetar la información en datagramas UDP y enviarlo por red a los clientes. -> Tercer gran problema -> el tamaño de los paquetes es demasiado grande en algunos casos. Recurro a la compresión en base64 y descubro que los strings en gemix son de tamaño limitado, WTF!? no puedo crear cadenas grandes. o por lo menos no puedo trabajar con ellas ya que internamente el lenguaje las limita al crear cadenas temporales. La logica me indica usar un array de char[], pero en gemix esto no existe, y es otro gran problema.
Al crear la pantalla de bienvenida y login, necesito crear una interfaz de usuario, Problema -> gemix no tiene GUI -> paso a crear el launcher en processing.
Al crear la pantalla de registro, si el usuario es nuevo se le exige ingresar un email valido, Problema -> gemix no tiene ningun validador de email, paso a processing.
Al crear la pantalla de registro, el usuario nuevo debe recibir un email de bienvenida, problema -> gemix no puede enviar emails -> Paso a processing.
Y así puedo pegarme todo el dia.
CicTec, gemix es un gran producto para "pintar", pero nada mas.
Tienes que darle un buen empujon para ponerlo al dia en otros aspectos que como ves no tienen nada que ver con cas capacidades de renderizado del lenguaje.
Y eso solo es el inicio del juego, no me imagino continuar con el juego hasta que no salga publicamente la beta y la comunidad la testee, pero realmente quien la va a testear? nadie, a fondo nadie, por que a la vista estan el tipo de proyectos que la comunidad crea con gemix, marcianitos, muñecos animados pero nada de proyectos profesionales de verdad, osea que me va a tocar probarla a mi XD.. y volveré a atrancarme en otros bugs.
También deberias pensar en el tema del beta testing, que actualmente y desde hace mucho tiempo ya no está a la altura y realmente el lenguaje está sin testear a fondo.
Quizá cuando salga esta beta y sea estable deberias tu mismo crear un juego y subirlo a las tiendas para comprobar tu mismo que tal funciona el lenguaje y que cosas te van a hacer falta en la vida real de un desarrollador.