játékfejlesztés.hu
FórumGarázsprojectekCikkekSegédletekJf.hu versenyekKapcsolatokEgyebek
Legaktívabb fórumozók:
Asylum:    5484
FZoli:    4893
Kuz:    4455
gaborlabor:    4449
kicsy:    4304
TPG:    3402
monostoria:    3284
DMG:    3172
HomeGnome:    2919
Matzi:    2526

Pretender:    2498
szeki:    2440
Seeting:    2306
Geri:    2196
Orphy:    1893
Joga:    1791
Bacce:    1783
MaNiAc:    1735
ddbwo:    1654
syam:    1491
Frissebbek | Korábbi postok
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] [25] [30] [35] [40] [45] [50] [55] [60] [65] [70] [75] [80] > 85 < [90] [95] [100] [105] [110] [115] [120] [125] [130] [135] [140] [142]
Mystro - Tag | 60 hsz       Online status #93290   2008.07.30 04:18 GMT+1 óra  
a dll-eket bemásoltam a release exe mellé, mot nem konfigurációs hiba van hanem "A ***.exe hibát észlelt ezért leállt..."

ha /MT vagy /MTd-re állítom akkor :
1>cl : Command line error D8016 : '/MTd' and '/clr:pure' command-line options are incompatible
   
gaborlabor - Moderátor | 4449 hsz       Online status #93289   2008.07.30 04:14 GMT+1 óra  
vagy beállítod, hogy ne dll-ből használja
(multi-threaded dll helyett sima multi-threaded-re kell állítani a proj.settings/code generation/c++ alatt)

   
Asylum - Törzstag | 5484 hsz       Online status #93288   2008.07.30 04:09 GMT+1 óra  
igen: nem vitted magaddal a vs runtime ot (valahol a könyvátárban ott van, redist vagy vmi)
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Mystro - Tag | 60 hsz       Online status #93286   2008.07.30 03:17 GMT+1 óra  
Hali

CLR windows form-mal csináltam egy programot de másik gépeken nem indul el mert a konfigurációja helytelen (release-ben is). Van vmi ötletetek?
   
bmateusz - Tag | 121 hsz       Online status #93242   2008.07.29 11:00 GMT+1 óra  
Köszönöm a felvilágosítást Mondjuk erre csak akkor van szükség, ha máshol is le akarod fordítani a projektet. Először projekt kéne

   
Asylum - Törzstag | 5484 hsz       Online status #93240   2008.07.29 10:25 GMT+1 óra  
nem csak a linkernek, az egész forditonak. Lényegében egy külön scriptnyelv szerüség amivel meg lehet adni, hogy mivel és hogyan történjen a forditás stb.
Merthogy ugye alapbol igy forditunk

gcc -o alma.o alma.cpp
gcc -o banan.o banan.cpp

linkelés:

gcc -o gyumolcs alma.o banan.o

nahát most ez egy 100 forrásfájlos projektnél enyhén szolva kinszenvedés...a makefileba csak leirod a fájlok nevét egyszer és a make megcsinálja
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
gaborlabor - Moderátor | 4449 hsz       Online status #93239   2008.07.29 10:08 GMT+1 óra  
a makefile mondja meg a linkernek, hogy mit mivel hogyan, hogy a tárgykódból futtatható bináris legyen. állítólag nem árt, ha az ember tud szabványos makefilet írni kézzel, mert a legtöbb fejlesztőkörnyezet nem csak szabványos dolgokat használ, hanem egyedi kiegészítéseket stb.

   
bmateusz - Tag | 121 hsz       Online status #93238   2008.07.29 09:55 GMT+1 óra  
Én se felejtem el, de ez a Codeblocks nagyon bejött! Egyébként ismeri a .dev , .DevPak fájlokat is, így ha váltani akarsz, semmi gond.
Őszintén szólva nem tudom mire jó ez a makefile, de a Codeblocksban is van ilyen, a project/propertities-ben található.

   
Asylum - Törzstag | 5484 hsz       Online status #93236   2008.07.29 09:45 GMT+1 óra  
én nem felejteném el a devcpp-t, nemis azért használom mert olyan hüdeszuper, hanem mert lusta vagyok makefilet irni...igy viszonylag gyorsan tudom tesztelni, hogy g++ al is ugyanugy fordul-e a kód mint a gányolós msvc vel.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
bmateusz - Tag | 121 hsz       Online status #93233   2008.07.29 07:18 GMT+1 óra  
Idézet
kiskami :
A Dev-C++-t szerintem nyugodtan el lehet felejteni, 3 éve nem adtak ki új verziót - halott a projekt. A másik kettő (sokkal) ügyesebb, okosabb, jobb.



