Aktuelle Zeit: 21.09.2019, 13:12

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 33 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3  Nächste
Autor Nachricht
 Betreff des Beitrags: Re: 2D map mit iso ansicht
BeitragVerfasst: 10.01.2011, 13:54 
Offline

Registriert: 08.01.2011, 19:18
Beiträge: 23
Schaue mir das dann heute Abend wenn ich daheim bin mal an :)
Danke aufjedenfall schon mal^^

Werde hier dann aber sicherlich immer mal zwischendurch wieder den fortschritt bekunden und evt. auch noch die eine oder andere Frage haben lach


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: 2D map mit iso ansicht
BeitragVerfasst: 10.01.2011, 13:54 
Offline
Benutzeravatar

Registriert: 17.04.2007, 08:42
Beiträge: 460
Wohnort: Willich, NRW
Immer zu, dazu sind wir ja da ;)

_________________
Bild

Irrlicht - From Noob To Pro A Guideline

--

Sonstige Projekte, Blog : http://www.rpdev.net


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: 2D map mit iso ansicht
BeitragVerfasst: 11.01.2011, 10:18 
Offline

Registriert: 08.01.2011, 19:18
Beiträge: 23
So habs mir ma angeschaut :)

Werde mir wohl auch mal nach deiner interface vorlage einen "mapeditor" bauen :D
Bzw. die ganze Gestaltung der map etwas umbauen unter einbeziehung deiner Anmerkungen...

Wobei es ja eher allgemein ein "scene Manager" werden sollte wo ein teil halt auch maps sind..oder liefert irrlicht sowas schon mit...?^^

Du hast in deinem interface ja eine Klasse die die map in eine xml-Datei schreibt.
Ist das denn sonderlich sinnvoll?
Wenn ich jetzt eine vorgegeben Karte haben möchte kann der endnutzer die ja extrem einfach modifizieren, habe mir dazu auch mal den aufbau der xml datein aus deinem rpgbomber angeschaut, da werde ich wahrscheinlich auch direkt über stock und stein gehen können sobald ich die 1 genullt habe, oder?

Also ist meine Frage an dieser eigentlich eher: Wie kann ich Datensätze sinnvoll speichern? Das meint zum einem die Maps und zum anderen die Spieler klasse (werte des spieler persistieren, sprich skills & so).
Das ist auch gerade in Bezug auf netzwerkfähigkeit intressant...

Die zweite Frage für heute ist: Gibt es gute Benchmark tools für Irrlicht bzw. allgemein für diesen Anwendungszweck? Wäre ja schon intressant was welche Änderung letztendlich wirklich bringt :)

Als letztens, rpgbomber klappt grad hier leider nicht, kanns so nicht starten...und die bash kann damit auch nichts anfangen.
Ist en ArchLinux aber das sollte ja eig. keine Probleme machen, dein kleine .sh script bringt da leider auch nichts (naja...der inhalt hat auch nicht so wesentlich viel anders gemacht als ch so in der bash lach).
Spontan irgend ne Idee?


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: 2D map mit iso ansicht
BeitragVerfasst: 11.01.2011, 11:21 
Offline
Benutzeravatar

Registriert: 17.04.2007, 08:42
Beiträge: 460
Wohnort: Willich, NRW
1.: Das mit dem ändern habe ich mir auch gedacht und dann in unserem Team diskutiert. Hab mich dann für XML entschieden, weil es eben von Irrlicht bestens unterstütz wird. Du kannst es ändern das ist schon richtig, aber es gibt dafür ganz gute Argumente:

I. Wenn jemand was ändern will, wird er es auch schaffen, zur Not mit ResHacker. Dann kann er jedes Bit auslesen und verändern. Warum also die Mühe machen. Ich werd niemanden dran hindern, sondern es nur erschweren können.

II. Wer was ändern will: Selbst Schuld! Was bringts dir, durch Stock und Stein laufen zu können. Viel merh Spielvergnügen wirst du dadurch nicht haben, eher andersrum. Wenn du dir das Spiel schön cheaten willst bitte sehr, aber mecker dann nicht drum, dass du keinen Spaß dran hast ;D

Ansonsten schreibst du dir nen eigenen Exporter (kannst den auch bitweise codieren, damit hälst du zumindest ab, die keine Ahnung haben was ein ResHacker ist). Oder schaust mal was so aufn Markt ist. Irrlicht kann ja Zip (sogar verschlüsselt) laden. Schieb alles in ein Zip-Archiv, verschlüssel das und lass es von Irrlicht als "Karte" laden. (Eine von vielen Möglichkeiten)

