Montag, 28. April 2014

Ingame-Menüs, sowie speichern & laden von Speicherständen

Das Ingame-Menü
Ingame-Menü statt Hauptmenü:
In den letzten Tagen habe ich das Ingame-Menü, fertig gestellt. Nach dem drücken von Escape wechselt man nicht mehr in das Hauptmenü, sondern in das neue Ingame-Menü.

Bisherige Funktionen:
Dort kann man dann das Spiel speichern, einen vorhandenen
Spielstand laden oder ins Hauptmenü wechseln.
Es finden zudem Abfragen zum überschreiben eines
Dialog zum speichern eines Spielstandes.
Man kann einen existierenden überschreiben
oder einen neuen Speicherstand erstellen.
existierenden Speicherstandes und zum speichern beim beenden des Spieles statt.

Hauptmenü:
Im Hauptmenü ( dazu wird es noch einen eigenen Post geben ), kann man ebenfalls einen Spielstand laden, den letzten weiterspielen oder ein neues Spiel anfangen.

Technisches:
Das ganze läuft über eine statische Klasse.
Wenn man zum Hauptmenü zurück möchte
wird man gefragt, ob man nicht lieber
vorher speichern möchte.
Die Methoden ( Update() und Draw() ) werden nach dem drücken von Escape statt der des Gamescreens ausgeführt. Zuvor wird noch ein letztes mal der Hintergrund gerendert, als Bild zwischengespeichert und ein wenig bearbeitet.
Die einzelnen Unterpunkte ( Spiel speichern, die Abfragen, etc. ) befinden sich alle in dieser Klasse und werden durch Bool'sche Werte an/aus geschaltet, welche dann nur noch in der Update() bzw. Draw() Methode abgefragt werden.

Speicherstände:
Die Speicherstände werden verschlüsselt in den Dateien mit ihrem Namen gespeichert. Zudem sind alle Namen, sowie der Name des zuletzt gespeicherten Spielstandes ( für "Spiel fortsetzen" ), in der properties.txt aufgelistet, in der zukünftige Einstellungen gespeichert werden.

mfg
Hauke


Samstag, 19. April 2014

Umfrage: Was ist euch an einem RPG wichtig?

Hallo,

da Arengu ja immer mehr Form annimmt, habe ich mal eine Umfrage erstellt um herauszufinden, was für euch an einem RPG wichtig ist.

Hier gehts zur Umfrage ...
( english version ... )
( hier gehts zur vorläufigen Auswertung )

Mich würde es sehr freuen, wenn ihr daran teilnehmen würdet, da ich somit erkennen kann, was euch an einem Rollenspiel ( wie Arengu ) wichtig ist.

mfg
Hauke

Sonntag, 13. April 2014

Item- & Inventar-System

So, endlich habe ich das Item-System fertig, eigentlich wollte ich schon gestern  diesen Post verfassen, es kamen jedoch mehrere Bugs dazwischen. Nun jedoch funktioniert alles einwandfrei :)

Zum Inventar-System:
So sieht der GameScreen mit Inventar aus.
Momentan gibt es zwei Getrennte Inventar-Bereiche:
"Inventar" ( das normale ) und "Rucksack",
dies kann man sich später im Spiel durch
den Erwerb eines Rucksackes dazukaufen.

Inventare bestehen standardmäßig aus 10x10 Feldern, den denen die Items gespeichert werden.
Inventare werden durch die Klasse Inventory gebildet und als Array gespeichert. 

Verschieben von Items:
Jedes verschobene Item wird zunächst global ( also Inventar unabhängig ) erfasst und wenn es über einem Inventar wieder losgelassen wird, dort auch eingefügt ( sofern der Platz frei ist ).

Temporäres Inventar:
Wenn man Items außerhalb eines Inventares loslässt, so wird es in das so genannte temporäre Inventar verschoben.
Dies dient dazu z.B. aufgenommene Items ersteinmal zwischen zu lagern um sie dann richtig aufzunehmen. Auch kann man damit ein vollen Inventar leicher sortieren, indem man zwischenzeitlich Platz schafft.
Man sollte jedoch beachten, dass das temporäre Inventar beim laufen geschlossen wird!

Aufgenommene oder weggeworfene Items
erscheinen zunächst im "Temporären-Inventar".
Vergleich von Items:
Wenn man zwei Items vergleichen möchte, so kann man ein Item anklicken und mit der Maus über ein anderes gehen, dann werden diese direkt miteinander verglichen.
Die Werte des zuletzt ausgewählten Items stehen dabei in Klammern.
Schlechtere Werte werden rot und bessere grün angezeigt.

Items können direkt miteinander verglichen werden.
Vergleiche können Inventarübergreifend geschehen,
zudem kann man den Inventar-Bereich
nach oben/unten verschieben.











Features im Überblick:
  • Verschieben ( inner- und außerhalb des Inventars )
  • Temporäres Inventar zum Aufnehmen und sortieren von Items
  • Vergleich von Items
  • Mehrere Inventare, sowie die Möglichkeit neue durch Kauf dazu zu erwerben




Item-System:

