• Nie Znaleziono Wyników

Jedn¡znajwa»niejszy hde yzji,jak¡musimypodj¡¢,de yduj¡ sina napi-saniewªasnegosilnikagierwideo,jestwybórjzykaprogramowania.Wyboru tegopowinni±mydokona¢napodstawiekilkukryteriów,zktóry hprakty znie wszystkie mo»na zawrze¢w odpowiedzi na pytanie: Jakie ma by¢ przezna- zenietworzonegosilnika?.Grywideo powstaj¡natak odmienneplatformy iwtakwielute hnologia h,»enieistniejejedennajlepszy,uniwersalnyw ka»-dymprzypadkujzykprogramowania.

3.1.1 Rodzaje jzyków programowania

Kod programu komputerowegostanowizestawinstruk ji, które zostan¡ wy-konane pod zas jego uru hamiania. Jednak w zale»no± i od rodzaju jzyka wykonywanieinstruk ji mo»eby¢realizowanewró»nysposób.

Jzyki kompilowanedo kodu maszynowego (natywne)

Jzyknatywnyjesttojzyk,któregokod¹ródªowyjestkonwertowanydo ko-du maszynowego, zyli posta ibinarnej, w której zakodowane s¡ instruk je bezpo±redniowykonywaneprzez pro esordanegourz¡dzenia.Plik wynikowy tej konwersji jestto plik zawieraj¡ ykod maszynowy, któryjest uru hamia-nyprzezsystemopera yjnyiwykonywanyprzezpro esor.Jzykinatywnes¡ jzykami programowania zapewniaj¡ ymi najszybsze wykonanie programu, gdy»przyi huru hamianiuniewystpujeju» »adnakonwersja,atylko prze-sªanieinstruk jidopro esora.

Przy obsªudze wieloplatformowo± i kod ¹ródªowy programu musi zosta¢ skompilowanyosobnodlaka»dejplatformy,doplikuwykonywalnegow

forma-kilkulubkilkunastuwersjiplikuwykonywalnegorekompilowany hprzyokazji tworzeniaka»dejnowejwersjiprogramu.

W przypadku kodu ¹ródªowego napisanegow jzyku niskopoziomowym, takimjakAsembler,niejestmo»liwakompila jatakiegoprogramunainn¡ ar- hitektursprztow¡-potrzebujemytuosobnegokodu¹ródªowegodlaka»dej platformy.Jzyki wy»szegopoziomu, takie jakPas al,C, C++, s¡ wswojej skªadni niezale»neod ar hitekturysprztowej iprogramowej,wi posiadaj¡ kompilatorydlaró»ny hplatform.Wprakty ejednakkompila jaiuzyskanie takiegosamegodziaªanianiejestprost¡spraw¡.Pierwszymproblemems¡ bib-lioteki,którezapewniaj¡dostpdoSDKsystemuopera yjnego,atak»eró»ne inne bibliotekiobsªuguj¡ e ho ia»bysystemgra zny.Bibliotekitebd¡ si ró»ni¢wzale»no± iodplatformy, ozmusinasdomodyka jikodu ¹ródªowe-go.Innymproblememdu»otrudniejszymdowyeliminowaniajestniewªa± iwe u»y iety hjzyków.Jzykite,pomimo»ezali zanes¡dojzyków wysokopo-ziomowy h,zapewniaj¡bezpo±rednidostpdopami iopera yjnej, omidzy innymipowoduje,»es¡takwydajne.Strukturadany hwpami ijestjednak zale»naodar hitekturypro esoralubnawetu»ytegokompilatora. Programis-tamógªwi zaªo»y¢,»edanewpami is¡wpewnymforma ieiwykorzysta¢ bezpo±rednidostpdoni hw eluoptymaliza ji, oniestetyniebdzie speª-nione na innej platformie. Mo»e to powodowa¢ bªdy, trudne do wykry ia,

Rysunek3.1.Ró»nakolejno±¢bajtówli zb aªkowity hzapisany hwpami idla ró»ny hplatform-przykªadró»ni strukturydany h

gdy» programbdzie jaknajbardziejpoprawnypod wzgldemskªadniowym, skompilujesiiuru homi,le zbdziedziaªaªnieprawidªowo, omo»eobjawia¢ siwbardzoniekontrolowanysposób.

Jzyki kompilowanedo kodu po±redniego

