Gå til innhold

ProgrammeringsBaren! Småprat, om det du elsker!


Anbefalte innlegg

Videoannonse
Annonse

Hehe joa, det har jeg hørt om.

Programmering av roboter er en ting, jeg vil at vi tar for oss et "vanlig" spill.

BF2, BF2142, Bioshock, HL2, CS 1.6, CS:S.. osv.

Et vanlig spill, hvor programmerere bruker sine kunnskaper for å vinne.

Altså, cheating, bare alle cheater like mye :wee:

Lenke til kommentar

Hehe, det er sant.

Men det er snakk om å få hovedstrømmen av mennesker som jobber med programmering og har gjort det i 20 år til å endre arbeidsmetode.

OOP og funksjonsbasert programmering er noe som fungerer, og da vil jeg spekulere i at mange vil motsette seg en så fundamental endring som strengt tatt ikke er nødvendig.

Det er dyrt nok å utvikle programvare idag, så det vil nok ta lang tid før dette skal bli standard praksis hvis overgangen ikke skal koste shorten.

Lenke til kommentar

Nå som Bioshock kommer, har tankene mine startet å surre rundt en multiplayer-mod til dette spillet hvis da dette ikke blir aktuelt fra produsenten ved et senere tidspunkt.

Mulig en Co-OP versjon, får se.

 

Da lurer jeg bare litt på hva som er vanlig med mods?

Jeg har altfor lite kunnskaper om dette, gir spillene noen API ferdige til dette?

Eller må alt "lages" via fundering og reversing?

F.eks, når man sier scriptspråket til bf2 er python? Hva vil det si?

Jepp, ingen peiling. :blush:

Lenke til kommentar

Ofte kan spill scriptes:

Unreal har Unreal Script(Java lignende), pluss at man kan skrive moduler i C++

Wow bruker Lua

ID sine engines bruker C/C++ og Quake C (tror det var det det het)

Battlefield 2 bruker Python (alle filer som heter .py er python scripts)

Source aner jeg ikke, men de har etterlignet Quake motoren på noen ting, så kanskje det er samme fremgangsmåte der.

 

Det vanlig å ha et scriptspråk, fordi det er lettere å debugge, og gir litt mer fleksibilitet.

Lenke til kommentar

hvis det er scriptet trenger du ingenting annet en notepad, og dokumentasjon.

 

For Unreal engine må du da ha en gyldig lisens (ca. 2 000 000,-) for å få bibliotekene man trenger.

Men man jobber som regel mot dll-er, men det er ikke en selvfølge.

 

Ofte skriver man en "export" klasse/interface i en C++ dll, og en C funksjon som gir tilbake pekeren til export klassen.

Export klassen blir brukt av programmet for å se hva dll-funksjonen er i stand til.

Lenke til kommentar
Holder på å lese denne boken å jeg må si jeg har aldri lært mer for hver side jeg leser.

9183569[/snapback]

Veldig herlig bok. Har den rett ved siden av meg nå. Den har støvet litt ned, men den er meget nyttig.

 

 

Når det kommer til cheating så kom jeg på en liten idé.

Tenk å ha en server, hvor alle spillerne er programmerere som alle bruker sin egen cheat. Det hadde vært genialt, de som har mest programming skills vinner.

(Finnes det så bare.. Grr)

9303787[/snapback]

Det finnes for blandt annet Battlefield-spillene, så vidt jeg vet.

 

 

 

Kjapt spørsmål; når man skal finne dybden til en viss node fra en tre-struktur man leser inn, kjappest mulig. How? Jeg skal kode dette i Python. Denne noden har like stor sannsynlighet for å befinne seg på alle nivåer, så dersom man skulle ha søkt etter den ville bredde-først-søk vært mest hensiktsmessig. Jeg innbiller meg dog at å trace seg oppover i treet vil gå kjappere. Jeg har prøvd et par implementasjoner som ikke er så aller værst raske, men jeg har sett at noen har en implementasjon som går dobbelt så fort.

Input kommer med flere linjer nedover på formatet "foreldre barn barn ... barn"

Hva jeg er mest fornøyd med så langt;

 

#1. Knytte alle barn opp mot foreldrene i en dictionary (som en hashmap, hvis dere ikke kjenner dictionaries). Da kan man gjøre en liten, kjapp rekke oppslag etter at man har lest inn alle dataene, og telle antall oppslag.

 

#2. Dersom man støter på den aktuelle noden mens man leser inn data (man vet hva noden heter hele tiden), så inkrementerer man høyden med 1, og flytter søket opp til foreldrenoden. Dette kan skje kun 1 gang, eller det kan løse problemet ved at det skjer x antall ganger, alt avhengig av input. Dataene lagres i en liste (et array), hvor man har nye lister med barnene til node n på plass n i lista. Deretter kjører man bredde-først-søk nedover fra rota.

 

Disse to implementasjonene har jeg ikke fått til å gå like fort som jeg ser at det er mulig at det kan gå. Da spør jeg dere kloke hoder; har dere noen idéer til raskere algoritmer?

Lenke til kommentar
  • 2 uker senere...

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å
×
×
  • Opprett ny...