2.: Denke schon, wüsste jez aber auf die schnelle keins. Zur Not selber machen ;) Wenns nur darum geht, was welche Änderung bringt, reicht eine Eigenkreation aus, es seidenn du willst auf Nanosekunden optimieren^^

3.: Ähm am besten mal Output von der Konsole mir zu schicken (stefan@rpdev.net) und falls es startet und abstürzen sollte dann bitte auch die data/log.txt zu schicken. Werds dann an den Linuxfachmann weiterschicken, der würde sich das je nach seiner Auslastung zeitnah anschauen. Wurde erfolgreich auf Ubuntu und Fedora mit jeweils KDE getestet. Worans genau bei Arch liegt werden wir dann hoffentlich bald sehen.

Grüße heck

_________________
Bild

Irrlicht - From Noob To Pro A Guideline

--

Sonstige Projekte, Blog : http://www.rpdev.net


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: 2D map mit iso ansicht
BeitragVerfasst: 11.01.2011, 12:03 
Offline

Registriert: 08.01.2011, 19:18
Beiträge: 23
Zu Punkt 1: Naja, wenn man es halt zu einfach macht ist die Versuchung natürlich größer/leichter. Wenn man es nur schafft mit großem Aufwand und etwas tiefergründigen Kenntnissen hat man normal schon kb mehr :D
Aber wie gesagt würde mich das auch eher in Bezug auf die netzwerkfähigkeit intressieren, nehmen wir mal ein klassisches RPG (da wir ja eh grad dabei sind), wir speichern also den Held in ner xml klasse ab aber weil wir so unwahrscheinlich cool sind kann man natürlich das game auch mit jemandem über an spielen um ein klassiches PvP zu haben.
Hier ist es ja schon ziemlich blöd wenn die jeder depp mal eben ändern kann, wenn ich dann halt dauernd verliere setz ich mir grad in der xml meine skills hoch und bin Gott...

Wenn wir schon dabei sind: Wie machen das klassische mmorpg's? Speichern die den ganzen Kram einfach auf nem server was spielstände/maps/etc angeht oder wie läuft das dann?
(würde ja auf den server tippen, da ists auch eig. total egal wie die gespeichert werden wenn der richtig konfiguriert ist ?weiß nur nicht ob das (so einfach) geht^^).

II: Naja, ich will nicht unbedingt auf nanosekunden optimieren, obwohl, eigentlich schon :D:D
Hier gehts mir eig. mehr darum zu sehen was wirklich besser/weniger gut ist, es würde anfangs natürlich so grobe sachen sein wie: "Was machen 2/5/10/50/100 draw's für Unterschiede" aber dann auch einfach nur ganz kleine Sachen.
Auch wenn natürlich die 2-3nanosekunden nicht wirklich was bringen finde ich es gut zu wissen was wie viel ausmacht, und wenn es halt nur nanosekunden sind :D

III: Okay zugegebn, der Fehler ist relativ eindeutig :D Habs eben nicht soo...sorgfältig gelesen *hust*
Code:
error while loading shared libraries: libSDL_mixer-1.2.so.0: ca

Nur öhm....wieso? xD
(Es kommt erst gar nicht dazu das die log-file angelegt wird...)

Werde es dann nachher noch auf meinem Ubuntu versuchen...also wenn ich dazu heute Abend komme xD
...sollte aber daran keinen Unterschied machen, die sind sich ja schon...recht ähnlich...ein bisschen.

Und damit es nicht langweilig wird: Timed der timer eig. richtig? :D:D
also kann ich mich darauf verlassen?
Wie du weißt wird ja vom timer ausgehend alle 0.010sec's ein "schritt" gemacht, mir kam es aber eben wo ich das mal auf einem deutlich schnellerem rechner ausprobiert habe so vor als würde sich die Figur deutlich schneller bewegen oO
Also wenn ich mir den timer ausgeben lasse, sind dann wirklich 10sekunden immer 10 sekunden?
...weil ma ja z.b. auch quests aufgrund diesen timers aufbauen würde oder so...
Okay die antwort ist eh "Ja der timer timed richtig" (so ein geiler satz lach) aber...wollt das mal ansprechen xD


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: 2D map mit iso ansicht
BeitragVerfasst: 11.01.2011, 19:32 
Offline
Benutzeravatar

Registriert: 17.04.2007, 08:42
Beiträge: 460
Wohnort: Willich, NRW
Zu 1.:
Also an Daten, die nicht manipuliert werden dürfen, darf kein XML ran, das ist klar. Wenn wir hier von Netzwerkspielen o.ä. reden, dann wird nie und nimmer XML zum Einsatz kommen. Meine Spiele sind dafür auch nicht ausgelegt. Da wird in der Regel ein eigenes Datenformat konzipiert für den es nur den loader gibt, der von der jeweiligen Firma kommt. Bei mmorpgs werden Spielerdaten natürliuch auf dem Server abgelegt und nicht lokal beim Spieler. Shared Data wie Maps usw werden z.T. auch lokal abgelegt, da es sonst zuviel Serverauslastung gäbe.