Jzykikompilowanekodupo±redniego,podobniejakjzykinatywne kompilo-wanes¡dopewnegorodzajukodumaszynowego.Tenkodmaszynowyniejest zestaweminstruk ji»adnegorze zywistegopro esora,le zzestaweminstruk ji dlamaszyny,którajestemulowananarze zywistymurz¡dzeniu.To emulowa-neurz¡dzenie nazywamymaszyn¡ wirtualn¡.Wirtualna maszynadanego j-zykajesttoprogram,naj z± iejnapisanywposta inatywnej,któryemuluje urz¡dzenieo± i±leokre±lonejspe yka ji.Wygenerowanykodmaszynowydla wirtualnejmaszynynazywamybajtkodem(ang.byte ode)lubwªa±niekodem po±rednim.

Wykonywanieprogramuwjzykukodupo±redniegoodbywasiwolniejni» programu natywnego,ze wzglduna zaspotrzebny nakonwersjinstruk ji wkodziepo±rednimnainstruk jkodunatywnego.Obe niemaszyny wirtual-ne zstooptymalizuj¡tenpro eskodupo±redniegopoprzezkompila j aªego fragmentubajtkodudokodunatywnegobezpo±rednioprzedjegowykonaniem (me hanizmJIT).Przykªadowymijzykamidziaªaj¡ ymiwtejte hnologiis¡ Java,C# orazFlash/A tionS ript.

Me hanizm kodupo±redniegozna zniepoprawiaobsªug wieloplatformo-wo± iprzezprogramynapisanewtaki hjzyka h.Popierwszetensam bajt-kodmo»eby¢u»ytydouru hamianianawieluplatforma hiniepotrzebnajest wielokrotnakompila ja.Podrugie,± i±leokre±lonaspe yka jamaszyny wir-tualnejeliminuje ró»ni ewynikaj¡ ezinnejstrukturydany hwpami i ope-ra yjnej.Programskompilowanydobajtkodumo»ewprzyszªo± iuru hamia¢ sinaplatformiesprztowejozupeªnieodmiennej,nieznanejobe nie ar hite-kturze,bezkonie zno± iponownejkompila ji.

Problemy zprzeno±no± i¡ nainne platformymog¡ jednakwynika¢przez wykorzystanie bibliotek, ekskluzywny h dla danej platformy lub dostpny h tylkona niektóre zni h, np. tylkonasystemyopera yjnekomputera osobi-stegoPC.

Jzyki interpretowane

Programw jzykuinterpretowanym - toprogram, który jestrozprowadzany iuru hamianyjakokod¹ródªowywposta itekstowej.Wykonanieminstruk ji zajmujesiosobnyprogramzwanyinterpreterem(napisanynaj z± iejw j-zyku natywnym), który w momen ie uru homienia zyta kolejne instruk je zkodu¹ródªowego,interpretujejeiwykonuje.

któraprzezpro esormogªabyby¢wykonanaw i¡gukilku ykli,musizosta¢ najpierwod zytanazpliku¹ródªowego,odnalezionawzestawieinstruk ji j-zykaidopierowykonana, owsumiemo»ezaj¡¢tysi¡ e yklipro esora. Dzi-siajwieleinterpreterówoptymalizujedziaªanieprogramuprzezwstpn¡ kom-pila jjego fragmentudokodupo±redniegolubnawetnatywnego(JIT),tu» przedjegowykonaniem.

Jzyki interpretowane s¡ jzykami wysokiego poziomu. Oddzielaj¡ prog-ramistodsz zegóªówar hitekturyurz¡dzenia,naktórymjeston wykonywa-ny, zwªasz zasz zegóªów budowypami iopera yjnejpoprzezbrak bezpo±-redniegodostpuoraznaj z± iejwystpuj¡ ysystemsªabegotypowania. Po-dej± ietakiezjednejstronyuniemo»liwiaoptymaliza jpewny halgorytmów, le zzdrugiejstronywymuszapisaniekoduwsposóbbardziej wysokopoziomo-wy,pozostawiaj¡ implementa jeniskopoziomowy helementówzewntrznym bibliotekom,któremog¡by¢napisanezwykorzystaniemjzykównatywny h. Dzikitemuprogramywjzykuskryptowympiszesirelatywnieszybko,gdy» kodprogramu skupiasi bardziejna jegologi eni» implementa jidrobny h elementów. Zapewnia to tak»e wieloplatformowo±¢. Je»eli znajdziemy inter-preterjzykadladanejplatformyiwszystkieu»yteprzeznasbiblioteki,to mo-»emyprogramlubgrbez problemunaniejuru homi¢.

