Juego tipo F-Zero (modo 7 super nintendo) con pygame

3 replies [Last post]
noblob
Offline
Joined: 02/08/2018

andermetalsh dijo/dijiste:

Python3 y PyGame que compila a WASM.
https://piped.privacydev.net/watch?v=6PhDmpBcezQ
Curiosamente la demostración WASM hace uso del raycasting, técnica usada en el primer F-Zero o similar con el Modo 7.
https://github.com/pygame-web/pygbag
https://pygame-web.github.io/
Demo de Pychess en WASM:
https://pmp-p.github.io/pygame-pychess-wasm/index.html
Código fuente de cada juego:
https://github.com/pmp-p?tab=repositories&q=pygame-.-wasm&sort=name
La ventaja de Pygame contra WebGL y WASM es que puedes montar tanto un juego web como de escritorio perfectamente.
El que pueda, usará su versión WASM, y el que no, le puedes ofrecer el paquete entero con las dependencias para Python.

Levo varias madrugadas luchando con python, y creía necesario PyOpenGL ademas de pygame, mas que nada por que la nave para las pruebas la tengo en "obj/mtl", pero hoy he revisto el video que me pasaste y me di cuenta que igual no, también me encontre que en Trisquel 10 parece funcionar un modulo que modifique para que me cargara la nave, tras instalar OpenGL y otras dependencias desde apt, cambie a un portátil con trisquel 11 y por mi suerte daba error, intente instalar OpenGL y otras dependencias en el trisquel 11 del portátil y faltaban en su apt, como dije en el hilo anterior quiero proveer a los usuarios de todas las dependencias, con lo cual reví el video https://yewtu.be/watch?v=6PhDmpBcezQ y creo que no es necesario: PyOpenGL, ni OpenGL, ni mí modificación de objloader.py ¡O sea que mí proyecto parece que dará un buen giro!
@andermetalsh:
¿un "imagen_nave.png" estrosionada con pygame sería suficiente con la técnica raycasting?
Para entregar junto con los archivos de mí juego la dependencia de "pygame/", el directorio que sale de la extracción del zip oficial que descargamos, y creo que he encontrado la forma de cargarlo desde "main_game.py".
¿"pygame/" sería mi unica dependencia no mía a parte de python?

"game_folder"---->"main_game.py"
---->"pygame/"
---->"png/"
---->"ogg/"
---->"license.txt"
---->"developper_notes.txt"

¿Podrían quedar algo así los subdirectorios del juego?

andermetalsh
Offline
Joined: 01/04/2013

En Trisquel 11 tienes python3-pygame y python-pygame-doc como documentación.

Por cierto, Pypi2deb es un paquete de Trisquel donde convertir las fuentes desde PIP (y otras que tengan una similar estructura) a paquetes DEB. Se hace con py2dsp, que viene en dicho paquete.

Las últimas herramientas son útiles si quieres integrar tu juego en Trisquel.

noblob
Offline
Joined: 02/08/2018

Te agradezco tu aporte.
Se pude hacer en canvas 2d, javascript y trigonometría, descubrí a posteriormente (para 1 jugador):
https://github.com/MERTULAS/RayCastingEngineJS
El ejemplo es tipo doom/castleWolfenstein de los 90, estuve adaptándolo a tipo fzero, unos meses, pero lleva un par de semanas parada mi fork... aunque reenprendera. Estoy liado con otras cosas ahora...

noblob
Offline
Joined: 02/08/2018

https://github.com/MERTULAS/RayCastingEngineJS
No es mi base exacta, pero deve ser algo parecido.