Tölvumál


Tölvumál - 01.11.2005, Page 34

Tölvumál - 01.11.2005, Page 34
Tölvuleikir 34 Tölvumál Í EVE er áherslan á að teikna vel afmark- aða hluti mjög vel: geimskip, plánetur, stjörnuþokur o.s.frv. menn að góðum EVE spilurum er greind, útsjónarsemi og þekking á leikjaheimin- um. Ef mönnum tekst að auka eitthvað af þessu þrennu með því að nýta sér tölvu- tæknina, þá óskum við þeim bara til ham- ingju með það. Forskriftarmálið nefnt eftir Monty Python-grínhópnum Til gerðar EVE hefur CCP valið að nota forskriftarmál sem ber nafnið Python (nefnt eftir Monty Python-grínhópnum). Útgáfan af Python sem CCP notar er sér- stök útgáfa sem kallast Stackless Python. Það sem gerir þessa útgáfu frábrugðna hinni hefðbundnu Python-dreifingu, er að í Stackless notar Python-túlkurinn ekki C- hlaðann til þess að halda utan um köll á föll. Þessi eiginleiki Stackless Python hef- ur gert það kleift að útfæra svokallaðar framfaldanir (e. continuations). Þær hafa síðan verið notaðar til þess að útfærar ör- þræði á mjög ódýran hátt. Það að hafa valið Stackless Python hef- ur gert CCP kleift að útfæra EVE í meira hefðbundnum „Procedural Synchronous“- stíl, heldur en „Callback Driven Asynchronous“-stíl. EVE nýtir sér eiginleika Stackless Python og örþráða einkum til þess að halda utan um samskipti miðlaraforskrifta við biðlaraforskriftir og aðgang miðlara- forskrifta að gagnagrunni. Miðlarafor- skriftir sem þurfa að biðja um gögn úr gagnagrunni, geta gert það án þess að hafa áhyggjur af því að allt kerfið muni frjósa á meðan á fyrirspurn stendur. Á bak við tjöldin er örþráðurinn sem framkvæmdi spurninguna lagður á hilluna og honum svo haldið áfram eftir að gögnunum hefur verið safnað saman. Svipað má segja um netsamskipti þar sem forskriftirnar sem keyra á miðlaran- um þurfa ekki að hafa áhyggjur af því að trufla keyrslu annarra forskrifta, þegar senda þarf stórar uppfærslur á stöðu til biðlarans, eða biðlarinn er spurður um hvaða möguleiki hafi verið valinn. Miðl- araforskriftin sendir fyrirspurnina niður í netlagið. Netlagið stoppar örþráðinn sem spurði og setur hann svo aftur af stað eftir að biðlarinn hefur svarað til um hvað valið var. Með þessu er búið að færa flækjuna sem fylgir því að stýra samkeyrslu margra lítilla hluta niður á neðri lög, sem fyrir vikið verða flóknari. Þau eru yfirleitt skrifuð í C++ og með því að takast á við flækjurnar þar, geta þeir sem skrifa for- skriftirnar strokið sér frjálst um höfuð og einbeitt sér að því að útfæra skemmtilega leikjahegðun í stað þess að berjast við kerfið. Forskriftarmál CCP kaus að nota blöndu af forskriftar- máli og C++ í stað þess að nota t.d. Java. Þó svo að Python sé 10 sinnum hægara í keyrslu en C++ og örugglega nokkrum sinnum hægara en Java, er hægt að ná fram mjög góðri blöndu með því að skipta útfærslunni á milli C++ og Python. Miða þá við regluna að 20% af forritinu keyrir 80% af tímanum. Sem sagt skrifa; 20% í C++ og vanda sig við það. Skemmta sér svo við að útfæra 80% í Python, vitandi að búið er að leysa flest erfiðu undirliggjandi vandamálin í C++. Með því að nota forrit- unarmál sem er mitt á milli (e.g. Java) nær maður ekki þessari blöndu. Nema hugsan- lega að blanda saman C++ og Java eða Python og Java (Python útfært í Java nefn- ist Jython). Það er mun þyngra í vöfum og býður ekki upp á sama sveigjanleika. Þrívíddarvél CCP kaus að skrifa sína eigin þrívíddarvél í stað þess að kaupa þrívíddarvélapakka af öðrum. Þetta var einkum gert vegna þess að EVE er geimleikur og þar eru aðrar áherslur en í flestum þeim þrívíddarvélum sem til eru. Þær eru oft á tíðum hannaðar fyrir leiki sem að byggjast á að skríða um ganga í fyrstu persónu. Í EVE er áherslan á að teikna vel afmarkaða hluti mjög vel: geimskip, plánetur, stjörnuþokur o.s.frv. Einnig var það ákveðið að allir hlutir í EVE skyldu vera fastir (e. rigid). Það þýð- ir að lögun hlutanna breytist ekki þegar að þeir hreyfast. Þessu má líkja við muninn á armi á vélmenni og handlegg á manni. Þegar maður beygir höndina, hnyklast vöðvar undir húðinni sem breyta ásýnd handleggsins. Þetta gerist ekki þegar að armur á vélmenni er beygður, afstaða hlut- anna sem mynda arminn breytis einungis en form þeirra helst það sama. Það að setja sér þetta skilyrði gerir það

x

Tölvumál

Direct Links

If you want to link to this newspaper/magazine, please use these links:

Link to this newspaper/magazine: Tölvumál
https://timarit.is/publication/239

Link to this issue:

Link to this page:

Link to this article:

Please do not link directly to images or PDFs on Timarit.is as such URLs may change without warning. Please use the URLs provided above for linking to the website.