Zalet¡jzykówinterpretowany hjesttak»efakt,i»niewymagaj¡one kom-pila ji.W przypadkudu»y h gierpro eskompila ji mo»e trwa¢nawet kilka-dziesi¡tminut.Tym zasemkonie zno±¢ zekanianawetkilkudziesi iusekund narekompila jpod zaswprowadzaniaitestowaniadrobny hzmianwkodzie przekªadasibezpo±rednionawydajno±¢ikomfortpra y.

Przykªadem szerokowykorzystywanegojzyka interpretowanegojest Py-thon.Jesttojzyk,któregointerpreterymo»emyodnale¹¢nawikszo± i mo-»liwy h platform,wrazz aªymzestawembibliotekwszelkiegozastosowania. Wprzypadkutworzeniagierwideosz zególniewartauwagijestbiblioteka Py-gamewspomagaj¡ atworzeniegierwideo iaplika jimultimedialny h.

Mimote hnikoptymaliza yjny hprogramynapisanewjzyka h interpre-towany hdziaªaj¡wolno.Jzykitenienadaj¡siwi dopisaniaklu zowy h wydajno± iowoelementów,le z doskonale sprawdzaj¡siw prototypowaniu, gdzieszybko h emyuzyska¢efektiprzetestowa¢gowprakty e.Drugim pow-sze hnym zastosowaniem jest u»y ie ty h jzyków jako jzykó skryptowy h silnikalubdlawarstwsilnikanajwy»szy hpoziomówabstrak ji.

3.1.2 Jzyk programowaniaa przezna zeniesilnika gier wideo

Rozpatrzmygry z perspektywy podziaªu na gry przegl¡darkowe,dziaªaj¡ e woknieprzegl¡darkiinternetowejoraznagrydziaªaj¡ ebezpo±redniow sys-temieopera yjnymdanegokomputeralubkonsoli.Gryprzegl¡darkowemo»na podzieli¢dodatkowo nadwie zupeªnie odmiennekategorie, a mianowi ie na wykorzystuj¡ etylkostandardowete hnologieWeboweorazgrywideo

wyko-Gry przegl¡darkowe opartena bazodanowy hte hnologia h webowy h

Te hnologiewebowes¡towszelkierozwi¡zaniawspomagaj¡ etworzeniestron iserwisówWWW.Zali zy¢doni hmo»emyjzykiHTML,PHP,JavaS ript, te hnologieASP,JSPorazwieleinny h.Zwykorzystaniemtaki hte hnologii powstaj¡równie»zpowodzeniemgry.Naj z± iejs¡togrywieloosobowe okre-±lanemianemMMO(MassivelyMultiplayerOnline)ipozwalaj¡narozgrywk setkomlubtysi¡ omgra zyjedno ze±nie.

Tupojawiasijednakpytanie, zytegotypugrymo»emyzali zy¢dogier wideo.Me hanikaty h gier tworzonajestzwykorzystaniemte hnologii we-bowy h i bazodanowy h, a i h interfejs opiera sina przegl¡darkowy h for-mularza h.Brakwni h,tak harakterysty znegodlaklasy zny hgierwideo, prezentowaniaprzebiegu rozgrywki w zasie rze zywistym za pomo ¡ urz¡-dzeniarenderuj¡ ego.Przebieggryw zasierze zywistymjestrealizowanyna serwerze,jednak»egra z wykorzystuj¡ przegl¡darkinternetow¡,ma mo»li-wo±¢ wydawania pole e« poprzez odno±niki lub formularze na stronie, oraz sposobno±¢obserwa jiaktualnegostanu rozgrywkijakoró»negorodzaju sta-tystyki zywizualiza je.

Rysunek 3.2.Popularnagraprzegl¡darkowaOGame

webow¡iwymagategotypunarzdzi.Ztegopowodutrudnojestmówi¢o sil-nikugier przegl¡darkowy h wrozumieniu silnikagry wideo, ho¢o zywi± ie istniej¡pakietywspomagaj¡ eimplementa jtegorodzajuproduktów. Ar hi-tekturai zasadadziaªaniatakiego silnikajest zupeªnie odmiennym tematem iwzwi¡zkuztymniebdzieomawianawtejksi¡» e.

Przegl¡darkowe gry wideo

