Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pravljenje igara u VB-u -> The strashna Do-Loop 'petlja' (kako glupa rech)

[es] :: Visual Basic 6 :: Pravljenje igara u VB-u -> The strashna Do-Loop 'petlja' (kako glupa rech)

[ Pregleda: 3921 | Odgovora: 14 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dejangex
Ruma

Član broj: 47740
Poruke: 36
*.metrohive.neobee.net.



Profil

icon Pravljenje igara u VB-u -> The strashna Do-Loop 'petlja' (kako glupa rech)02.07.2005. u 19:14 - pre 229 meseci
Krenuo sam da pravim svoj 2D tile-based game engine u basicu i odma' sam prvi dan naleteo na problem koji nije bash i problem ali dosta me nervira. Obicno za igre u basicu svi kazu: "Koristi Do-Loop PeTljU a ona ce ti proveravati KeyState, ona ce ti pokretati spritove i animirati ih..bla,bla..."

Pazi ovaj kod:
Code:

Private Sub Form_Load()

Do
DoEvents
Loop

End Sub


Ovaj obican kod ce zauzeti 99% sistemskih resursa(ali vi profesionalci to vec znate). Srecom pa imamo DoEvents. On omogucava da neki drugi program preuzme sebi resursa ako mu je potrebno(i sprechava tvoj program da zakuca). Testirao sam to na ovaj nacin: Pokrenuo sam prethodni kod 2 puta i resursi su se jednako raspodelili(50-50% - variranje 3-4%) na oba programa.

Da se vratim na temu. Ako napravim engine na ovom principu izgledace previse n00bovski zauzimajuci nepotrebno 99% res. Imam neke ideje i hocu da znam sta drugi misle o tome.

1. Multimedialni tajmer koji okida mnogo puta:
Timer koji okida prvo ce proveriti da li su sve messages na queue-u obradjene(GetQueueStatus = 0) a ako jesu onda pokrece code engina(koristeci SendMessage).

2. Multimedialni tajmer koji okida mnogo puta 2:
Timer koji okida mnogo puta ce da stavi message u queue od programa(PostMessage) pa ce program redom da ih izvrsava pokretajuci code od engina svaki put kad na to dodje red.

I u jedno i u drugom slucaju cu izbeci Do-Loop a mozda cak mi nece trebati ni DoEvents(a izbegavam i microsoftov glupi tajmer). Takodje ce igra i seckati ako korisnik nema dovoljno jak komp ali nece zakucati(barem u prvom slucaju). Ugavnom ce engine da cheka da se izvrse sve komande(matematika,iscrtavanje,...) pa ce tek onda ponovo krenuti.

Koji je bolji metod? Ili jos bolje ako znate jos neki nachin da pokrenem code a da ne njakam sistemske resurse?

P.S. Ovo je sve teorija, nisam nista od ovoga isprobao.
 
Odgovor na temu

Dark Icarus
Goran Lalić
Beograd

Član broj: 19775
Poruke: 428
*.med.bg.ac.yu.



+2 Profil

icon Re: Pravljenje igara u VB-u -> The strashna Do-Loop 'petlja' (kako glupa rech)04.07.2005. u 08:50 - pre 228 meseci
Cela poenta igre je da zauzme sve sistemske resurse koji su joj potrebni. DoEvents služi baš da bi se izbegla zakrčenja i da se svim ostalim programima da šansa da odrade svoj posao, ali da se sva preostala procesorska snaga posveti tvojoj igri. Što znači, čak i ako praviš igru koja treba da radi u pozadini (npr. minesweeper klon) nema problema sa do-loopom. Napravi do-doevents-loop petlju i pokreni je. A onda pokreni 5 instanci Worda ili IEa i vidi da li će tvoja petlja da ih uspori ma i za promil.

Ukratko, nemoj mnogo da se zamajavaš oko nebitnih stvari, ovo je najmanji problem u programiranju igara. Slobodno koristi do-loop petlju.
In a game of chess you must never let your opponent see your pieces - Zap
Brannigan
 
Odgovor na temu

dejangex
Ruma

Član broj: 47740
Poruke: 36
*.metrohive.neobee.net.



Profil

icon Re: Pravljenje igara u VB-u -> The strashna Do-Loop 'petlja' (kako glupa rech)06.07.2005. u 00:30 - pre 228 meseci
Pogledaj neke komercijalne igre. One ne zauzimaju 99% resursa ako im ne treba. Pokreni original minesweeper - zauzima 0%.
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Pravljenje igara u VB-u -> The strashna Do-Loop 'petlja' (kako glupa rech)06.07.2005. u 02:59 - pre 228 meseci
da, ali on je pisan u c++u :D

sto se tice For-Loop petlje slobodno je koristi, ja je koristim svaki put kad pravim neku igru (a nijednu nisam zavrsio dosad :p - zbog grafike) da bi ogranicio fps i da bi se igra istom brzinom odvijala na svim masinama (koristim Dark Icarus-ov kod :p)...
 
Odgovor na temu

dejangex
Ruma

Član broj: 47740
Poruke: 36
*.metrohive.neobee.net.



Profil

icon Re: Pravljenje igara u VB-u -> The strashna Do-Loop 'petlja' (kako glupa rech)06.07.2005. u 10:33 - pre 228 meseci
Onda moram nauciti c++ ><. On je izgleda povoljniji za igre jer na www.planet-source-code.com sajtu pola codova za cpp su RPG igre.
A taman sam se ushemio sa basicom...

Sa kojim programom se danas najvise prave igre?
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Pravljenje igara u VB-u -> The strashna Do-Loop 'petlja' (kako glupa rech)06.07.2005. u 13:33 - pre 228 meseci
Pa oko 90% (po mojoj slobodnoj proceni) komercijalnih igara je pisano u C\C++u ali ako si pocetnik u njemu (ili tek treba da ga ucis) ja ti ne bih preporucio da odmah ides na C++, mozda pokusas (da vezbas malo) sa Basicom (ako ga vec dobro znas, kako rece) ili eventualno sa Delphijem (mada ga ja nesto i nevolim...)
koju vrstu igre pravis uopste? ako je rpg pogledaj na psc tamo ima dosta primera (mada, moram da priznam da mi se nijedan ne svidja :p) a i rpg je jedna od laksih igara za napraviti (samo ti treba dobar AI protivnika ;p)...
Za rad sa grafikom pogledaj vbAccellerator tamo ces naci odlican AlphaDIB sample koji ja koristim u svim igrama (anti-aliasing, alpha-blending!!!)
 
Odgovor na temu

dejangex
Ruma

Član broj: 47740
Poruke: 36
*.metrohive.neobee.net.



Profil

icon Re: Pravljenje igara u VB-u -> The strashna Do-Loop 'petlja' (kako glupa rech)06.07.2005. u 20:43 - pre 228 meseci
Uopshte se ne slazem da je lako napraviti RPG igru(Console style tj). Uglavnom moram da nauchim c++, svejedno ce mi trebati u zivotu.

Jel moram legalizovati moj c++ da bi mogao zaradjivati od onoga sto je napravljeno sa njim?
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Pravljenje igara u VB-u -> The strashna Do-Loop 'petlja' (kako glupa rech)06.07.2005. u 22:48 - pre 228 meseci
kada sam rekao "lako" mislio sam na to da u rpg-u nema dinamike (tj. matematike :p) potrebna ti je samo inteligencija (da bi napisao dobar AI).

sto se tice legalizovanja C++a pretpostavljam da imas M$ C++, ja ti preporucujem da skines DevC++: radno okruzenje uz koje dolazi MinGW compiler, proguglaj --> :D
 
Odgovor na temu

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1947
*.smin.sezampro.yu.

Sajt: stackoverflow.com/users/1..


+480 Profil

icon Re: Pravljenje igara u VB-u -> The strashna Do-Loop 'petlja' (kako glupa rech)07.07.2005. u 13:53 - pre 228 meseci
Ako hoce da zaradjuje, bolje da to ne radi sa DevCpp

Citat:
Bloodshed Dev-C++ is distributed under the GNU General Public License.


Najbolje da koriste besplatne MS Alate koji su dostupni sa njihovog sajta, ili Borlandov Free CommandLine kompajler.
 
Odgovor na temu

dejangex
Ruma

Član broj: 47740
Poruke: 36
*.metrohive.neobee.net.



Profil

icon Re: Pravljenje igara u VB-u -> The strashna Do-Loop 'petlja' (kako glupa rech)07.07.2005. u 14:56 - pre 228 meseci
Jel bi mogao da pravim kod u MS Cpp a da ga kompajliram sa nekim drugim programom i da ne bude problema? Jel bi ovo moglo sa Basicom da se uradi?
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Pravljenje igara u VB-u -> The strashna Do-Loop 'petlja' (kako glupa rech)07.07.2005. u 17:21 - pre 228 meseci
nisam te bas najbolje razumeo; hoces da pises kod u basicu a da ga kompilujes sa cpp kompajlerom?!?! (verovatno sam ja pogresno protumacio)

verovatno si mislio da pises kod u vb a da ga kompilujes sa nekim drugim BASIC kompajlerom? pa evo nasta sam malopre naleteo: Free Basic Compilers
mada ni jedan nisam probao i verovatno ni jedan u potpunosti ne podrzava vb kod koji je pun specificnih objekata, ali bi 70% kod (opet slobodna procena :p) trebalo da bude isto
 
Odgovor na temu

dejangex
Ruma

Član broj: 47740
Poruke: 36
*.metrohive.neobee.net.



Profil

icon Re: Pravljenje igara u VB-u -> The strashna Do-Loop 'petlja' (kako glupa rech)07.07.2005. u 21:21 - pre 228 meseci
E, ono drugo. Da pishem kod u M$-ovom Basicu a da kod kompajliram nekim drugim kompajlerom. Jel bi u ovom slucaju mogao da zaradjujem na programu? Isto pitanje i za cpp.
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Pravljenje igara u VB-u -> The strashna Do-Loop 'petlja' (kako glupa rech)08.07.2005. u 01:34 - pre 228 meseci
naravno da bi mogao da zaradjujes na njemu ali ne postoje dva ista kompajlera (za bilo koji jezik) tako da ima malih (nekad i ogromnih) razlika izmedju jednog programa pisanog za jedan kompajler i istog tog programa pisanog za drugi kompajler (najcesce su razlike u tipovima varijabli) ali za cpp treba da bude pretezno slicno, ja ti preporucujem da ako pises u vb-u kompajliraj ga sa vb comajlerom i slobodno zaradjuj na njemu (prvo krenes sa nekim malim programima, tako nakupis para i kupis licenciran VB :p) a ako radis u cpp-u slobodno pisi u vcpp-u a kompajliraj ga sa nekim drugim freeware compilerom...
 
Odgovor na temu

dejangex
Ruma

Član broj: 47740
Poruke: 36
*.metrohive.neobee.net.



Profil

icon Re: Pravljenje igara u VB-u -> The strashna Do-Loop 'petlja' (kako glupa rech)08.07.2005. u 14:40 - pre 228 meseci
Tnx. Samo treba da vidim sa kojim kompajlerom da mixujem VB kod.
 
Odgovor na temu

Dark Icarus
Goran Lalić
Beograd

Član broj: 19775
Poruke: 428
*.med.bg.ac.yu.



+2 Profil

icon Re: Pravljenje igara u VB-u -> The strashna Do-Loop 'petlja' (kako glupa rech)22.07.2005. u 15:13 - pre 228 meseci
E ako uspeš da miksuješ VB kod sa nekim kompajlerom slobodno to podeli sa nama!
In a game of chess you must never let your opponent see your pieces - Zap
Brannigan
 
Odgovor na temu

[es] :: Visual Basic 6 :: Pravljenje igara u VB-u -> The strashna Do-Loop 'petlja' (kako glupa rech)

[ Pregleda: 3921 | Odgovora: 14 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.