Gå til innhold

C#: Om 20 år kan vi finne spill koda 100 % i C#?


Anbefalte innlegg

Videoannonse
Annonse

Vanskelig å si egentlig. Det spørs mye på hvilken retning de som utvikler biblioteker tar.

Mye av grunnen til å velge C++ i dag, er at de aller fleste biblioteker er tilgjengelig i C++ (OpenGL, DirectX, OpenAL, PhysX, +++)

 

Det er ingenting galt med å skrive et spill i 100% C# i dag, men støtte for mange biblioteker er forholdsvis begrenset i C#.

 

20 år er fryktelig lang tid, for 20 år siden ble mange spill skrevet i Assembly og C.

Endret av GeirGrusom
Lenke til kommentar

Du har jo mono da.

Dessuten er ikke porting under C++ alltid smertefritt heller.

 

Men du har helt rett, i mange tilfeller er ikke programmer som er skrevet i C# portabelt, spesielt dersom en bruker Platform Invoke (som for eksempel for High Resolution Timer som brukes mye i spill)

 

Men dette er kun snakk om utvikling. Dersom mono blir like bra som .NET, og biblioteker blir skrevet som er cross-platform. For eksempel kan et OpenGL bibliotek skrives slik at det er portabelt til både linux og Windows hvis en bare bytter ut OpenGL32.dll med libopengl.sh og bruker Glut for vindubehandling.

 

Men dette er det som er mulig nå, hva vil ha skjedd om 20 år? er C# engang å regne som moderne om 20 år?

Endret av GeirGrusom
Lenke til kommentar

Om 20 år vil valg av språk til spillprogramering være enda mindre viktig enn det er idag. Språkvalg som idag kan virke ulogiske kan om 20 år være fornuftige. Optimisering handler ikke bestandig bare om ren kraft, men også om språk som gjør det lett å kode effektivt.

 

Java er ikke så spesielt tregt lenger, fins jo allerede spill kodet i java med forholdsvis grei 3d-grafikk. Selv flash begynner å vise 3d-muskler.

Lenke til kommentar

Javisst, men det at java mangler strukturer gjør at en ikke kan enkelt implementere elementære ting som vertex buffer eller index buffer uten å skrive en wrapper for det i C++ først. I C# kan dette enkelt implementeres som en List<T> men Java vil da danne en rekke med objekter som ikke vil ligge lineært i minnet, som er et krav for vertex buffer og index buffer.

En kan skrive en wrapper i C++ (som er slik det gjøres i dag) men da forsvinner også litt av poenget med å velge Java, siden alt det tunge arbeidet vil bli tatt over av et mye tyngre språk som ikke er like flyttbart, og da vil en del av abstraksjonen forsvinne.

 

Jeg tror selv at Java er døende.

 

Men du har nok rett i at valg av språk blir mindre viktig, ettersom det vil bli viktigere å holde et høyere abstraksjonsnivå for å kunne lage et spill med høy kvalitet.

Lenke til kommentar
  • 2 måneder senere...

Finnes jo allrede spill som er 100% kodet i C#. XNA for eksempel, har også hørt at Microsoft Game Studios hovedsakelig bruker C#, men har ingen bekreftelser på at dette er sant.

 

Når det gjelder Java så er Java blitt raskt nok til spillprogrammering, men Sun Microsystems sier selv at språket ikke er beregnet for spill.

Lenke til kommentar

Jeg jobber med et spill i XNA akkurat nå faktisk.

Veldig enkelt og greit API, men med utrolig mange muligheter.

XNA er mest sannsynlig skrevet i C# for at de skal slippe å kompilere en versjon for xbox og en for windows, men det kan også hende det er skrevet i C++/CLI.

Hvem vet.

 

Du kan også bruke XNA 3.1 til å skrive spill for Zune, dog kun 2D grafikk, og XACT prosjekter kan ikke brukes.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...