Megfogadom a tanácsod Ez a Codeblocks jónak tűnik. A MSVC viszont túl sok helyet foglal

   
Sdmemory - Tag | 3 hsz       Online status #93231   2008.07.29 06:10 GMT+1 óra  
Kössz a válaszokat, de sikerült végül aktiválnoma a c++buildert úgyhogy azzal kezdem valszeg a könyv miatt. Amúgy magáról a könyvről van valakinek véleménye-tapasztalata?

   
gaborlabor - Moderátor | 4449 hsz       Online status #93223   2008.07.29 02:01 GMT+1 óra  
Én sem szeretem, de a devcpp-vel meg tudtam oldani, hogy pendrive-ra telepítve portable legyen, bárhol tudom használni.
VS-val szerintem ez halott ötlet lenne, code::blocks-szal meg még nem próbáltam.

   
kiskami - Tag | 265 hsz       Online status #93219   2008.07.28 23:35 GMT+1 óra  
A Dev-C++-t szerintem nyugodtan el lehet felejteni, 3 éve nem adtak ki új verziót - halott a projekt. A másik kettő (sokkal) ügyesebb, okosabb, jobb.
[Silent Vertigo] { Solarah }
http://www.silentvertigo.hu
   
Sdmemory - Tag | 3 hsz       Online status #93198   2008.07.28 07:02 GMT+1 óra  
Thx

   
gaborlabor - Moderátor | 4449 hsz       Online status #93197   2008.07.28 06:44 GMT+1 óra  
Sdmemory - Tag | 3 hsz       Online status #93177   2008.07.27 23:37 GMT+1 óra  
Hi all
Megvettem a Tanuljuk meg a c++ programozási nyelvet c. könyvet és ahhoz adták a c++builderX compilert és linkert. Csak az a baj h aktiválni kéne az elindításhoz és sehol ha egy serial vagy aktiváló file. Ha valakinek megvan akkor segíthetne h kell aktiválni vagy ha valaki tudna másik jó compiler-linkert ajánlani megköszönném.

   
Mystro - Tag | 60 hsz       Online status #93067   2008.07.24 10:28 GMT+1 óra  
Kössz ezzel sokat segítettél.
   
fpeti - Törzstag | 1295 hsz       Online status #93061   2008.07.24 08:29 GMT+1 óra  
Dialógusablakot a solution exporerben is simán hozzá lehet adni resource-ként, jobbgomb-add-dialog, majd lehet szerekeszteni, gombokat meg mindent pakolgatni rá.
A megjelenítéshez keress rá a modális dialógus - nem modáris, avagy 'modeless-dialog' kifejezésekre, a kettő között kb az a különbség, hogy az elsőből ki kell lépni, ha vége a bevitelnek, a másik, meg mint egy toolbox, mindíg legfelül marad.
Itt egy prog.hus cikksorozat 1-dik része (vc6-ra, lehet van újabb is, én annó ebből nyomtam..)
http://prog.hu/cikkek/400/Visual+C+alapok.html
Ez MFC-vel csinálja, nem a legáttekinthetőbb az mfc, de az alapok nem nehezek annyira.
Ezenkívül minden meg lehet csinálni az mfc nélkül is, ez ha sima win32 projekbe akarsz pár ablakot, akkor kicsit még macerásabb, de ez csak akkor éri meg, ha nem kell sok ablak. Mondjuk csak 1 fileopensave ablak kell egy plain win32-es d3d-s alkalmazásba.
Egy full ablakozós progi, mint amilyenek általában az editorok, nagyon sok extra munka lenne, arra tényleg jobb az mfc.
http://www.winprog.org/tutorial/
- ebből mondjuk jól meg lehet érteni az alapokat, mert mindent magunk csinálunk... csak idejétmúlt módszer.
   
