# Problem bzgl. Umsetzung eines Rollenspiel



## Slayer (2. Mrz 2008)

Guten Abend,

ich habe mir nach langem überlegen dazu entschlossen ein kleines Rollenspiel zu entwickeln...

Das Spiel soll ungefähr so werden wie die Spiele mit dem Rpg Maker.
Da die meisten sich darunter warscheinlich nichts vorstellen können, habe ich mal ein Bild angehängt, wie ich mir das ungefähr vorstelle.






Die Karte soll in gleichgroße Quadrate eingeteilt werden.
So ungefähr:





Allerdings habe ich nun ein Problem bei der verwirklichung dieser Idee.

Ich habe mir überlegt, dass ich die Karte mit einem 2 Dimensionalen Array verwirkliche...

Jetzt stehe ich allerdings vor dem Problem, dass ich nicht weiß, wie ich dafür sorgen kann, dass der Charakter immer im Mittelpunkt der Karte sein kann. Dazu muss ich die Karte ja immer neuzahlen lassen, aber das erscheint mir keine sinnvolle Möglichkeit zu sein (zumindest keine Performante).

Jemand eine Idee, wie ich das alternativ lösen könnte?


----------



## 0x7F800000 (2. Mrz 2008)

Slayer hat gesagt.:
			
		

> Jetzt stehe ich allerdings vor dem Problem, dass ich nicht weiß, wie ich dafür sorgen kann, dass der Charakter immer im Mittelpunkt der Karte sein kann.


wenn du glaubst dass dieses problem das größte bei der verwirklichung eines RPGs ist, dann irrst du dich aber gewaltig.

 Dieses Problem gehört vor allem zu der art der probleme, die erst gelöst werden können, wenn deine ganze 2D-graphic-engine praktisch funktionsfähig ist und nur noch um einige kleinigkeiten erweitert werden muss. Jetzt wird dir dazu kein mensch etwas konkretes sagen können...

Dürfte ich mal fragen was du schon alles für spiele in deinem leben geschrieben hast?


----------



## Marco13 (2. Mrz 2008)

Das Klingt ungefähr wie "Ich will ein Raumschiff bauen, das mich zum Mars fliegt, weiß aber nicht, wie ich die 'Home Sweet Home'-Fußmatte am Eingang so festtackern kann, dass sie während des Fluges nicht verrutscht".

However. 

Wenn du mit "neuzahlen" "neu zeichnen" meinst: Du wirst die Karte sehr oft neu zeichnen.

Wenn du mit "neuzahlen" sowas wie "neu aufbauen (bzw. den Array neu ausrichten und mit den aktuellen Tiles füllen)" meinst, solltest du die Frage etwas präzisieren. Wenn der Spieler genau in einer Ecke steht, wird auch auch nicht (in diesem Sinne) "zentriert" stehen können.... :? und sonst geht es dabei dann ja "nur" darum, WELCHE Tiles gerade WO gezeichnet werden...  ???:L

EDIT: Ah, OK, dass hier nicht das Problem das Problem ist, sondern das Problem eher darin besteht, dass das genannte Problem ein Problem ist, hat Andrey auch erkannt :wink:


----------



## 0x7F800000 (2. Mrz 2008)

ääähm, Marco13 sag mal bitte, was hast du für ein Problem mit dem vom OP problematisierten Problem, ich finde es äußerst problematisch aus deinem problembeladenen Beitrag das eigentliche Problem mit dem Problem herauszulesen... was wollte ich eigentlich sagen? Achso: EY HASDE EIN PROBLEM ODA WAS?  :bae:


----------



## Guest (3. Mrz 2008)

> Dürfte ich mal fragen was du schon alles für spiele in deinem leben geschrieben hast?



öhm da fällt mir spontan nur Ping Pong und eine Art Breakout (Das ist dieses wo unten dieser Stahb fährt eine) ein. :-D




> wenn du glaubst dass dieses problem das größte bei der verwirklichung eines RPGs ist, dann irrst du dich aber gewaltig



Tu ich nicht, aber momentan ist das mein Problem. 
Aber man wächst an seinen Aufgaben 



> ? Achso: EY HASDE EIN PROBLEM



Soooo viele Probleme 

Aber mein hauptproblem ist, dass ich nicht weiß, wie ich es schaffe, dass der Charakter immer in der Mitte der Karte ist und damit die Karte bei jeder Bewegung mitgeht.



> . Wenn der Spieler genau in einer Ecke steht, wird auch auch nicht (in diesem Sinne) "zentriert" stehen können....  und sonst geht es dabei dann ja "nur" darum, WELCHE Tiles gerade WO gezeichnet werden...



Genau, darum gehts   



Naja, irgendwie hab ich das ganze wohl noch nicht richtig durchdacht....

Aber danke schonmal allen, die geantwortet haben.


----------



## 0x7F800000 (3. Mrz 2008)

ja, wie gesagt, zu deinem problem kann dir immer noch keiner irgendetwas konkretes erzählen. 

Allgemein würdest du eine verschiebung von irgendwelchen sprites auf dem bildschirm durch die sogenannte _Addition_ erreichen, eine recht interessante verknüpfung, die unter anderem für ganze Zahlen sinnvoll definiert ist, und deswegen prima auf Bildschirmkoordinaten losgelassen werden kann...

Aber eins verstehe ich nicht: wie hast du denn breakout schreiben können, ohne in etwa zu verstehen wie die allertrivialste affin-lineare Abbildung (nämlich die Translation) bewerkstelligt werden kann??


----------



## Quaxli (3. Mrz 2008)

Wenn es Dir erst mal nur um das Bewegen der Karte geht, guck mal hier in den 2. noch nicht ganz fertigen Teil. Dort wird über eine Karte gescrollt bzw. die Karte unter dem Player weg. Hier ist das Ganze allerdings so gelöst, daß die Karte einfach nicht mehr weiter scrollt. Aber das könntest Du ja für ein RPG übernehmen der Außenrand der Karte, der nie betreten werden kann könnte ja Gebirge, Wasser oder ähnliches sein.


----------

