Hio Leute,
ich möchte mal mein Projektvorsten von dem ich wenn es keine Probleme gibt und es auch mit der schule unter einen Hut zubringen ist^^ eine Eingen-Demo sprich ohne Storry und schnickschnack in ca. 4-5 monaten veröffentlichen.
Es wird ein Rollenspiel welches man am besten mit Ultima 2-6 zu vergleichen ist. Die Kacheln sind noch nicht die entgültigen da ich alles selber machen muss. Außerdem muss ich darauf achten den Computer nicht in die Knie zu zwingen^^.
hehe da ich soviele schöne grafiken nehme nagt das zimmlich an der leistung -.-. Es wird vollstöndig mit der Tastatur gespielt (kommplet ohne maus) und wird mit eingabe von befehlen gesteuert, naja wer ultima gespielt hat kennt dat ja naja bewegen tutt man schon mit den Pfeiltasten^^
Screenshot:
mfg artus
Moved by NicTheQuick: Das gehört nicht ins "Ankündigungen"-Forum
Danke^^, uns Sorry habs wohl ins falsche forum gepackt das man es verschoben hatt. Falls ihr Fragen habt nur raus^^ hab auch nen editor programmiert^^ (beim editor hat mir leo zum teil geholfen, Danke Leo^^) Es wird nicht die Grafik sondern Die Welt und ihre Geschichte im Vordergrund stehen. Un meiner meinung nach macht das ein gutes spiel aus. Da gibt es auch ne menge beispiele^^ da währe Gothic 1,2 Ultima 1-9 usw. Ich hab außerdem ein problem wenn ich die karte größer als 100 mal 100 mache ruckelts -.- muss ich mir wohl noch was einfallen lassen was^^ den die Weltkarte soll später riesig werden ^^ naja wenn ihr fragen habt nur raus^^.
Der ultimative Performance-Tipp schlechthin: Vermeide alle(!) 2D-Drawing-Befehle!
So kannst du wahnsinnig viel Geschwindigkeit herausholen, wenn kein einziges StartDrawing() in deinem Code vorkommt. Es ist so, glaube mir! Der Befehl und alle 2DDrawing-Operationen, besonders "DrawText()" sind enorme Geschwindigkeitsbremsen. Da reicht schon folgender Code, um einen Geschwindigkeitseinbruch von 30-40% zu erzielen:
Schaue auch hier: http://forums.purebasic.com/german/view ... c&start=10
Am besten du machst dir einen Bitmap-Font und gibst den Text damit aus. Und auch ansonsten gilt: Alles über Sprites regeln! Blos nicht auf die Idee kommen, irgendwelche Box()- oder Line()-Befehle zu verwenden...
ok, werd ich versuchen mal umzusetzen vielen Dank^^ hehe hab nähmlich zimlich viele Drawing befehle drin^^ danke für die tips aber ich weis nich ob sich das alles mit einer BitmapFont machen lässt und ich weis auch nich genau wie ich das umsetzen soll -.-
werde mal nen screenshot dämnächst vom editor posten wenn ihr wollt^^
mfg artus
Das mit dem Bitmap-Font ist eigentlich überhaupt kein Problem. Es ist allerdings von Vorteil, wenn Du Buchstaben malst, die alle die gleiche Breite haben.
Dann machst Du Dir einfach eine Funktion, die das Bitmap-Font-Sprite erstmal an der richtigen Stelle clipt, indem Du per Mid() immer den aktuellen Buchstaben aus dem zu schreibenden String ausliest, dessen ASCII-Code ermittelst per Asc() und dementsprechend ausrechnest, an welcher Stelle geclipt werden muß. Dann zeichnest Du das Sprite einfach und der nächste Buchstabe ist dran...
Wenn Dir das nicht weiterhelfen sollte, sag bescheid, dann schreib ich Dir gern auch die Funktion
Wenn man das was du da beschrieben hast mit Pointern machst, ergibt
sich bei mir ein Gewinn im Speed von bis zu einer Sekunde! Hier mal ein
kleiner Code:
Sag mal kann es sein das du die komplette Karte permanent zeichnen lässt, also diese 100*100 Tiles auch die die sich ausserhalb des Bildschirms befinden ???
Wenn dies so ist dann begrenze das Anzeigen auf die die sich innerhalb des Bildschirms befinden, denn normalerweise geht PB da nicht in die Knie eine Handvoll Tiles auf den Bildschirm zu zeichnen.
Was die Bitmap Font Routine angeht, kannst du dir ja mal meine UserLib ansehen da schreibst du mit nur folgendem kurzen Code deine Texte.
Dabei gehts automatisch Zentriert ,Links oder Rechtsbündig