/
Razvoj igrica Danijel Pobi, dipl. Ing. Računarstva Razvoj igrica Danijel Pobi, dipl. Ing. Računarstva

Razvoj igrica Danijel Pobi, dipl. Ing. Računarstva - PowerPoint Presentation

partysilly
partysilly . @partysilly
Follow
343 views
Uploaded On 2020-08-05

Razvoj igrica Danijel Pobi, dipl. Ing. Računarstva - PPT Presentation

Platforme i razvoj Kompatibilnost Recikliranje koda Fragmentacija Platforma Hardware Software operativni sustavi i programski jezici Kratki pregled OSova Popularni i rašireni programski ID: 798353

programa razvoj ili compatibility razvoj programa compatibility ili platforme koji upravljanje platform cross platformi koje koda java

Share:

Link:

Embed:

Download Presentation from below link

Download The PPT/PDF document "Razvoj igrica Danijel Pobi, dipl. Ing. R..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Razvoj igrica

Danijel Pobi, dipl. Ing. Računarstva

Slide2

Platforme i razvoj

KompatibilnostRecikliranje kodaFragmentacijaPlatformaHardware

Software (operativni sustavi i programski jezici)

Kratki pregled OS-ova

Popularni i rašireni programski

jezici

Cross-platform razvoj

Upravljanje

projektima

Slide3

Kompatibilnost

Kompatibilnost u ovom smisliu je mogućnost programa i/ili sklopovlja da funkcioniraju zajednoZa program ili sklop koji nefunkcionira u inače funkcionalnom sustavu kažemo da je nekompatibilanBackward compatibility – kompatibilnost s urešajima prijašnjih generacija

Compatibility card – emulacija drugog uređaja (VM, odnosno Virtual machine)

Compatibility layer - ne nativna podrška za hardware

Compatibility

mode – mehanizam gdje program emulira stariju verziju programa

Computer compatibility – kompatibilnost stroja (IBM compatible)

Foward compatibility – stariji urešaji razumiju podatke koje generira noviji uređaj

License compatibility – licenciranje novog programa starijom licencom

Pin compatibility – spajanje novih uređaja direktno na pinove starijeg uređaja (ISA, PCI, AGP, PCI-E)

Slide4

Recikliranje koda

Pomoću postojećeg programa ili koda stvaramo novi programEng. Code Reuse or code recyclingIdeja je u tome da se program jednom napisan koristi u drugom programu u cilju uštede vremena i energije da se smanji redundancija pisanja jedne te iste stvari

Koriste se dijelovi koda (sections or snippets), templateovi, funkcije, procedure, klase, sučelja, prototipa, itd...

Biblioteka nije ništa drugo nego idealni primjer ovog koncepta

OOP je nastalo na ovom konceptu

Slide5

Recikliranje koda - primjeri

Programske biblioteke (library)najrašireniji oblik ponovnog korištenja kodanema potrebe za izmišljanjem „tople vode”

dobro podešene i optimizirane

nema promjena ako vam neki dijelovi nisu dovoljno brzi

Design patterns (hrv ?)

rijšenje koje se može iznova koristiti za neki uobičajni problem

Nije riješenje, nego uputa ili mapa kako riješiti problem koji se može koristiti u mnogim situacijama

3 vrste: creational (stvaralački), structural (strukturni), behavioral (ponašajni)

Creational: Abstract factory, Builder, Prototype, Singleton,...

Structural: Adapter, Bridge, Module, Proxy,...

Behaviora: Command, Iterpreter, Iterator, Mediator, Specification, State, Strategy,...

Frameworks (hrv ?)

Abstrakcija u kojoj generička funkcionalnost programa dodaje korisničkim dodavanjem koda

sastoji se od dopunskih programi, kompajlera, kodnih biblioteka, alati, API koji zajendno omogućuju razvoj projekta, tj. programa

Slide6

Fragmentacija

Pojam u programiranju koji se koristi za probleme s određenim ekosustavomProblem s spremanjem podataka na diskProblem s formatom/formatima

podataka

Priprema podataka u mrežnim protokolima

Slide7

Platforme

Hardware i software framework kombinacija na kojoj se izvršavaju programiSastavni dijelovi:Sklopovska arhitekturaOperativni sustav

Runtime biblioteke

Jako važna stvar prilikom razvoja programa je znati ciljanu platformu ili platforme

Slide8

Hardware platforme

Uglavnom se definiraju oko CPU-a, tj. oko instrukcijskog seta procesora i samog pomoćnog sklopovlja proizvođača procesorax86-64ARMx86

