Di quali conoscenze di base ho bisogno per creare app per giochi Android?
Se sei un programmatore di app per Android che sta pensando di entrare nello sviluppo di giochi, è probabile che tu stia pensando di scrivere codice in Java. Se sei un veterano dello sviluppo di giochi che sta pensando di portare giochi su Android, è probabile che tu preferisca fare tutto in C++.Il gioco d'azione a scorrimento laterale che ho scritto, Replica Island, è interamente Java. Usa Open GL ES 1.0 per disegnare ed è compatibile all'indietro con Android 1.5. Funziona ad un buon frame rate (vicino ai 60 fps sul G1) su quasi tutti i dispositivi Android. Infatti, molti dei giochi popolari su Android Market sono stati scritti in Java, quindi se siete il tipo di persona che trova la codifica in C++ come parlare in lingue, potete stare tranquilli sapendo che Java su Android è perfettamente praticabile per i giochi.
Detto questo, il codice nativo è la strada da percorrere se il vostro gioco deve essere eseguito il più velocemente possibile. Abbiamo appena rilasciato la quarta revisione del nostro Native Development Kit per Android, e include una serie di miglioramenti che sono particolarmente utili agli sviluppatori di giochi. Utilizzando l'NDK, è possibile compilare il codice in una libreria condivisa, avvolgerlo in una sottile shell Java per gestire gli eventi di input e del ciclo di vita, e fare tutto il lavoro pesante in C++ con le normali API Open GL ES. A partire dalla revisione 4, è anche possibile disegnare direttamente nei buffer di pixel Bitmap Java dal codice nativo, che dovrebbe essere più veloce del caricamento di bitmap come texture GL ogni fotogramma per i giochi 2D che vogliono fare il proprio compositing della scena. La revisione 4 include anche (finalmente!) il supporto gdb per il debug del codice nativo sul dispositivo.
Si deve sapere che quando si usa l'NDK, non si ha accesso alle API del Framework Android. Non c'è modo, per esempio, di riprodurre audio da C++ (anche se abbiamo annunciato al Google I/O la nostra intenzione di supportare Open SL ES in futuro). Alcuni sviluppatori usano l'API AudioTrack per condividere un buffer diretto con il codice nativo che mixa e genera un flusso PCM al volo, e molti chiamano da C++ l'interfaccia Java SoundPool. Basta essere consapevoli che per questo tipo di lavoro, è richiesto un salto attraverso JNI (JAVA NETWORK INTERFACE) di nuovo nel codice Java.
Articoli simili
- Sarebbe meglio un Chromebook o un PC Windows per una persona anziana con conoscenze di base di internet?
- Qual è il modo migliore e più facile su PC per creare un gioco come Pokemon 2D o Undertale, senza avere conoscenze di codifica?
- Come sviluppare app iOS o Android senza codifica o avere zero conoscenze tecniche
- È possibile installare Android su un Blackberry, e se è possibile, che tipo di conoscenze dovrei avere per renderlo possibile?