Przegl¡darkowegrywideo,wodró»nieniuodpowy»szegorodzaju, wykorzystu-j¡doprezenta jiwizualnegostanu metodrenderowaniaposz zególny h kla-tekskªadaj¡ y hsinaanima j.Urz¡dzeniemrenderuj¡ ymjestwtym przy-padkusamooknoprzegl¡darkiinternetowejlubwty zkazganie»d»onana stro-nie, oniezmieniafaktu,»e dzikitemu sposobowidziaªaniagry temo»emy nazwa¢ju»peªnoprawnymigramiwideo.

Je»eli h ieliby±myzaj¡ sitworzeniemgrylubsilnikategorodzaju,mamy dowyborukilkarozwi¡za«:

Jzykiwbudowane wprzegl¡dark

Wrazzrozwojemte hnologiiinternetowy hpojawiaj¡site»metody two-rzeniategotypu gierbezkorzystaniazwty zek,ajedynie zjzyków, któ-ry hobsªugajestwbudowanawprzegl¡darkinternetow¡.Jzykiemtakim mo»eby¢dlaprzykªaduHTML5wpoª¡ zeniuzJavaS ript.Standardten znajdujesijesz zewfazierozwojuiniewieleprzegl¡darek,zwªasz za mo-bilny hposiadajegopeªn¡obsªug, oniezmieniafaktu,»ezjegopomo ¡ jestmo»liwestworzeniekompletnejgrywideo.Najlepszymdowodemnato s¡rozwi¡zania,któreju» pojawiaj¡sinarynku,takiejaksilnikgier Ro- ketEngine.

Wty zki ogólnego przezna zenia

Przegl¡darki internetowe umo»liwiaj¡ umiesz zanie na strona h zagnie»-d»ony h elementówza pomo ¡ ró»negorodzajuwty zek. Do najpopular-niejszy hwty zekogólnegoprzezna zenianale»yte hnologiaFlash wyko-rzystuj¡ ajzykA tionS riptorazApletyJavy,wykorzystuj¡ eo zywi± ie jzykJava.Jzykiteudostpniaj¡wystar zaj¡ emo»liwo± idotworzenia gierwideolubsilnikaiobe niemo»emyzaobserwowa¢tysi¡ egier napisa-ny hwty hjzyka h.Doniew¡tpliwy hzaletwty zeknale»yi h popular-no±¢-wikszo±¢ obe ny h komputerówdesktopowy hposiadate wty zki zainstalowane orazniezale»no±¢ od platformy- jednolit¡ obsªug na ró»-ny hurz¡dzenia h,systema horazprzegl¡darka hgwarantuje produ ent wty zki.

Spe jalizowanewty zki

Opró zwty zekogólnegoprzezna zeniaistniej¡te»spe jalizowane rozsze-rzeniadla przegl¡darektworzoneprzezprodu entówsilnikówgier wideo.

kozagnie»d»ony helementówstronyinternetowej.Przykªadem mog¡by¢ wty zkiudostpnioneprzezprodu entówsilnikówVirtoolslubUnity. Im-plementa jagier wideo przy i h u»y iu jest uªatwiona dzikiwspóªpra y zwszelkiminarzdziamiw hodz¡ ymiwskªadsilnika,jednakdosamej im-plementa jiwykorzystywa¢bdziemywbudowanywtensilnikjzyk skry-ptowy.Taksamojakzwty zkamiogólnegoprzezna zenia,oobsªug wielo-platformow¡dba jej produ ent, natomiastgorzej wygl¡dasytua ja z i h popularno± i¡,zewzgldunabardzospe y znezastosowanie.Je±li intere-sujenasstworzeniewªasnegosilnikagierwtakiejte hnologii,tobdziemy musieli zaimplementowa¢ wªasn¡ wty zk do przegl¡darki, wykorzystu-j¡ jeden znatywny h jzyków programowania,taki h jakC++. Jednak wtakimprzypadkuproblemobsªugiwieloplatformowo± ile»yju»ponaszej stronie-musimyzapewni¢wty zkdlaka»dejplatformy,najakiej h emy nasz¡grwideo uru homi¢.

Przegl¡darkowegrywideozdominowanes¡przeztezrealizowanewte hnologii 2D.Wynikatogªówniezo zekiwa«grupyodbior ów,dojakiejteproduktys¡ adresowane.Wielu spo±ród ni h o zekuje prostej rozrywki pod zas przerwy wpra y,agryopartenate hnologia h2Dzazwy zajs¡du»oprostszew opa-nowaniuiobsªudze.O zywi± ieistniej¡te»gry3Ddlaprzegl¡darek- przykªa-dem mo»e by¢Mine raft Classi .HTML5i Javaumo»liwiaj¡wykorzystanie bibliotekiOpenGL,tak»eFlashiA tionsS riptudostpniawspar iedla sprz-towejak elera jigraki3D.

