Gå til innhold

Utvikling av en virtuell verden del II


Anbefalte innlegg

Del 1 har blitt diskutert her:

 

http://forum.hardware.no/viewtopic.php?t=1...r=asc&start=100

 

Denne gangen er det på tide å spør om litt andre spørsmål ;)

Info

Vi jobber med å utvikle et slik system som skal kunne brukes til å kjøre en "mini-matrix" i når/hvis vi kommer så langt. Målet er at dette skal kunne kjøre på en dedikert server, og at informasjon fra serveren blir parset i et eget loggspråk som vi utvikler. For at vi skal kunne overvåke dette her enkelt uten at det skal påvirke load for mye tenker vi å ha en egen klient til dette, slik at vi kan koble oss opp mot serveren for så at klienten parser loggkoden over til et "normalt" språk igjen.

 

1) Språk

Hvilket språk er det best å programmere systemet i, er det evnt best å bruke et eget språk i "kjernen" av systemet og et eget for klientleseren?

 

2) OS

Hvilket os blir best å kjøre for Server edt? Rekner med at en klient versjon blir Windows ;)

 

3) Oppbygning

Hva bør det tenkes spessielt på? Med tanke på at et slik system vil ta en evighet å utvikle ønsker vi kun å starte med selve motoren nå, slik at vi kan bygge ut moduler og legge inn "liv" og verdner etterpå.

 

4) Lenker

Har dere lenker til noen andre sider som har informasjon rundt dette emnet? Andre tanker rundt dette?

 

Istedenfor å starte å klage så bør dere tenke over at dette er noe som vil ta tid og det eneste man kan jgøre er å starte et sted. Og hvis vi er heldige så klarer vi å utvikle det slik at programvaren klarer å holde tritt med maskinvaren. :-)

Lenke til kommentar
Videoannonse
Annonse

Det blir et enormt prosjekt, og kommer til å sette store krav til koordinasjon såvel som tekniske evner. Mine personlige anbefalinger (åpne for diskusjon)

 

Språk: c++

 

OS: hipp som happ, jeg ville valgt linux, da dette må bli et open source-prosjekt, og de fleste open source-folk er mer positivt instilt til linux, og har mer erfaring med dette OSet.

 

Tenkes spesielt på: Prosjektstyring, fysikk og ai

 

Lenker: Har dårlig tid nå, skal se hva jeg finner senere.

Lenke til kommentar

Takker for tilbakemelding ;)

 

Vi er nå 2 stk som leker oss med det, og vi har en dedikert server som dette kjører på allerede, og jeg rekner med at vi får opp en webside der så fort linjen vår funker :-)

 

Det med at alle skal ha skrivetilgang blir værre, blir nok enklere at vi setter opp et system slik at vi vet hvem som gjør hva etc ;) Først skal vi nå få opp "core" systemet , client leseren samt admin programmet før vi starter med implementerer moduler i coren.

 

Vi starter kun med en server (evnt 3 hvis det trengst) til core for nå og samlet alt et sted. Trengst det mer ordner vi med det ;)

 

core:

kjører "matrixen" enten på et OS eller stand-alone, ingen resultater blir vist der.

 

client:

Leser info fra Core og parser infoen over til et "skikkelig" språk

clientprogrammet kan ikke gjøre noenting mot server utenom å lese

 

admin:

Styrer core gjennom et tekst basert system

Lenke til kommentar
  • 2 uker senere...

Har dere sett Unreal Engine, så har dere vel lagt merke til at de har gjort noe utrolig smart der, de har et fil system kalt .u som er moduler som inneholder maskin kode(de kaller det script, men det er ikke det) og et klasse hierarki, dette ville vært svært gunstig, siden serveren da kan oppgraderes uten at klientene trenger det.

 

Her er sånn jeg ville gjort det:

Ha to server maskiner med 1000Mb tilkobling, den ene er dedikert til å rendre verdenen, og den andre sender deler av verdenen til brukerne, ettersom hvor brukerne befinner seg.

 

hovedmaskinen(e)(Matrix) har alle modulene(nevnt tidligere) og rendrer en verden utifra dem, modulene burde kunne endres uten å måtte restarte systemet. Bruker du DLL bruker dere LoadLibrary og UnloadLibrary (eller var det UnloadModule?)

Og vips! et veldig fleksibelt system.

 

Serveren må også sende meldinger om at spesielle filer må kopieres til klientene hvis det trengs(teksturer hovedsaklig, siden geometrien blir rendret på serveren)

 

^ Sånn jeg ville gjort det.

Lenke til kommentar

Det med DLL(SO), jeg tror ikke jeg forklarte det så bra;

Jeg tenkte det slik at dette er noe en utvikler på serveren, som ikke klientene har tilgang til.

At alle modulene(DLL/SO) bare er verktøy som serveren bruker for å lage verdenen og sende den til serveren.

så en har f.eks. et kode vindu i server applikasjonen hvor en skriver et program som blir brukt med verdenen med en gang en kompilerer det.

Det med ustabil kode ville blitt et problem, ihvertfall i Windows, men i Linux kan en vel lage et interrupt eller noe(eller går ikke det i XWindows?)

Det burde jo være mulig å lage en Error Handler selv, men jeg vet ikke hvordan en gjør det(hvis det går)

 

Men slik tenkte jeg at det skulle fungere:

class Object
 class Entity
   class Creature
     class Deamon
     class BaronOfHell
 class GeometricObject
   class Sphere
   class Torus
   class Terrain
 class Sound
o.s.v.

for da kan hver klasse være egne "programmer" og det ville vært nærmere en virtuell verden.

 

Fordelen ville vært at en ikke trengte å restarte serveren hver gang noe skulle forbedres eller legges til, bare laste dll/so på nytt,

I windows er det UnloadModule og LoadLibrary, i Linux har jeg ikke programmert mer enn "Hello World"

Ulempen er ustabil kode, at serveren må restartes allikevel. :gretten:

 

Det er absolutt et interessant prosjekt dere driver med!

Lenke til kommentar

Vi kan nok få et par bra tips herfra ja ;)

 

Rekner med at jeg får opp hjemmesiden for prosjektet så fort linjen vår er oppe å kjører, og evnt får klar Rc1 Alfa releaser av klientene slik at man kan koble seg opp mot mainframen vår.

 

Så starter den tunge jobben..

Lenke til kommentar
  • 2 uker senere...
  • 2 uker senere...
Gjest Slettet-66d37

trenger man i første omgang tenke på det virtuelle da? går det ikke ann bare å programmere en simulator, så kan man heller lese hva som skjer, lage en oversetter fra en kode til forståelig tekst til oss som ikke har så peil på programmering eller noe..nesten som i matrix når koden faller nedover.

I don`t know..bare noen forslag!

Lenke til kommentar
Gjest Slettet-66d37

hehe..har ikke så mye peiling på programmering! bare tenkte på å simulere det du sa, objekter,gravitasjon osv.

bare slang ut noen forslag!

mange bra navn der :)

Fått opp noe hjemmeside?

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...