Zu 2.:
Dann schreib sowas und wir würden es dann alle gern testen ;)

Zu 3.:
Sind die SDL_x libs bei dir alle richtig installiert? Wäre vllt sinnvoller, die mitzuliefern. Ansonsten ist der Fehler marke Eigentor. Es ist zwar ein SoundCore enthalten, der auch vollkommen funktioniert. Aber noch keine Sounds, sodass das Spiel hätte eig ohne kompiliert werden sollen. Nuja :( Dennoch wir können dann ma schaun worans liegt.

Zu 4.:
Ja das sind immer 10 Sekunden. Und trotzdem ist die Figur auf nem schnellen Rechner schneller auf nem langsameren. Und das hat nix mitm Timer zu tun. Die Figur wird framebased gerendert, leider (war nicht die klügste Idee). Müsste halt die Differenz von vorheriger fps und jetziger fps nehmen und darauf basierend die Fallunterscheidung machen. Dann wäre die Geschwindigkeit auf jedem Rechner 100% gleich. Steht schon lange auf der to-fix-Liste^^'''

_________________
Bild

Irrlicht - From Noob To Pro A Guideline

--

Sonstige Projekte, Blog : http://www.rpdev.net


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: 2D map mit iso ansicht
BeitragVerfasst: 11.01.2011, 20:05 
Offline

Registriert: 08.01.2011, 19:18
Beiträge: 23
Naja, die animationsgeschwidnigkeit habe ich jetzt glaub immer gleich, mir fehlt der direkte vergleich.

Habe jetzt einfach gesagt du renderst einfach immer dasselbe bild, das nächste bild der animation wird einfach mit dem nächsten "tick" mitgerendet ?damit sollte es ja immer gleich sein.

Die sdl's habe ich nicht installiert, natürlich nicht xD
Habs soeben bei mir daheim auf dem ubuntu versucht:
Code:
symbol lookup error: /home/benny/cwork/rpgbomber2009-0.0.0-linux-i686/share/apps/rpgbomber2009/lib/libIrrlicht.so.1.6: undefined symbol: _ZZN3irr5scene6quake318getCullingFunctionERKNS_4core6stringIcNS2_12irrAllocatorIcEEEEE


Davon abgesehen habe ich sowieso gerade noch ne Frage lach
Bin gerade dabei das etwas umzubauen:

Das entsprechende struct für die tiles sieht grob so aus:
Code:

      struct STiles
       {
           position2d<unsigned int> startPos;
           video::ITexture Terrain;
[..]

       };

//Weiter unten sag ich dann:
vector<STiles> allTiles;


Aber das mag der so irgendwie nicht, wenn ich dem vector jetzt etwas hinzufügen will gibt mir der compiler nen fehler aus:

Zitat:
error: "vector2d" has not been declared


Ist ja schön und gut..aber WTF?
Wieso soll ich vector2d declarieren? oO
Ich verwende ja so gesehen nirgends ein "vector2d"...was läuft hier falsch bzw was mache ich falsch? :D

EDIT: Letzters scheint zu gehen wenn man noch core:: angibt...mal grad schauen das ich die anderen fehler noch rausbekomme *hust*

EDIT2: Texturen so zu hinterlegen wie oben in dem struct angedeutet funktioniert nicht?!
Habe das jetzt als stringw hinterlegt aber damit habe ich trotzdem das problem das ich bei jedem durchlauf die variable anlege mit der textur was ich ja vermeiden wollte, wenn du zufällig auf anhieb weißt was an der definition oben falsch ist sag mal bescheid ansonten mach ich das noch mal und kram die fehlermeldung raus ;)


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: 2D map mit iso ansicht
BeitragVerfasst: 11.01.2011, 20:32 
Offline
Benutzeravatar

Registriert: 17.04.2007, 08:42
Beiträge: 460
Wohnort: Willich, NRW
Doch natürlich benutzst du ein vector2d! Schau mal in die position2d.h rein ;)

Code:
//position2d.h Zeile 29 Irrlicht Version 1.7.1
#define position2d vector2d


Setz einfach den namespace davor oder ganz am Anfang der Datei:

Code:
using namespace core;


Dann sollte des passen.

_________________
Bild

Irrlicht - From Noob To Pro A Guideline

--

Sonstige Projekte, Blog : http://www.rpdev.net


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: 2D map mit iso ansicht
BeitragVerfasst: 11.01.2011, 20:38 
Offline

Registriert: 08.01.2011, 19:18
Beiträge: 23
jop, habe ich gesehen..:D
nachdem ich das hier geposted habe erst die position2d.h gesehen...halt das core:: davor gesetzt und es ging.

Nur das mit den texturen so ging nicht, sprich:
video::ITexture Texture;

...da gabs irgend nen komischen fehler xD
habs wie gesagt jetzt erstma mit nem stringw gelöst was aber überaus suboptimal ist :D


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: 2D map mit iso ansicht
BeitragVerfasst: 11.01.2011, 20:44 
Offline
Benutzeravatar

Registriert: 17.04.2007, 08:42
Beiträge: 460
Wohnort: Willich, NRW
Mit nem stringw sollst du ein problem bezüglich ITexture* gelöst haben? Wtf?

_________________
Bild

Irrlicht - From Noob To Pro A Guideline

--

Sonstige Projekte, Blog : http://www.rpdev.net


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: 2D map mit iso ansicht
BeitragVerfasst: 11.01.2011, 20:52 
Offline

Registriert: 08.01.2011, 19:18
Beiträge: 23
Was heißt gelöst? xD
..umgangen...^^

Code:
      struct STiles
       {
           core::position2d<s32> startPos;
           //video::ITexture Terrain;

           core::stringw Terrain;
[..]


Somit muss man nur den pfad zur textur übergeben und dieser wird gespeichert, blöd ist nur das ich halt jetzt trotzdem die textur mit ner variablen erst angeben muss..in jedem frame -.-

Aber ich glaub ich weiß wodran das liegt...das muss wohl in jedem Fall ein Zeiger sein was es hier ja nicht ist...

Aber um ja keine langeweile aufkommen zu lassen:
Wenn ich die map jetzt in ner .xml datei speichere müsste ich die arrays ja durchlaufen und die nodes reinschreiben, habe mir das noch nicht soo genau angeschaut aber kann ich grundlegend die nodes beim einlesen nachher auch wieder dynamisch durchgehen? oO

EDIT: Naja, oder auch nicht...die funktion sieht derzeit so aus:
Code:
       void addTile(core::position2d<s32> startPos, video::ITexture Terrain, int changeInstanz, unsigned int Scuff)
        {
            STiles newTile;
            allTiles.push_back(newTile);
            allTiles[Tiles].startPos = startPos;
            allTiles[Tiles].Terrain = Terrain;
            allTiles[Tiles].changeInstanz = changeInstanz;
            allTiles[Tiles].Scuff = Scuff;
            Tiles++;
        }



Meckert der aber an das er "Terrain" nicht zu dem abstracten typ video::ITexture declarieren kann...
allTiles[Tiles].Terrain wird halt in der struct so angegeben:
Code:
video::ITexture *Terrain;


Wie muss ich das denn deklarieren damit der damit klar kommt...?


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: 2D map mit iso ansicht
BeitragVerfasst: 12.01.2011, 10:15 
Offline
Benutzeravatar

Registriert: 17.04.2007, 08:42
Beiträge: 460
Wohnort: Willich, NRW
lol^^ Dir fehlt was entscheidendes. Wie der Name schon sagt ITexture (I steht für Interface, in C++ also für abstrakte Klassen, weil wir keine Interfaces haben). Und davon kannst du keine Instanzen erstellen, sondern NUR implementieren und das machst du in dem du vom Interface erbst und die Methoden implementierst bzw. macht in dem Fall Irrlicht für dich. Wie auch immer:

Code:
ITexture Terrain;


Geht nicht!

Code:
ITexture* Terrain;


Geht aber schon! Du erzeugst einen Pointer der auf ein Objekt zeugt, was im Vererbungsbaum von ITexture enthalten ist also auch die implementierende Klasse. Weiß grade gar nicht, wies von Irrlicht intern gehandelt wird. Also den Stern dazu nehmen dann passt das. Und dann kannst du auch den Quark lassen von wegen stringwg und so ;)

Ansonsten wieso setzst du denn die Texture in jedem Renderschritt neu? Ist mir bei deinem Code schon aufgefallen. Bzw auch hier:

Zitat:
Somit muss man nur den pfad zur textur übergeben und dieser wird gespeichert, blöd ist nur das ich halt jetzt trotzdem die textur mit ner variablen erst angeben muss..in jedem frame -.-

_________________
Bild

Irrlicht - From Noob To Pro A Guideline

--

Sonstige Projekte, Blog : http://www.rpdev.net


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 33 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3  Nächste

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de