Arten von Items:
Bisher gibt es 17 Kategorien an Items:
  • Einhand-/Zweihandwaffe ( Klinge )
  • Bogen, Pfeil
  • Axt, Streitkolben ( beides Zweihand )
  • Handschuh
  • Armpanzer
  • Kopfbedeckung
  • Brust- & Beinpanzer
  • Schuh
  • Schild
  • Rune, Trank
  • Schmuck, Kleidung
Speichern und Verwalten: 
( verändert übernommen von vorherigem Post )
Alle Items werden bei Spielstart einmal erstellt und in der Klasse ItemLibrary als Array gespeichert, dadurch wird weniger Speicherplatz benötigt als wenn man jedes Item im Spiel einzeln erstellt. Jedes Item hat somit eine Nummer ( ID = Index des Arrays ) mit der man dieses Item aufrufen kann ( um es zu zeichnen, etc. ).
Die Items ( bzw. deren IDs ) werden daher als Integer-Liste - Inventory.Items<int> - gespeichert, wo auch die Position der Items im Inventar ( welches Feld ) als Liste gespeichert ist ( Inventory.ItemPosition<Vector2> ). 
Gezeichnet wird jedes Item dann wieder über die Item Klasse ( Aufruf durch ItemLibrary.Item[Inventory.Items[ItemNumber]].Draw(SpriteBatch);, so einfach ist das ;) ).
Eventuell steige ich später auf eine Datenbank oder andere externe Dateien um ( um eigene Items zu ermöglichen ) aber zum testen bleibt es erstmal intern.

Bei Eigenschaften der Items erscheint ein Popup.
Eigenschaften von Items:
Jedes Item hat dieselben Eigenschaften!
Eine Hose hat also, genau wie ein Schwert, die Eigenschaft "Schaden", wobei der Wert bei 0 liegt ;)
Insgesamt gibt es folgende Eigenschaften:
  • Kauf- & Verkaufpreis
  • Schaden
  • Rüstung
  • Extra Leben
  • Extra Mana
  • Extra Ausdauer
  • Extra Geschwindigkeit




Was als nächstes kommt:
  • Neues Hauptmenü ( neuer Hintergrund, Animation, Schrift, etc. )
    • Lademenü zum Laden eines Spielstandes
    • Einstellungen
  • Bereich für Spielerinformationen
  • Eventuell: Ein ins Spiel integrierter Map-Editor ( statt des momentan externen Editors ), bzw. zumindest der Anfang davon.

Über Kritik, Anmerkungen und generelles Feedback würde ich mich sehr freuen, vielen Dank!

mfg
Hauke

Dienstag, 8. April 2014

Windows XP Support beendet; Zwischenstand zu Ver. 0.0.3

Nach 12 Jahren, 5 Monaten und 14 Tagen hat Microsoft den Support für Windows XP offiziell beendet, auch wenn dieser Zeitpunkt schon seit langem bekannt ist, laufen noch 75% aller im Bundestag befindlichen Rechner mit Windows XP.England bezahlt Microsoft sogar 6,5 mio. Dollar, damit der Support für ihre Rechner weiterläuft, weil 85% ALLER Regierungsrechner in England noch mit XP bestückt sind.
Ich persönlich finde es auch ein wenig Schade, auch wenn der Support länger als die standardmäßigen 10 Jahre gedauert hat.

In Gedenken an die gute alte XP-Zeit:
R.I.P. Winsows XP, das Betriebssystem mit einem der
bekanntesten Bildern der Welt als Hintergrund.
Mich würde es interessieren wie ihr zum Ende des Supports und zu Windows XP steht. Was habt ihr mit XP alles schönes/unschönes erlebt?

Zu Arengu:
Unabhängig von Windows XP, gibts hier ein paar Infos zum Spiel.

Was für 0.0.3 schon fertig ist:
  • Menübereich ( MenuArea ): Mit Inventar, Spielerinfos, Quest-Log, etc.
  • Inventar & Item-System
  • Neues Hauptmenü ( Teil eines neuen Hintergrundes ist fertig )
  • Kleinigkeiten:
    • Eingabezeile in der Debug-Console
    • InfoPopup für Nachrichten wie "Spielstand gespeichert", etc.
    • BugFixes bezüglich Spielständen, Screenshots und Controls
Was für 0.0.3 noch kommt:
  • Mehrere Inventare ( zusätzliche Rucksäcke ); Items zwischen Inventaren Tauschen
    • Wenn das Fertig ist, gibts auch einen Post mit ausführlicheren Infos
  • Spielerinfos ( ein paar gibts es schon, aber es soll alles über den Spieler angezeigt werden )
  • Map-Editor ( der normale Map-Editor ins Spiel integriert )
  • Hauptmenü ( Hintergrund ganz fertig machen, neue Schrift und Menüs zum Laden etc. )
Das waren so die wichtigsten Punkte.

Über Fragen, Anmerkungen, Kritik bin ich wie immer sehr dankbar.

mfg
Hauke


Hinzufügung vom 14.04.2014:
Das Land Niedersachsen bezahlt nun - genau wie England - ca. 850.000€ an Microsoft, damit der Support für die PCs der Landesregierung nicht abläuft ( das entspricht Kosten von ca. 50€ pro Rechner ).