Mystro - Tag | 60 hsz       Online status #93033   2008.07.23 13:54 GMT+1 óra  
Már van a programnak menüje meg hasonlók, "Fájl / Új" menüpontra kattintva akarom hogy bejöjjön egy dialog box amiben vannak paraméterek ami alapján létrehoz egy üres felületet (ez egyébként egy map editor lenne), csak nemtom hogy milyen módon adjak hozzá dialog box-ot a projecthez és hogyan nyissam meg mikor rákattintok a menüpontra és hogy hogyan lehet visszakapni a paramétereket amit beírtam a dialog box-ba.


(http://mystro.try.hu/progi.JPG)
   
gaborlabor - Moderátor | 4449 hsz       Online status #93029   2008.07.23 13:39 GMT+1 óra  
igen sokféle megoldás létezik GUI-val rendelkező progi készítésére....
Windows Forms, GTK, Qt, stbstb
olvasd el ezt:
http://prog.hu/tudastar/85833/Visual+Studio+2008+C+GUI.html

   
Mystro - Tag | 60 hsz       Online status #93027   2008.07.23 13:31 GMT+1 óra  
ezzel a válasszal 1mp alatt többet tanultam mint 4 óra googlezéssel

valakinek vmi ötlet?:
Visual studioban hogy kell csinálni olyan dialog box-ot ami gombnyomásra előjön és pár textbox meg lista meg checkbox van és ezeknek az értékét adja vissza a programnak?
   
gaborlabor - Moderátor | 4449 hsz       Online status #93023   2008.07.23 12:52 GMT+1 óra  
"mindent amit rajzolok vele, képpontonként kell megrajzolni?"

Nem. (Jézusooooom, azt még turbo pascalban sem pixelenként kellett. )

   
Mystro - Tag | 60 hsz       Online status #93018   2008.07.23 11:46 GMT+1 óra  
Hali

Visual studioban hogy kell csinálni olyan dialog box-ot ami gombnyomásra előjön és pár textbox meg lista meg checkbox van és ezeknek az értékét adja vissza a programnak?

esetleg ha valaki jártas sdl-ben:
mindent amit rajzolok vele, képpontonként kell megrajzolni? pl ha négyzetet akarok, csináljak egy olyan függvényt ami négyzetet rajzol képpontonként?
   
dvorgaz - Törzstag | 576 hsz       Online status #92480   2008.07.15 05:14 GMT+1 óra  
Van nekem egy osztályom ami ebből van leszármaztatva. Ennek ugye van egy protected ms_Singleton nevű tagváltozója, de ezt miért nem tudom elérni az én osztályomból? Az egyik metódusához kéne, egy olyan függvény ami megsemmisíti ezt a singletont.

ui: valami olyat ír, hogy az ms_Singleton nincs deklarálva

Ezt a hozzászólást dvorgaz módosította (2008.07.15 05:44 GMT+1 óra, ---)
   
dvorgaz - Törzstag | 576 hsz       Online status #92296   2008.07.12 03:56 GMT+1 óra  
Köszi a választ, végülis átraktam azt két változót a .h-ból a .cpp-be, így lefordult (arra két változóra csak a UnitFactory.cpp-ben volt szükség).

ui: már csak azt kéne kitalálni, hogy tudnám őket berakni abba a namespace-be a mi a .h-ban van deklarálva

Ezt a hozzászólást dvorgaz módosította (2008.07.12 04:31 GMT+1 óra, ---)
   
Matzi - Szerkesztő | 2526 hsz       Online status #92295   2008.07.12 03:49 GMT+1 óra  
Ha jól látom, ezek itten globális változók, és amikor kéthelyre belinkeled, kétszer jönnének létre. A védelem csak arra jó, hogy egy ágon nem deklaráld kétszer ugyanazt, külön ágon szabad (classt és fv-t), szóval ez így biztosan nem lesz jó, mert ez változó, csináld azt, hogy ha több helyen kell, akkor az egyik helyen deklarálod, a másik helyen meg csak egy extern-t írjál be. Elvileg így jó lesz.

Pl:
source1.c:
CVehicle* entity = 0;

source2.c:
extern CVehicle* entity;
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
dvorgaz - Törzstag | 576 hsz       Online status #92294   2008.07.12 03:30 GMT+1 óra  
Hello
Van a következő header fájlom:

Kód:
UnitFactory.h:
-------------------------
namespace Units
{
CVehicle* entity = 0;
unsigned int entityID = 0;
// plusz néhány függvény...
}


Aztán ez be van include-olva a UnitFactory.cpp-be (ebben van ugye az implementáció), és a PlayState.cpp-be (mer itten szükség lenne rá), máshol nincs beinclude-olva. Az összes header fájlon van include guard, szóval nem lehetn(ne) őket többször beszúrni.
Viszont fordításkor mégis ezt a hibát kapom:

Kód:
1>UnitFactory.obj : error LNK2005: "class CVehicle * Units::entity" (?entity@Units@@3PAVCVehicle@@A) already defined in PlayState.obj
1>UnitFactory.obj : error LNK2005: "unsigned int Units::entityID" (?entityID@Units@@3IA) already defined in PlayState.obj
1>..\bin\Debug\Shmup.exe : fatal error LNK1169: one or more multiply defined symbols found


Ez mitől lehet?
   
Carlos - Törzstag | 497 hsz       Online status #92276   2008.07.11 15:55 GMT+1 óra  
Idézet
fpeti :
Mai napig megy a directdraw, nemrégen minigame-re DirectDraw2-vel csináltam kis gémet, csak nem fejlesztik, de ami megvan DD7-ig, működik... nem ott lesz a hiba, de egy sorból igen nehéz kitalálni, az biztos.



Jogos.

Idevágó - és talán a megoldás is itt bújkál valahol:
http://www.prog.hu/tudastar/28182/DirectX+DirectDraw+kerdes.html
Only a Sith Speaks in Absolutes
http://www.nyisztorkaroly.org | iPhone apps: http://apps.nyisztorkaroly.org
   
Carlos - Törzstag | 497 hsz       Online status #92266   2008.07.11 13:17 GMT+1 óra  
Idézet
Asylum :
azt hiszem rájöttem a kerekitési hibák okára
csak ugy példaképpen a 0.5 binárisan igy néz ki: 0.1
normalizálva 1.0 * 2^-1

ebböl lesz egy elöjel bit, ami most 0 mert pozitiv,
egy exponens -1 + 127 = 126
és egy mantissza ami végig 0 (normalizált bináris fromában a törtrész).

na oké mi a helyzet az 1.1 el? nem is olyan trivi mi? probaképpen ki printeltem, a következö bináris formát kaptam:

Kód:
0|01111111|00011001100110011001101


tehát 23 bit van arra hogy valahogy kihozza a gép a 0.1 et ilyen törtek összegeként...ellenörizni nem tudtam hogy jó-e mert a számologépem kiakadt.

tehát valószínűleg nem pontosan 0.1 van a mantisszában, hasonloan egy csomo más tört elöállitásával is ilyen gondok lehetnek...


Erről írtam anno a Gyakorlati C++-ban (5.8 Példaprogram: decimális egész és lebegőpontos számok bináris ábrázolása):
"A lebegôpontos érték konverziója jól példázza, amit a 5.7.2 fejezetben megemlítettem: a korlátozott bitszám adta véges pontosság miatt – és bizonyos esetekben ettôl függetlenûl is - nem minden esetben valósítható meg a decimális törtek pontos bináris ábrázolása."

A példaprogram a következő eredményt adta az 0.1-re:
Kód:
Kerek egy tortet:
0.1
(1).100110011001100110011001100110011001100110011001 x 2 E -4
IEEE szabvany szerinti gepi abrazolas
S[0]E[01111111011]M[1001100110011001100110011001100110011001100110010000]

A szam pontos abrazolasahoz a dupla pontossagu lebegopontos formatum (double) SEM ELEGSEGES!


Hamarosan felrakom cikként a honlapomra.
Only a Sith Speaks in Absolutes
http://www.nyisztorkaroly.org | iPhone apps: http://apps.nyisztorkaroly.org
   
fpeti - Törzstag | 1295 hsz       Online status #92265   2008.07.11 13:14 GMT+1 óra  
Idézet
Carlos :
Amennyiben DDraw függőségeid vannak, és frissítetted a DirectX-et, akkor érthető, hogy nem működik. A DirectDraw nem támogatott a DirectX8 óta - itt történt egy szemléletváltás, és a 2D-t is 3D-ben valósítják meg (DDraw helyett etxtúrázott quad + ortografikus vetítés, ID3DXSprite stb.).



Mai napig megy a directdraw, nemrégen minigame-re DirectDraw2-vel csináltam kis gémet, csak nem fejlesztik, de ami megvan DD7-ig, működik... nem ott lesz a hiba, de egy sorból igen nehéz kitalálni, az biztos.
- tényleg jobb ogl-t, sdlt, flasht, akármit használni, azok menők, plusz vannak még hozzá tutorok, és sokkal többet tudnak.
   
Carlos - Törzstag | 497 hsz       Online status #92264   2008.07.11 12:58 GMT+1 óra  
Idézet
dvorgaz :
Lehet valahogy egy std::list-ból törölni (erase-elni) egy elemet, miközben épp végig iterálok rajta?
Ugye az a gond, hogy a törlés után az iterátor érvénytelenné válik, aztán már nem tudok továbblépkedni rajta, az meg fontos lenne, hogy csak egyszer kelljen végigmennem rajta, és közbe kiszórni a feleslegessé vált elemeket.
Próbálkoztam ilyen második iterátorral ami azelőző iterátort "jegyzi meg", meg azzal, hogy a frissen törölt elem iterátorát csökkentettem (iter--; ) de mindkettő vmilyen exceptiont dobott.


Ajánlom figyelmetekbe ezt a jó kis szakmai honlapot, valódi kincseket rejt!
Ja, és a válasz a kérdésre (de rég volt!):
http://nkari.uw.hu/forum/viewtopic.php?t=38
Only a Sith Speaks in Absolutes
http://www.nyisztorkaroly.org | iPhone apps: http://apps.nyisztorkaroly.org
   
Carlos - Törzstag | 497 hsz       Online status #92263   2008.07.11 12:48 GMT+1 óra  
Idézet
gaborlabor :
Frissen telepített visual studio 2008 professional ezt a hibát adja bármilyen project fordítása esetén:
Project : error PRJ0003 : Error spawning 'rc.exe'.

rc.exe-re rákerestem, nem is található a gépen, gondolom az a baja. Hogyan lehet ezt a hibát orvosolni? Az egész vs-t azért nem telepíteném újra, épp most végzett.


AVG vírusírtót használsz? Ha igen, akkor nézz be a karanténba (Virus Vault) jó eséllyel ott lesz a hiányolt rc.exe. Szabadítsd ki, és már jó is lesz minden! (Az AVG valamiért nem kedveli szegényt.)
Only a Sith Speaks in Absolutes
http://www.nyisztorkaroly.org | iPhone apps: http://apps.nyisztorkaroly.org
   
Carlos - Törzstag | 497 hsz       Online status #92262   2008.07.11 12:42 GMT+1 óra  
Idézet
Mystro :
A segédletek/programozás játékfejlesztés-ben a (C++) Foxi 2D-s programozás leckéi cikk alapján megcsináltam a directdraw 3-ig visual studio 2005-ban. Egy ideig minden normálisan ment de most fogta magát és a "directdraw nem oké" üzenettel leállt


Amennyiben DDraw függőségeid vannak, és frissítetted a DirectX-et, akkor érthető, hogy nem működik. A DirectDraw nem támogatott a DirectX8 óta - itt történt egy szemléletváltás, és a 2D-t is 3D-ben valósítják meg (DDraw helyett etxtúrázott quad + ortografikus vetítés, ID3DXSprite stb.).
Only a Sith Speaks in Absolutes
http://www.nyisztorkaroly.org | iPhone apps: http://apps.nyisztorkaroly.org
   
Carlos - Törzstag | 497 hsz       Online status #92260   2008.07.11 12:34 GMT+1 óra  
Idézet
dvorgaz :
Alkottam egy kezdetleges osztálydiagramot , csak a fontosabb dolgat írtam rá, jó pár tagváltozó/függvény lemaradt róla. A játék maga egy felülnézetes shotemup lenne, játékos repcsivel megy, jönnek fentről ellenfelek stb, meg a háttér lefele scrollozna.
...
Ez az egész persze bele lenne téve egy befoglaló osztályba, ami majd létrehozza, update-eli, ütközteti őket stb.


A létrehozást különválasztanám, és egyben összekötném egy szintérgráf vagy scenemanager feltöltéssel. Az update-et, és a render-t utóbbira bíznám.
Az ütközéskezelést szintúgy külön osztályba pakolnám, amely az egységek frissítésekor (update) kerülne képbe. Felülnézetes shoot'em'up-ról lévén szó valószínűleg felesleges térfelosztóval optimalizálni az ütközést, hiszen pár egység esetén nem számít, hogy az algoritmus O(n^2).

U.i.
Tipp: próbáltad a StarUML rendező szolgáltatását (Format->Layout diagram)? Csodákra képes!
Only a Sith Speaks in Absolutes
http://www.nyisztorkaroly.org | iPhone apps: http://apps.nyisztorkaroly.org
   
AmidaBucu - Tag | 281 hsz       Online status #92239   2008.07.11 04:14 GMT+1 óra  
Üdv! Nem tom mennyire illik ide vagy nem.
Azt szeretném tudni hogy van e valamien mód hogy egy (nem feltétlenül) x fájlból/ba hogy kell plusz saját material tagokat olvasni/irni? Lényegében csak annyi lenne hogy kéne még 2 textúraneve is. Igy mikor a blenderből kijön az n poligonu y materialu model, tuggyan hogy meik felülethez mien effekt vagy valami más kell.
Ami tönkremehet, az tönkre is megy!!!
   
Mystro - Tag | 60 hsz       Online status #92193   2008.07.10 10:44 GMT+1 óra  
A segédletek/programozás játékfejlesztés-ben a (C++) Foxi 2D-s programozás leckéi cikk alapján megcsináltam a directdraw 3-ig visual studio 2005-ban. Egy ideig minden normálisan ment de most fogta magát és a "directdraw nem oké" üzenettel leállt és a vs ezt a sort jelöli hibának a RAJZ::rajzol definiálásában:
Kód:
hr=mut->Blt(&c,kepek[fsurf].kep,&f,DDBLT_KEYSRC | DDBLT_WAIT,0);

de fogalmam sincs hogy mi a baja, csak másik képet töltöttem be és egy ideig normálisan ment és egyik debug-nál elkedte ezt csinálni.
Mi lehet a baja?
   
gaborlabor - Moderátor | 4449 hsz       Online status #92171   2008.07.10 05:53 GMT+1 óra  
Frissen telepített visual studio 2008 professional ezt a hibát adja bármilyen project fordítása esetén:
Project : error PRJ0003 : Error spawning 'rc.exe'.

rc.exe-re rákerestem, nem is található a gépen, gondolom az a baja. Hogyan lehet ezt a hibát orvosolni? Az egész vs-t azért nem telepíteném újra, épp most végzett.

   
Robsoft - Tag | 345 hsz       Online status #92062   2008.07.07 13:37 GMT+1 óra  
Alap tervnek szerintem jó. Később ha menet közben valami nem jön be, akkor az adott részt áttervezed és újra kódolás. Az a baj ezzel a star UML-el ez nehézkes, talán jobb lenne valami IDE-be integrálható UML eszköz, vagy a sima VC++ class designer.
 
Blog
 
   
TPG - Tag | 3402 hsz       Online status #92052   2008.07.07 11:29 GMT+1 óra  
Jaja, a diagramm alapján nekem úgy tűnt hogy az alapelvek szépen be vannak tartva, innentől kezdve már az a lényeg hogy mennyire kényelmes az egészet használni. Az meg használat közben derül ki, előre nem nagyon jósolható (és személyenként változik az hogy mi a kényelmes).
Reality is almost always wrong. - House

   
Matzi - Szerkesztő | 2526 hsz       Online status #92048   2008.07.07 11:06 GMT+1 óra  
Szerintem valósítsd meg, és majd kiderül, hogy működik e, vagy valamit kihagytál. A szeméyles tapasztalatot nehezebb átadni, mint megszerezni. Pláne ilyen kérdésben, ez túl átfogó, ahhoz, hogy egy röpke átnézéssel érdemi tanácsot lehessen adni. Szerintem.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
dvorgaz - Törzstag | 576 hsz       Online status #92033   2008.07.07 09:58 GMT+1 óra  
Na semmi vélemény?
   
dvorgaz - Törzstag | 576 hsz       Online status #91951   2008.07.06 13:05 GMT+1 óra  
Alkottam egy kezdetleges osztálydiagramot , csak a fontosabb dolgat írtam rá, jó pár tagváltozó/függvény lemaradt róla. A játék maga egy felülnézetes shotemup lenne, játékos repcsivel megy, jönnek fentről ellenfelek stb, meg a háttér lefele scrollozna.
A képen látható modell meg úgy működne, hogy lennének entitások, ezekben van egy controller, ami mozgatja/forgatja őket, meg kezeli a fegyverzetüket. Ez teheti user input alapján (játékos), vagy vmi script alapján (ellenfelek). A collision modellt előbb bemutattam. A vehicle osztály valósítaná meg a játékos és az ellenfelek repülőit, ezekbe lenne egy vagy több weapon, ami annyit művel, hogy a bulletmanagernek szól, hogy ilyen-olyan lövedékeket hozzon létre, meg a fegyver egyéb tulajdonságait kezeli (előző lövés óta eltelt idő, lőszer stb). A stage osztály az csak a háttérben scrollozó pálya.

edit: Kifelejtettem a composite vehicle-t, ez egy olyan ellenfél aminek több alkatrésze is van, pl egy csatahajó, és az ő ágyútornyai amik külön életet élnek, saját controller scriptjük, fegyvereik, hitboxaik vannak.
Ez az egész persze bele lenne téve egy befoglaló osztályba, ami majd létrehozza, update-eli, ütközteti őket stb.

edit2:bocs a percenkénti szerkesztésért, együltembe nem tudtam megfogalmazni

Szóval kíváncsi lennék a véleményetekre erről a modellről.

Ezt a hozzászólást dvorgaz módosította (2008.07.06 13:22 GMT+1 óra, ---)
   
Matzi - Szerkesztő | 2526 hsz       Online status #91946   2008.07.06 12:55 GMT+1 óra  
Jah, ilyen pattern van is. Bár az entitásoknál talán valami öröklődés szerencsésebb lenne, mert akkor nem elhagyható, így meg ugye tök független. Bár cserélhető, csak körülméynes. Szerintem.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
dvorgaz - Törzstag | 576 hsz       Online status #91945   2008.07.06 12:52 GMT+1 óra  
Na az az ötletem támadt, hogy a játékbeli entitásaimban (mondjuk IEntity osztály) lesz egy ICollisionModel tagváltozó, ami az entitás fizikai kiterjedését írná le (pl AABB, gömb, akármi méretei), és lenne valami singleton CollisionManager osztály aminek meg van egy collide függvénye. Na most ez azt csinálná, hogy két entitás CollisionModeljét elkéri, azt ő maga elvégzi az ütköztetést, így az egész ütközésvizsgálat megvalósítása függetlenné válna a modell többi részétől, akár ki is cserélhetném a CollisionManagert PhysiXről ODE-re vagy mittomén. Mi a véleményetek erről a megoldásról? Csak most kezdem kapisgálni az OOP lényegét, sz'al kíváncsi lennék jó úton haladok-e.
   
dvorgaz - Törzstag | 576 hsz       Online status #91920   2008.07.06 09:27 GMT+1 óra  
Köszi, lehet hogy akkor inkább PhysX-el számoltatom az ütközést, annyira úgy sem értek ehez.
   
TPG - Tag | 3402 hsz       Online status #91919   2008.07.06 09:14 GMT+1 óra  
A PhysX-ben külön meg van írva minden ütközése mindennel, nagyobb fizikai engine-eknél ezt sztem így szokás. Annyi a baj vele hogy már kevés számú testtípusnál is ronda mennyiségű vizsgálattípust kell megírni. Switch-elést sztem ki lehet kerülni, megírod az ütközésvizsgáló fv-ket úgy, hogy a visszatérési típus meg a paraméter lista is ugyanolyan legyen, így be tudod a függvények címeit vágni egy tömbbe. Ezután az ütközéstípusokhoz ID-ket rendelsz amivel az előző tömböt indexeled. Én spec 2D-s tömböt használnék, az egyik index az egyik ütköző test ID-je lenne a másik index a másiké, így lenne talán a legegyszerűbb és a leggyorsabb is.
Reality is almost always wrong. - House

   
Asylum - Törzstag | 5484 hsz       Online status #91916   2008.07.06 09:05 GMT+1 óra  
hát ütközésvizsgálatnál szerintem olyat nem szoktak hogy box egy kapszulával..el kell dönteni, hogy vagy minden box, vagy minden kapszula de kombinálni nem kéne.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
dvorgaz - Törzstag | 576 hsz       Online status #91915   2008.07.06 08:59 GMT+1 óra  
Hogy szokás ütközésvizsgálatnál két tetszőleges test ütközését megvizsgálni? Mindenképp kell valami switch() elágazás? Mert ha több különböző módon megadott test van, az így elég sok kombináció lehet, azt meg így switchelni elég favágó módszernek tűnik.

(pl. egyik egy AABB a másik meg egy gömb, de akár lehetne egy kapszula is)
   
ShAdeVampirE - Törzstag | 1313 hsz       Online status #91062   2008.07.01 13:23 GMT+1 óra  
Azt sem lehet h törlés előtt elmented a következő iterátort? (mármint ami a következő elemre mutat) -> ez is exception-t dob?
   
Asylum - Törzstag | 5484 hsz       Online status #91025   2008.07.01 11:37 GMT+1 óra  
http://www.sgi.com/tech/stl/remove.html

sajnos a magam kárán jöttem rá én is.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Frissebbek | Korábbi postok
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] [25] [30] [35] [40] [45] [50] [55] [60] [65] [70] [75] [80] > 85 < [90] [95] [100] [105] [110] [115] [120] [125] [130] [135] [140] [142]