Niezaprze zaln¡zalet¡przytworzeniuprzegl¡darkowy hgierwideojesti h wieloplatformowo±¢.Je»elitylkonietworzymywªasnejwty zki,akorzystamy zistniej¡ ejte hnologii,towieloplatformowo±¢jestju»wpisanawjej zaªo»e-niaiuzyskujemyj¡niejakozadarmo.Kolejn¡zalet¡jestsposóbdystrybu ji iuru hamiania,któryeliminujekonie zno±¢± i¡ganiaiinstala jigry- wysta-r zywpisanieodpowiedniegoadresuwprzegl¡dar einternetowej.Dojejwad zali zy¢ trzebaprzede wszystkim ograni zeniewkwestiiilo± idany h, które mo»egromadzi¢grazewzgldunaograni zon¡przepustowo±¢ª¡ za interneto-wegojakrównie»umiarkowan¡wydajno±¢dziaªaniakoduiograni zoneefekty gra zne.

Gry wideouru hamiane bezpo±redniow systemieopera yjnym urz¡dzenia

Gry uru hamianebezpo±rednio w systemie opera yjnym danegourz¡dzenia s¡tosamodzielneaplika je,którenies¡zagnie»d»onymelementeminnej apli-ka jitakiejjakprzegl¡darkainternetowa.Mo»najepodzieli¢nadwiegªówne grupy:

Aplika jenatywne

na-Rysunek3.3.PortgryQuakeIIwHTML5uru homionywprzegl¡dar e

muWindowsbdzietoplikwykonywalny.EXElubbibliotekadynami zna .DLL).Aplika janatywnaumo»liwianammaksymalnewykorzystanie mo»-liwo± i sprztowy hurz¡dzenia, atak»enajszybszewykonywanie napisa-negoprogramu.Dlategoje»elinaszym elemjesttworzeniegierwideo,dla który hwydajno±¢sprztujestklu zowymparametrem,powinni±my wyb-ra¢lubsamistworzy¢silnikgiernapisanewte hnologiinatywnej.Doty h elówmo»emywykorzysta¢ aªywa hlarzjzykówprogramowania,które nadanejplatformiemog¡by¢skompilowanedokodumasznowego,którymi wzale»no± iodpotrzebnegopoziomuabstrak jimo»eby¢Asembler,C++ lubinnyobsªugiwanynadanejplatformiejzykbardzowysokiegopoziomu. Problemem natomiast staje si tutaj wieloplatformowo±¢, gdy» musimy dostar zy¢osobneplikiwykonywalnedlaka»dejplatformy.Mimo,»esam wykorzystanyjzykmo»emie¢mo»liwo±¢kompila jidlaka»dejzni h(np. C++),towprakty eka»daplatformakorzystazinny hbibliotekiinny h funk ji stanowi¡ y h ho ia»bySDK systemu opera yjnego, o wymusza nanasu»y ie innegolubzmodykowanegokodudokompila jina ka»dej zni h.

Aplika jeinterpretowane lubkodu po±redniego

Aplika jetegotypus¡napisanewjzyka h,którenadanejplatformienie s¡kompilowanedo kodumaszynowego,le zinterpretowanewprzypadku

padku jzyka kodu po±redniego.Takimi jzykami mog¡ by¢np. Python, JavalubC#.Silniknapisanywtegotypujzyka hbdziemiaªo zywi± ie mniejsz¡wydajno±¢ ni»zaimplementowanywsposóbnatywny,le zje»eli naszym elem nie jest tworzenie gier wykorzystuj¡ y hsprzt w maksy-malnysposób,tojzykitakiemaj¡swojezalety.Popierwsze,s¡jzykami wy»szegopoziomu, oograni zymo»liwo± ioptymaliza jikodu,le zz dru-giejstronyzmniejszypotrzebn¡ilo±¢pra yiprzyspieszypro es powstawa-niasilnika.Podrugie,kodsilnikaorazkodgrybd¡dziaªa¢nawszystki h platforma h, naktóry h bdzie dostpnyinterpreterjzyka lubmaszyna wirtualna.Nie musimy si wi martwi¢tworzeniem wieloplatformowego kodu.Nale»yjedynie zwró i¢uwag,je»elimamyzamiarwykorzysta¢ bi-blioteki,którenies¡zawartewstandardziedanegojzyka.Niektórezni h s¡ spe y zne dla jednej konkretnej platformy, a inne mog¡ obsªugiwa¢ tylkoniektórez platform, o musimymie¢ na uwadze przy i h wyborze. Wybór jzykainterpretowanegolub kodupo±redniegomo»e by¢lepszym wyborem,je±linaszsilnikmaby¢przezna zonydotworzeniamniejszy h, prostszy hgier,niewymagaj¡ y hmaksymalnejwydajno± i. Implementa- jasilnikaw jzyku nie-natywnym mo»e by¢nam te» niejako narzu ona przezprodu enta danejplatformy programowej, którynie udostpniªdla niejmo»liwo± i uru hamianiaprogramównapisany h wsposób natywny. Przykªademmo»etutaj by¢FrameworkXNA,któryo jalniewspiera je-dynie tworzenie aplika ji za pomo ¡ jzyka C#, lub system opera yjny Android,którydoniedawnaumo»liwiaªtworzenieaplika jijedynieza po-mo ¡jzykaJava.