PowerPC

Itanium

Sparc, MC68K, MMIX, MIPS, VAX, eSi-RISC, PA-RISC, SuperH,...

Slide9

Operativni sustavi

Operativni sustav je kolekcija programa koji upravljaju sklopovskim resursima i pružaju servise ostalim programimaUpravljanje procesimaUpravljanje iznimkama i prekidima

Upravljanje memorijom

File system

Driveri

Sigurnost

I/O

....

Slide10

Operativni sustavi

DesktopWindows, Linux, Mac OSOS/2, Solaris, VM, NetBSD, OpenBSDMobilni

Windows Phone, Android, iOS

Windows Mobile (CE), Blackberry, Embedded Linux, Symbian, WebOS, Palm OS

Tablet

Miješavina desktop i mobilnih

Konzole

Xbox, Playstation, Nitendo Wii

Serveri

Windows Server, Linux, Unix, Solaris,

Radne stanice

mješavina desktop i server operativnih sustava

Slide11

Framework

.NET Framework (C#, VB, C++, F#, JS)Java platformMicro editionStandard edition

enterprise edition

Mobile

JavaFX

Microsoft XNA (C#, VB, F#)

Silverlight (C#, VB)

Mono

Oracle Database

Adobe AIR

SAP NetWeaver

Slide12

Cross-platform razvoj

Cross-platform ili multi-platform se odnosi na metode, koncepte i implementacije programa koje će se izvoditi na više platformiPodjela na dvije kategorijeizvršava se na ciljanoj platformi bez buildanja (Java)

izvršava se na ciljanoj platformi sa buildanjem

da bi bio neki program cross-polatform, mora se “vrtiti” bar na dvije kompjuterske arhitekture ili dva operativna sustava

Slide13

Cross-platform razvoj

C++ iako služi za razvoj za sve platforme, mora se kompajlirati za svaku platformu posebnoSkriptni jezici i interpreterski jezici mogu se bez kompajliranja i u znikakve ili minimalne izmjene pokretati na različitim platformama

python, PHP, bash, Ruby

Java se izvršava bez dodatnog kompajliranja, jer se prvobitno kompajlira u Java Byte Code koji se izvršava na Java VM-u instaliranom za ciljanoj platformi

Igrice koje uglavnom moraju kompajlirati za zadanu platformu radi optimiziranosti, brzine i specifičnosti ciljane platforme

Slide14

Cross-platform razvoj

Testiranje je izazov, jer svaka platforma ima drukčije ponašanje i to može izazvati bugove na određenoj platformi koji se neće pojaviti na drugojNajčešće se koriste samo mogućnosti raspoložive na ciljanim platformama, prilagodbe specifične platforme ovise o tipu projekta

Različito sučelje ovisno o ciljanoj platformi

Skriptni jezici i VM-ovi se moraju prevesti na ciljanu platformu, što može negativno utjecati na performanse

Svaka platforma ima svoj način “pakiranja”, tj. format

Problem sigurnosti

Slide15

Upravljanje projektima

Planiranje, organizacija, motiviranje i kontroliranje resursima da bi se dostigao određeni cilj.Mjeri dvaput, reži jednom = planiraj dvaput, kodiraj jednomMora se znati tko je glavni! Demokracija u ovom slučaju samo usporava stvari.

Programi:

Project management: Microsoft Project, Excel,...

Content Control: Team Fundation server, SVN, Hg,...

Tradicionalni pristup:

inicijacija, planiranje i dizajn, izvedba, testiranje, kraj

Prince2, PRiSM, kritični lanac, metodologija lančanog niza, procesno upravljanje, Agile, Lean, Extreme, Korisno-realizacijsko upravljanje

Slide16

Upravljanje projektima, razvoj igrice

Planiranje:odabir platforme i alatažanrglavni likovi

radnja

svijet

interakcije likova, objekata,...

Dizajn

skice likova, svijeta, radnje

alati za izradu

Slide17

Upravljanje projektima, razvoj igrice

Podjela poslapodjela u neovisne cijelinedizajn, kodiranje, animiranje, dijalozi, zvuk,...

Posao

optimiziranje poslova, tako da se stvari koje se mogu paralelno raditi, rade

izvršavanje dodjeljenih poslova

Testiranje

u ovom slučaju igranje i bilježenje grešaka

Ispravljanje grešaka (bugovi)

vraćanje na kodiranje i dizajniranje, tj. sam posao

Gotovo

Igrajmo se koliko možemo 

Slide18

Kraj predavanja

PITANJA?

danijel@dmt-softver.hr

zadaće

nema