hacer juego web libre con canvas en contexto webgl (no 2d) (Reescribo hilo en castellano que me expreso mejor que en ingles)

66 respostas [Última entrada]
noblob
Desconectado
Joined: 02/08/2018

Mi intención inicial es un juego futurista de formula 1 tipo F-Zero o wipeout.
El juego estara en algún git (posiblemente https://sr.ht).
Su licencía será libre (estoy pensando cual usar).
Ya descargue naves 3d de https://opengameart.org, usables sin coste economico.
1 - ¿de los possibles formatos admitidos por webgl (obj, blend, etc) cual es mejor para un uso en software libre?
He visto que falkon no admite webgl.
2 - ¿en que navegadores libres funciona ya?
En el futuro, si me gusta como va quedando el juego, de momento lado cliente con IA para las naves rivales, me gustaría portar una parte de javascript a php (que tambien licenciaré libre) para partidas multijugador.

@iShareFreedom al igual no nos entendimos bien, lo siento pero mi inglés es flojo.

iShareFreedom
Desconectado
Joined: 12/20/2021

Creo que no leíste el artículo, pero bueno te dejo aquí literalmente uno de los primeros párrafos del siguiente documento: https://www.gnu.org/philosophy/who-does-that-server-really-serve.es.html por favor, sigue leyendo este artículo para comprender por qué usar servicios como sustitutivos al software es una nueva manera de perder tu libertad.

La cuestión esencial es que usted tenga el control sobre el programa que ha escrito otra persona (si es libre). Pero usted nunca puede tener el control sobre un servicio gestionado por otra persona, de modo que no utilice nunca un servicio si en principio podría hacer lo mismo con un programa.

Jaefra
Desconectado
Joined: 06/08/2021

Si publicas el juego como software libre, y este juego corre dentro de
un navegador usando el interprete de JavaScript, este juego seria libre
y no seria software como servicio porque no seria ningun servicio, dado
que se ejecuta dentro de tu propia maquina.

Si el juego utiliza una arquitectura cliente-servidor, como la gran
mayoria de software en el mundo, (ejemplo emacs daemon y emacsclient),
podrias publicar el codigo del cliente y el codigo del servidor como
software libre y no seria software como servicio porque cualquiera
podria usar el programa corriendo el cliente y el servidor en su propia
computadora.

Para publicar software del lado del servidor como software libre es
recomendable utilizar la licencia AGPLv3-or-later tambien conocida como
Affero GPL.
Esta licencia obliga al que usa un servidor a publicar el codigo de su
servidor si lo ha modificado.

Por otra parte si el juego es multijugador, la requerida comunicacion
del juego con varios clientes para jugar en comunidad hace que no sea
software como servicio, esta es una de las condiciones en la definicion
de el software como servicio que lo descarta como este.

Un ejemplo son los servidores de IRC y los clientes, como requieren
comunicacion, usar el servidor de otro no supone software como servicio
dado que su funcionamiento requiere esta comunicacion.
Pasa lo mismo en juegos multijugador siempre que el codigo del servidor
sea software libre.

iShareFreedom
Desconectado
Joined: 12/20/2021

Completamente de acuerdo, pues resumiendo sería libre si se distribuyese como software libre, todos mis comentarios en este hilo han sido abarcando el método de distribución. Porque por sí mismas las licencias no hacen a un programa libre, lo que hace que un programa sea libre es que respete las 4 libertades del usuario, es decir que cada uno de los usuarios tenga las 4 libertades esenciales https://www.gnu.org/philosophy/free-sw.html

iShareFreedom
Desconectado
Joined: 12/20/2021

El hecho en la práctica es que la única manera que el usuario tenga libertad es que tenga y ejecute la copia del juego en su propia computadora, si usa un servicio para jugar en ves de usar su propia copia entonces no está haciendo su propia computación por lo que no tiene propiedad sobre su computación, de modo que no tiene libertad aunque el software tenga la licencia que tenga.

El caso es distinto cuando estas tareas informáticas por naturaleza no han de ejecutarse en la propia computadora, por ejemplo no es necesario que tengas descargado todas las páginas de internet, o tener todos los programas del mundo corriendo sobre tu computadora para hacer al Internet funcional, no es necesario por la naturaleza de la actividad. La regla sería que si puedes hacer la tarea informática en tu propia computadora haz de hacerla en tu propia computadora. De otro modo, estarás entregando tu libertad en las manos de otro. Por ejemplo, usar el navegador para hacer tareas de edición de imágenes, usar el navegador para ejecutar cualquier programa o tarea que podrías tu mismo es la manera más tonta de hacer tu informática, es literalmente perder la libertad de tener el control sobre tu vida informática.

noblob
Desconectado
Joined: 02/08/2018

Tienes razón ISF, no lo leí entero, disculpa, es larguillo pero ahora lo pondré a leer por espeak, lo prometo, pero con esto dos ultimos parraos creo que sé que quieres decir...

Quiero hacerlo en lenguajes web, pero siempre podría con un shellscript de instalación y proporcionar copia de un navegador libre (con sus fuentes) y compatible con webgl de manerea que una vez instalado al clicar el lanzador se ejecutara mi http://localhost/index.html en el navegador elegido, soy virgen en el mundo 3d, pero estoy muy motivado...

Para el php, si me satisface primero mi obra de lado cliente, haria algo parcido adaptandonos a las dependencias (servidor web con php en este caso).

noblob
Desconectado
Joined: 02/08/2018

https://www.gnu.org/philosophy/who-does-that-server-really-serve.es.html
Buen articulo, estoy muy de acuerdo con lo que dice...

Si en el primer lanzamiento (1 jugador y solo javascript cliente) entrego en el archivo comprimido, un navegador libre con sus fuentes y el shell script de instalación/adaptación, todo corre en la computadora del usuario y puede acceder a todas sus fuentes, con lo cual la etica que propone el atriculo del que me has pasado su enlace se cumple. ¿verdad?

Y en el segundo potencial lanzamiento de la version multijugador, debería hacer lo mismo pero habría que suministrar dos versiones, la cliente y la servidor para que amiguetes puedan jugar en lan o por internet (ya que serían amiguetes, no creo poner mas de 4 jugadores) habría esa comfianza hacia el ordenador del amigo que se pusiera el servidor, entonces tampoco rompo la esencia de lo que se habla en el articulo ¿no crees @ISF?
Edito: Solo haría falta la version servidor los clients entrarían a la ip o dominio que les pasara el que instalo la version servidor...

iShareFreedom
Desconectado
Joined: 12/20/2021

Cualquiera que quiera jugar tu juego y lo haga mediante tu servidor en línea, estará ejecutando un programa privativo sin importar qué licencia le hayas puesto o cómo hayas distribuido el programa y su respectivo código fuente.

Por lo que debes asegurarte que el programa pueda ejecutarse de manera local y que no sea necesario conectarse a tu servidor para jugar al juego, de esa manera los usuarios que tienen su código fuente y puedan jugarlo de manera local tendrán libertad.

avrtm
Desconectado
Joined: 11/22/2019

Si todo el código del juego lo publica con licencia libre, entonces seguirá siendo libre por mucho que permita jugar a la gente online desde un servidor.

noblob
Desconectado
Joined: 02/08/2018

https://www.gnu.org/philosophy/who-does-that-server-really-serve.es.html
disculpa avrtm, todo viene de "ser vicio sustituto de software", este es el enlace que me paso ISF en el foro general de software libre en ingles, leelo, comparto su opinion. Puedes usar espeak, es largo.

noblob
Desconectado
Joined: 02/08/2018

Pueden ser servidores windows para entendernos, y no sabemos realmente que hacen. Por seguridad, por libertad, y coherencía ética. Avrtm

avrtm
Desconectado
Joined: 11/22/2019

Bueno, pero estás diciendo que el juego lo vas a hacer tú. Yo presupongo que tienes buenas intenciones.

noblob
Desconectado
Joined: 02/08/2018

las mias si, ya te digo, pero si lo pongo en un hosting que ejecuta javascript privativo, algunos ponen hasta publicidad si son gratis, tus jugadores/usuarios pueden ejecutar basura

avrtm
Desconectado
Joined: 11/22/2019

Bueno, pero eso no tiene que ver con el juego en sí, ni le convierte en software privativo.

noblob
Desconectado
Joined: 02/08/2018

Mi codigo no, pero si no abro el puerto 80 de mi router i reenvio a ip de mi servidor propio libre, o es un hosting de confianza, pagando o no, pueden hacer añadiduras de javascript, con lo cual mis usuarios pierden posiblemente seguridad, libertad, etc.

noblob
Desconectado
Joined: 02/08/2018

En realidad mi router es privativo, como muchos de internet por donde passan los paquetes http o https, o sea que el juego ha de ser en una red local o localhost, juego online malware.

noblob
Desconectado
Joined: 02/08/2018

ser libre no es facil veo...

noblob
Desconectado
Joined: 02/08/2018

Disculpar tanto mensaje seguido, pero https en teoria se negocia un cifrado punto a punto, o sea que http no es valido y https, depende de la tecnologia que tengan los routers intermedios puestos imagino.

Jaefra
Desconectado
Joined: 06/08/2021

lo importante es el software que uses en tu computadora o computadoras,
el router del ISP no es tu compu

iShareFreedom
Desconectado
Joined: 12/20/2021

El hardware no puede ser libre ni tampoco privativo, de hecho de acuerdo al concepto de software libre cuando hablamos de firmware nos estamos refiriendo exclusivamente al software y nunca al hardware, puesto que firmware es software.

Jaefra
Desconectado
Joined: 06/08/2021

noblob writes:

> En realidad mi router es privativo, como muchos de internet por donde
> passan los paquetes http o https, o sea que el juego ha de ser en una
> red local o localhost, juego online malware.

en ese caso conectarte a esta lista de correo / foro de trisquel tambien
seria usar malware y obviamente no es asi.

usar servidores no es nada malo, casi toda nuestra informatica libre
utiliza sistemas cliente-servidor

noblob
Desconectado
Joined: 02/08/2018

https://trisquel.info/en/forum/hacer-juego-web-libre-con-canvas-en-contexto-webgl-no-2d-reescribo-hilo-en-castellano-que-me-e#comment-169855

Los routers ejecutan software (libre? cuesta de encontrar routers libres de fibra creo yo (routers ethernet si son mas faciles de liberar), pero para la fibra, primero que hay distintos tipos de fibras (parte ont del router de compañia), necesitas un codigo que esta en el router que te suninistro tu compañia para reemplazar este router no libre, y estas ISP se niegan a dartelo, aun que algunas versiones antiguas de routers fibra, puedes obtener este codigo conectadote por telnet y volcando toda la ram del router a un archivo txt (puedes usar pendrive con samba en los routeres fibra normalmente), evidentemente es largo el txt, pero se encuentra el codigo deseado filtrando con un editor de textos libre los 10-14 digitos, no recuerdo bien, que forman el codigo que nos interesa, para poder usar otro router de fibra compatible con la parte ont de el router de fibra de tu compañia, evidentemente has de escalar hasta root para bolcar la ram a txt, y para ello has de usar un bug del propio router de compañia, has de ejecutar un binario tipo el comando "su" de unix que alguien ha compilado para ese firmware original de router de compañia y processador del router tambien, lo cual no es bonito.

Jaefra
Desconectado
Joined: 06/08/2021

el router no es la computadora en la que yo hago mi informatica, solo
lleva mensajes mios a otras computadoras, eso no me priva de ninguna
libertad.

Si acaso podrian invadir mi privacidad leyendo mis mensajes, pero puedo
cifrar los mensajes para que nadie los lea

en un remotamente supuesto caso de que rompieran el cifrado, seguirian
sin privarme de libertades

y si quiero suponer esto y asegurarme de usar router con software libre

toda una gama de routers de movistar en españa usan software libre de
fabrica

si todo lo anterior no es suficiente para encontrarme agusto, un router
libre cuesta entre 50€ y 100€
un precio muuy asequible para asegurarte de que nadie rompe tu cifrado

pagina para encontrar hardware compatible con trisquel y distros
totalmente libres:

https://www.thinkpenguin.com/

noblob
Desconectado
Joined: 02/08/2018

Jaefra: el router no es la computadora en la que yo hago mi informatica, solo
lleva mensajes mios a otras computadoras, eso no me priva de ninguna
libertad.

El router está en tu casa y es un dispositvo mas de tu lan (computador mas de tu red, con software privativo sino cambias nada), imagino que entrás por http://[IP-GATEWAY] a arreglar algunas cosillas seteadas por defecto y sino entras peor para ti, conservas puertas traseras de accesso de tu conpañia que en pro de la seguridad (o para que los accionistas de esta compañia augmenten sus beneficios) pueden realizar cambios, a parte, si usas wifi tendras una clave wpa (la version que sea) y mediante los nombres de punto de acceso a veces se podía encontrar esa clave por defecto. Si esta en tu casa es tu maquina, y si ejecuta privativo, desconoces sus actividades reales.

----

Jaefra: Si acaso podrian invadir mi privacidad leyendo mis mensajes, pero puedo
cifrar los mensajes para que nadie los lea. en un remotamente supuesto caso de que rompieran el cifrado, seguirian, sin privarme de libertades

Como he dicho los cifrados tiene bugs, no son infalibles, y sin privacidad no hay libertad ni seguridad.

----

Jaefra: y si quiero suponer esto y asegurarme de usar router con software libre, toda una gama de routers de movistar en españa usan software libre de fabrica

Lo pongo en duda por ahora, però ya mirare...

----

Jaefra: si todo lo anterior no es suficiente para encontrarme agusto, un router
libre cuesta entre 50€ y 100€ un precio muuy asequible para asegurarte de que nadie rompe tu cifrado.

Routers ethernet/wifi con su wan y su lan, però dudo que tengan interfaz de fibra optica (ont) como wan.

----

Jaefra: pagina para encontrar hardware compatible con trisquel y distros
totalmente libres: https://www.thinkpenguin.com/

https://www.thinkpenguin.com/catalog/networking-gear-gnu-linux:
No veo ningun router de fibra...
USB 4G LTE-Advanced Modem for GNU/Linux (TPE-USB4GLTE), esto estaría bien pero los chips de comunicaciones 4gLTE...
A ver que @iShareFreedom.

iShareFreedom
Desconectado
Joined: 12/20/2021

Te recomiendo crear un nuevo hilo, para que dejes de cambiar los temas dentro de un mismo hilo, porque genera desorden y va en contra del formato foro.

noblob
Desconectado
Joined: 02/08/2018

vale, si, sera mas eficaz, es lo que tienen las comversaciones, se ramifican...
Hoy no tengo mucho tiempo, pero agradezco tu sugerencia ISF...

Jaefra
Desconectado
Joined: 06/08/2021

noblob writes:

> Como he dicho los cifrados tiene bugs, no son infalibles, y sin
> privacidad no hay libertad ni seguridad.

Pero que bugs tienen los cifrados?
Yo no se que bugs ni como romper un cifrado, me gustaria aprenderlo

> Lo pongo en duda por ahora, però ya mirare...

los routers de fibra huawei tienen software con GPLv3

Parodper
Desconectado
Joined: 05/01/2020

O 20/12/22 ás 07:06, GH escribiu:
> noblob writes:
>
>> Como he dicho los cifrados tiene bugs, no son infalibles, y sin
>> privacidad no hay libertad ni seguridad.
>
> Pero que bugs tienen los cifrados?

Pues como cualquier otro algoritmo. Y no solo el algoritmo: cualquier
implementación específica es susceptible de contener algún fallo. De ahí
que una de las máximas de la programación sea: nunca implementes tus
propios algoritmos de cifrado, siempre usa una implementación conocida y
probada.

Con el paso del tiempo, y con el aumento de la potencia computacional,
suelen irse rompiendo los algoritmos más antiguos. Por ejemplo, MD5 y
SHA1, ampliamente usados, se consideran demasiado débiles para su uso en
sistemas críticos.

Aunque no todas las debilidades son accidentales. La NSA es notoria por
intentar introducir algoritmos con puertas traseras que solo ellos
conocen, por ejemplo con Dual_EC_DRBG[1], o como cuando intentaron
debilitar el algoritmo DES.

> Yo no se que bugs ni como romper un cifrado, me gustaria aprenderlo

Los algoritmos de cifrado son construcciones matemáticas bastante
complejas. Se necesita una buena base de matemáticas y álgebra, y las
vulnerabilidades suelen residir en detalles nimios.

[1] Encontré este artículo que creo que puede venir al tema:
https://blog.cloudflare.com/how-the-nsa-may-have-put-a-backdoor-in-rsas-cryptography-a-technical-primer/

iShareFreedom
Desconectado
Joined: 12/20/2021

Creo que ambos están ignorando el artículo y por lo tanto creando un nuevo concepto de software libre, contrario al del Movimiento del Software Libre enseñado por décadas por Richard Stallman, el líder del Movimiento.

noblob
Desconectado
Joined: 02/08/2018

Si un router de tu ISP pogamos el primer cg-nat, o el de tu casa con fibra, adsl, 4g, 5g, o un router mas intermedio o externo de la compañía, trae software no libre. ¿tu internet puede no ser libre?

iShareFreedom
Desconectado
Joined: 12/20/2021

bueno, referente a esto es muy sencillo. La informática que haces con software libre es la única que es tuya, si la informática la hace un sistema privativo significa que esa informática no te pertenece. Tener un router con software libre es posible y esto puedes hacerlo, pero esto no impedirá que el ISP ejecute sistemas con Windows. Este asunto no tiene relación con tu informática, sino con la informática de ellos que no es tu asunto.

noblob
Desconectado
Joined: 02/08/2018

Tendría relación por ejemplo si modificaran este mensaje, por poner un ejemplo, si tu ordenador es libre y el servidor tambiem, pero el nexo es internet, por encriptacion que haya, alguien de compañia, gobierno, hombre poderoso si logran romper el cifrado acceden a todo y pueden modificar cabeceras de paquetes tcp-ip, cuerpos, etcetera.

noblob
Desconectado
Joined: 02/08/2018

Me refiero a que con tecnologia no libre, o libre y no muy extendida, en un encaminador de internet se puede engañar al cliente o al servidor haciendo creer que la encriptacion es cifrada punto a punto pero las encriptaciones se van logrando romper, o sea que internet no creo que se pueda usar con libertad.

Jaefra
Desconectado
Joined: 06/08/2021

el internet es la comunicacion entre dos computadoras, no es software,
asi que no puede ser libre o no libre creo

noblob
Desconectado
Joined: 02/08/2018

Internet son routers interconectados con su software, si hay un software que permite romper https, que no lo se, pero no me extrañaría, este software puede hacer ataque man-in-the-middle.

iShareFreedom
Desconectado
Joined: 12/20/2021

no tiene ninguna relación más que la conexión entre uno o más computadoras el Internet y tu informática. No tiene relación alguna con tu libertad que estés o no conectado con otras computadoras, no te confundas. La libertad del software es una libertad que solo afecta a tu propiedad, no a la propiedad de los demás, si los demás no son libres no significa que tu por comunicarte con ellos tampoco tengas libertad, sólo mira la cantidad extensa de usuarios que utilizan clientes de XMPP para comunicarse con gente del mundo libre, los usuarios del mundo libre tienen libertad, ellos no son perseguidos como un usuario de teléfono. Ambos están conectados mediante Internet, pero no hace vulnerable a ninguno de los dos usuarios, lo que los haría vulnerables es que cada uno de manera individual ejecutaran programas privativos, pero esto no tiene nada que ver con estar o no conectado con otros.

noblob
Desconectado
Joined: 02/08/2018

Vale no son mis maquinas, pero el uso de la interconexion de internet, con muchos saltos de router a router que con el software crackeador de difrados de paquetes de red, pueden interferir o manipular nuestras comunicaciones.

iShareFreedom
Desconectado
Joined: 12/20/2021

Pueden interferir, por supuesto y pasa siempre, cada vez que cargas una página web estas interfiriendo dentro de un servidor. Y es cierto que puede haber alguien en medio intentando descifrar la comunicación y por la naturaleza de la actividad es lo más normal. De hecho, por eso se usa tanto cifrado y cifrado fuerte en las comunicaciones, por eso usamos a diario el GnuPG, porque la naturaleza de internet es solo el de comunicar computadoras, por defecto no busca la seguridad, eso nos concierne a nosotros los usuarios en usar software capaz de cifrar unas actividades informáticas y esto solo es posible utilizando software libre (el tener seguridad). Un saludo

noblob
Desconectado
Joined: 02/08/2018

si, cuando mas cifrado mejor, pero cuando hagan una buena maquina cuantica cooperando con un enrutador que ejerza de man-in-the-middle...

iShareFreedom
Desconectado
Joined: 12/20/2021

La especulación no creo que nos lleve a nada muy útil, creo que lo que hay que hacer es incentivar el uso de GnuPG en email y XMPP en mensajería instantánea con GnuPG o OMEMO e IRC con GnuTLS, etc.

noblob
Desconectado
Joined: 02/08/2018

Yo creo que los cifrados con el tiempo se vuelven rompibles, puede que no sea conocidos por muchos estos bugs, para mantener estos cifrados en marcha por los usuarios y que no saquen versiones que arreglen el fallo de los cifrados. Llamalo especular si quieres.

noblob
Desconectado
Joined: 02/08/2018

Nuestras isos de trisquel, paquetes deb en un upgrade, etc, pasan por internet (ser vicio), posibles modificadores de cabezeras y cuerpos de los paquetes protocolo tcp/ip, hay contramedidas si md5sum, sha256sum, pero quien o el software que puede alterar cabeceras y cuerpos tcp/ip puede engañarnos modificando esas sumas de verificación el la web que vemos y donde clicamos para la descarga la iso, etc, con lo qual podriamos perder la libertad de los sistemas o programas libres.

Una vez jugué con un mobil antiguo, cree paraguas wifi y les pedia a mis amigos que se conectaran con su mobil a esa red wifi, era un antiguo android rooteado, con un servidor dns y un servidor web que contenía un html con el texto: "tonto quien lo lea" el mobil no tenía puesta la sim, con lo cual solo tenia la conexion del paraguas wifi en modo master que el mismo generava. Logicamente gran parte de la "magia" de este experimento se lo llevaba el servidor dns, en el cual havia configurado la associacion entre la IP mi mobil antiguo rooteado del paraguas wifi, creo que era 192.168.43.1, con el dominio de los principles buscadores. I nos hechavamos unas risas cuando mis amigos una vez conectados sus mobiles a mi AP (el del mobil rooteado), abrian su nvegador y sin poner nada les salia: "tonto quien lo lea". Con lo cual quiero decir que las compañias telefonicas o de dns lo tienen muy bien para derte gato por liebre.

Jaefra
Desconectado
Joined: 06/08/2021

pero para eso estan las firmas digitales GNUPG que acompañan a las ISOS

yo siempre descargo la firma y verifico si alguien ha modificado el
archivo ISO

si se hubiera modificado al verificar la firma me daria un error fatal

iShareFreedom
Desconectado
Joined: 12/20/2021

olviden este comentario parcialmente

Jaefra
Desconectado
Joined: 06/08/2021

tampoco creo que fuera necesario distribuir el navegador entero con su
codigo fuente dentro del paquete del juego, cuando usamos programas
libres, estos no vienen con todas sus dependencias empaquetadas dentro.

Al descargar emacs, no viene con libgnutls ni zlib ni libimagemagick, etc.

noblob
Desconectado
Joined: 02/08/2018

si, pero en fiesta de amiguetes igual, se te cuela alguien con un windows, incapaz de usar apt-get, asi por las buenas digo.

noblob
Desconectado
Joined: 02/08/2018

pero windows podrà correr webgl, en algun navegador seguramente creo, el servidor de los amiguetes con trisquel y alguna maquina infiltrada de ms.

Jaefra
Desconectado
Joined: 06/08/2021

no es necesaria la fiesta de amiguetes, puedes hacer el juego para
grandes comunidades siendo software libre el lado del cliente y del
serividor y sin que sea software como servicio como he explicado en el
correo de antes.

y aunque un usuario jugara en windows y google chrome el juego seguiria
siendo libre.

noblob
Desconectado
Joined: 02/08/2018

mi juego si, por eso el proyecto sigue para delante. lo voy a dejar un ratillo muchachos/muchachas, gracias por la conversación.

iShareFreedom
Desconectado
Joined: 12/20/2021

yo soy hombre

Jaefra
Desconectado
Joined: 06/08/2021

otra opinion mia es que los navegadores son interpretes de HTML
diseñados para leer hipertexto usando el protocolo http, por eso opino
que los juegos corriendo dentro de navegadores son tecnicamente
ineficientes creo.

Un juego quizas tenga mas sentido como un programa ejecutable
independiente del navegador. Pero la verdad que si esta escrito en JS,
pues no tiene nada de malo que se ejecute dentro del navegador dado que
tambien es un interprete de JS ¿no?
No se, ya es cuestion de gustos, a mi lo que me importa es que sea
software libre.