QNA > C > Come Costruire Un Sito Web Gioco In Python

Come costruire un sito web gioco in python

Ci sono tre modi:

  1. Compilare in javascript. Vedi pyjs per esempio. Ce ne sono probabilmente altri.
  2. Scrivere un plugin python per netscape e activex (è così che funziona flash) poi usarlo.
  3. Utilizzare webassembly.

Il numero 2 non è probabilmente una buona idea. Il web in generale sta cercando di allontanarsi dagli standard concorrenti dei plugin netscape e activex. Ma ha funzionato per flash per molto tempo, quindi lo darei tecnicamente fattibile. E se non vi interessa IE, potreste semplicemente saltare del tutto l'activex, dato che tutti gli altri usano netscape.

Il numero 1 è probabilmente il più immediatamente fattibile. Transpile to js ha notevolmente mitigato lo schifo generale di js. Ma se c'è un bug nel transpiler, il debugging sarà effettivamente impossibile, a meno che tu non sia uno sviluppatore di pyjs. Quindi, se qualcosa va storto, si è praticamente bloccati con un rapporto di bug con pyjs e poi si aspetta, possibilmente indefinitamente, chi lo mantiene.

Il numero 3 è un po' più ambizioso del numero 1, perché è ancora un po' sperimentale, anche se la copertura webassembly è ora incredibilmente alta. Praticamente tutti i principali browser, eccetto qualche riprovevole cruft di Apple, ora lo supportano. Quello che dovresti fare è compilare un interprete python per webassembly, quindi usare quell'interprete per interpretare i file .py. Esiste lo stesso problema del numero 1, poiché se c'è un problema con quel compilatore, o sei affondato o sei uno sviluppatore per quel compilatore. Ma js non è più coinvolto, e webassembly è stato progettato specificamente per questo scopo, quindi tali problemi sono probabilmente meno probabili. Webassembly è nuovo e giovane, e fatto per fare cose come questa, quindi quest'ultima soluzione è di gran lunga la più a prova di futuro.

Se fossi io, tenterei prima il numero 3, poi tornerei al numero 1. Prenderei in considerazione il numero 2 solo per "divertimento".

Un'ultima cosa: so che hai chiesto di python, ma dovresti considerare la compilazione di rust in webassembly. Rust è più lavoro di python in circostanze più convenzionali, ma per un obiettivo webassembly, potrebbe effettivamente essere più facile, e sarà sicuramente più efficiente, sulle risorse locali e sulla larghezza di banda. Invece di compilare un intero interprete python in webassembly, e poi usarlo per un programma python, potreste semplicemente compilare il vostro programma rust. Solo le funzionalità che effettivamente usate sarebbero incluse nel binario risultante.

Di Susette

Come creare un gioco di corazzata in Python :: How do we create graphics in Python?
Link utili