QNA > Q > Quanto Bene Devo Conoscere C# Per Sviluppare Giochi Android E Ios In Unity?

Quanto bene devo conoscere C# per sviluppare giochi Android e iOS in Unity?

Con una conoscenza di base di python, sarà meglio fare giochi per piattaforme desktop. Cioè per PC.

Questo perché per lo sviluppo di Android hai VERAMENTE bisogno di tenere sotto controllo l'uso delle risorse, minimizzare la generazione di spazzatura, ecc, e questo richiede più sforzo che programmare per PC desktop. Fondamentalmente, la piattaforma Android è meno indulgente.

Per esempio, il primo programma che ho cercato di portare su Android (stavo aiutando qualcuno) non è nemmeno partito, perché qualcuno ha avuto la brillante idea di contrassegnare tutte le texture come bisognose di formato ARGB32 non compresso, ed erano tutte 2k o 4k, anche per le cose più piccole. Il che significa che l'applicazione ha esaurito la memoria e si è bloccata all'avvio. Questo perché UNA texture 2048x2048 in formato ARGB32 richiede 16 megabyte di memoria.

Per esempio, c'è questa interessante guida per l'ottimizzazione mobile:

Optimizing unity games (Google IO 2014)

Quando si lavora su piattaforma PC, di solito non è necessario fare nulla del genere.

L'altro problema è la garbage generation, e C# non ha molti meccanismi per farvi fronte. Per esempio, vedi questo articolo:
C# Memory Management for Unity Developers (part 1 of 3)

C# memory and performance tips for Unity

Quindi, fondamentalmente, ci vorrà più di una "piccola conoscenza di python". Come minimo dovreste essere in grado di scavare tra pile di informazioni che spiegano questo o quel comportamento di C# quando si tratta di prestazioni.

In generale, raccomanderei di attenersi alla programmazione per piattaforme desktop, almeno all'inizio.

Di Revkah

Perché ci sono così pochi giochi open-source? :: Qual è il modo migliore per imparare a sviluppare un gioco casual per Android?
Link utili