3.1.3 Ce hy jzyków programowania

Paradygmat

Paradygmatprogramowaniadeniuje, jakza pomo ¡ jzykaprogramowania realizowany jest sposób przepªywu sterowaniaw programie komputerowym. W przypadku jzykówogólnegoprzezna zenia, któremo»na wykorzysta¢do tworzenia silnika gier komputerowy h, mo»emy je podzieli¢ na speªniaj¡ e paradygmaty

Programowanieobiektowe

Programowanie obiektowejest paradygmatem realizowanym przez wik-szo±¢nowo zesny hwysokopoziomowy hjzykówprogramowania ogólne-go przezna zenia. Du»¡ zalet¡ tego typu programowaniajest jego zgod-no±¢znaturalnymsposobemmy±leniaprzezumysªludzki,którydeniuje wszystko o widzimy dookoªa nasjakoobiekty posiadaj¡ e pewne e hy i wªa± iwo± i. Me hanizmy obiektowy h jzyków, takie jak dziedzi zenie ipolimorzmpozwalaj¡tak»ewnaturalnydlanassposóbprzedstawi¢ za-le»no± iorazuogólnieniapomidzyobiektami.Zkoleihermetyza jai

abs-dzaj¡ nasodnieistotny hsz zegóªów.Grywideo zstostaraj¡siwiernie odwzorowa¢jaki± wy inekrze zywisto± i,którywidzimy wokóªnas,wi jzykitegotypu doskonale nadaj¡ sidomodelowaniareprezenta jity h obiektówzapomo ¡koduprogramu, ouªatwiaprojektowaniei implemen-ta jgierorazsilników.Przykªadamijzykówobiektowy hmog¡by¢jzyki takiejakC++, C#,Java.

Pierwszyzwymieniony hwy»ejjzykówjestjzykiemobiektowym pozwa-laj¡ ymjednak nakorzystaniezwielume hanizmównieobiektowy h wy-wodz¡ y hsijesz zezjzykaCoraznaniskopoziomowydostpdo pami- iopera yjnej.Ostatniedwawymienionejzykis¡tojzykiwpeªni obiek-towe.Wprakty e,przytworzeniuwydajnegosilnikagierwideowpewnym sensiehybrydowe podej± ie jzyka C++ daje nam wiksze mo»liwo± i. Wydajnysilnikpowinien udostpnia¢dobrze zaprojektowany,przejrzysty interfejsobiektowydlajegou»ytkowników,natomiastwewn¡trz,w warst-wa hukryty hprzedu»ytkownikiem,mo»ekorzysta¢zniskopoziomowy h rozwi¡za«w eluwydajny hrozstrzygni¢pewny h problemów.

Programowaniestrukturalneipro eduralne

Programowaniestrukturalneipro eduralnetoparadygmatwywodz¡ ysi jesz zezestarszy h jzykówprogramowaniai obe ny ho ia»bywtaki h jakCiPas al.Brakme hanizmówobiektowy hspowodowaªwypar iety h jzykówwwikszo± i zastosowa«i hnowszymiodpowiednikami. O zywi-± iestworzenie aªegosilnikagierwideozapomo ¡jzykówtegotypujest jaknajbardziejmo»liwe,jednaksprawi,»eniebyªbyonwygodnyw projek-towaniuipó¹niejszymu»y iu.U ierpiaªabyrównie»wspóªpra apomidzy programistamipra uj¡ ymi nad wspólnym projektem, gdy» me hanizmy

Powiązane dokumenty