Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

03.02.2010, 18:42

[Konsolen-RPG] Masamune

Willkommen zum Konsolen-RPG Masamune

Ein paar von euch haben es vielleicht schon im IRC mitbekommen, dass ich seit "geraumer" Zeit an einem Konsolen-RPG arbeite und da ich nun - imo - in einem herzeigbarem Stadium angelagt bin, wollte ich hier jetzt eine Präsentation erstellen um etwas Feedback zu erhalten.

Bei dem Projekt ging es mir primär eigentlich darum, mal ein fertiges(!), einfaches Spiel in C++ zu programmieren. Da mein Lieblingsgenre Rollenspiele sind und ich schon vor Jahren und zu meinen Anfängen immer wieder einmal kleine, unfertige Konsolen-RPGs geschrieben habe, wollte ich in dieses Projekt all meine Energie, Ideen und v.a. Motivationen reinstecken.

Das Spiel selbst ist nichts großes. Eine kleine Story mit den Standarddingen, was ein RPG eben so brauch (NPCs, Items, Zauber, ...).
Für die Konsole habe ich mich v.a. deswegen entschieden, weil es mich an meine Anfangszeiten zurückerinnern lässt, wo ich mit dem Ganzen begonnen habe und weil ich mich nicht mit Grafiken herumplagen wollte. Characters tuns auch :P
Dass ich es, wenn es soweit in der Konsole fertig ist und ich halbwegs zufrieden bin, in SDL umgeschrieben wird (oder irrlicht) und dann mit Grafik und Maussteuerung erweitert wird, ist eigentlich schon eingeplant, aber ist vorerst mal nebensächlich.

Aber genug der vielen Worte...



Was will ich eigentlich?

Mir persönlich geht es v.a. darum, dass mir erfahrenere Leute Feedback zu meinem Code geben und Verbesserungsvorschläge liefern oder Anregungen, wie ich was besser machen könnte.
Wie anderen das Spiel gefällt, oder was Ihr davon hält, ist mir vorerst mal nicht so wichtig. Es ist eben kein weltbewegendes Spiel mit epischer Atmosphäre, sondern einfache ein simples textbasiertes Spiel, das viele vermutlich nicht mal begeistern wird.

Ebenso versuche ich das Projekt so sauber wie möglich runterzuziehen, weshalb im Code teilweise mehr Kommentarzeilen als eigentlich Code zu finden sind ;)
Weiters habe ich einen kleinen Überblick über die Klassen, Spielprinzipien, Spielwelt, usw. angefangen. V.a. das Klassendiagramm und die Beschreibungen sind noch nicht 100% fertig, da ich beim Programmieren selbst oft dahinterkomme, dass ich Dinge anders lösen will/muss.



Was kann man bereits tun?

Derzeit kann man sich mit dem Held über die Karten bewegen und mit den 3 NPCs im Dorf unterhalten. Ebenso gibt es schon ein Handelsfenster und Itemverwaltung (wie z.B. Ausrüstungtauschen, wenn man zwei Waffen kauft[z.B. Knüppel und Kurzschwert]).



Woran ich derzeit arbeite?

Momentan habe ich die Itemverwaltung( Ausrüstung für den Helden, Handeln, Itemtausch, usw. ) "abgeschlossen" und werde als nächstes ein einfaches Questsystem soweit Kampfsystem angehen. Dabei werde ich wohl eine einfach "Scriptsprache" entwerfen, die nicht viel beinhalten wird, außer Einheiten erstellen, Questfortschritt updaten, wenn bestimmte Ereignisse eintreten/Bedingungen erfüllt sind, u.ä.
Update:
Habe jetzt soweit die ganzen Grundbausteine des Spiels fertig. Das Questsystem läuft und die NPC Stateverwaltung läuft auch soweit fehlerfrei.
Als nächstes kommt jetzt ein einfaches Kampfsystem.



Projekt Daten
  • Grafik: über die Konsole mit den entsprechenden Funktionen
  • Sound: Irrklang
  • Eingabe: GetAsyncKeyState
  • "Objektdatenverwaltung": Die läuft hauptsächlich über xml files, die ich im Code dann parse und die entsprechenden Werte zuweise.
  • XML-Parser: IrrXML



Steuerung
  • Pfeiltasten -> Bewegen, NPCs ansprechen
  • Enter -> Menüpunkt wählen, Dialog fortführen
  • Strg -> Heldeninformationen anzeigen (Werte + Gegenstände)
  • Escape -> Spiel beenden
  • Backspace -> Text ohne Wartezeit anzeigen, Kampfbildschirm verlassen



Credits
  • Tales of Phantasia [SNES] -> Sounds
  • Lufia2 [SNES] -> Sounds
  • Ensifeerum Victory Song (Fnafare und Todessound)
  • Irrklang -> Soundwiedergabe
  • IrrXML -> xml parsen
  • dot -> hilft mir eigentlich immer weiter, sofern er Zeit hat
  • nox_firefly -> dito



Aktuelles für neue Version
  • texte kann man jetzt ohne wartezeit mittels BACKSPACE anzeigen lassen. dadurch wird die wartezeit zwischen den characters für eine "bildschirmlänge" auf 0 gesetzt.
  • das "flackern" zwischen dem equippmentchangewindow und handelsfenster wurde gefixed
  • im kaufmenü kann man jetzt bei item0 auch nach oben gehen um sofort zum punkt abbrechen zu gelangen und umgekehrt.
  • gegenstand wechseln bildschirm ist jetzt besser formatiert. weiters sieht man jetzt auf einen blick, ob der neue gegenstand besser/schlechter ist, in dem der wert rot(schlechter),weiß(gleich) oder grün(besser) angezeigt wird.
  • in der heldeninformation wird der itembonus jetzt korrekt zu den heldenwerten hinzugezählt. 12 (+5) heißt z.b., dass der held 7 schaden austeilt und 5 zustzälichen schaden durch gegenstände = 12 schaden insgesamt.
  • auf der karte befinden sich jetzt gegner, die bei kollision einen kampf auslösen (kampf ist noch nicht implementiert. wird wohl für die nächste version ein simples zuschlagen werden.)
  • Die erste Quest ist fertig. Sprecht mit dem Blumenmädchen im Dorf (durch ein B gekennzeichnet). Ebenso wurden der Älteste, Schmied und Händler etwas "erweitert". Man muss jetzt zuerst mit dem Ältesten reden, bevor Schmied und Händler ihre Waren anbieten.




Downloads + Bilder


(Link)



(Link)


Ausführbarer Ordner

Ausführbarer Ordner v002

Ausführbarer Ordner v003

!!!Zum Kompilieren und Ausführen den media Ordner aus dem ausführbaren Ordner in euren Projektordner kopieren!!!
Quellcode

Quellcode v002

Quellcode v003

D-eath

Treue Seele

Beiträge: 102

Beruf: Freelance Software Engineer

  • Private Nachricht senden

2

03.02.2010, 19:14

Danke, danke, danke, danke, danke. Dass ich so etwas noch erleben darf.

...nach SDL umschreiben? Ich schreibe grad an einer OpenGL-basierten 2D Engine, die ich für den selben Zweck verwenden wollte. Wie wärs?

Union_Freedom

Treue Seele

Beiträge: 156

Wohnort: Nähe Hannover

Beruf: Student

  • Private Nachricht senden

3

03.02.2010, 20:15

Hallo!

Zitat von »"D-eath"«

Danke, danke, danke, danke, danke. Dass ich so etwas noch erleben darf.


Ja, da kann ich nur zustimmen. Bis jetzt sieht es soweit alles recht gelungen aus und wenn du weiter daran arbeitest, kann ich mir vorstellen, dass es bestimmt ein gutes Spiel wird.

Dein Code sieht auch recht sortiert und durchdacht aus.

Bleib dran, dann wird daraus etwas großes :)

mfg
Union_Freedom

4

03.02.2010, 20:28

Ich hab es angespielt und fand es etwas komisch.
Das Gespräch mit dem ältesten dauert irgendwie unnötig lange, weil man den Text nicht schneller scrollen lassen kann. Wenn man ihn ein zweites mal anspricht, kann man den Text nicht schneller erscheinen lassen, oder sonstwie abbrechen, aber nach dem ersten Abschnitt blinkte irgendwas kurz auf und dann war ich im Charakterbildschirm. Irgendwie ist da das hin und her springen zwischen den einzelnen Zuständen sehr merkwürdig.
Das selbe gilt auch irgendwie für die Steuerung, die ist etwas schwammig oder wird verspätet ausgeführt.

Den Rest fand ich aber eigentlich ganz lustig. So ein Konsolen spiel nochmal zu sehen hat schon was. Die Musik passt da auch ganz gut rein und lässt das ganze nicht so altmodisch wirken.
Allerdings konnte ich schön aus dem Dorf rauslaufen, aber dann kam nix interessantes mehr. Nur recht große Levels mit vielen Laufwegen aber keinem einzigen Gegner.

Insgesamt solltes du versuchen, die Spieleinstieg möglichst einfach und intuitiv zu gestalten. Dann könnte es ein ganz interessantes Spiel werden.
Lieber dumm fragen, als dumm bleiben!

5

03.02.2010, 21:03

wie gesagt ist es ja noch lange nicht fertig.
habe die wartezeit bei den texten bei mir zum testen natürlich ausgestellt, aber das soll v.a. das alte feeling vermitteln (man kennt es vl aus snes rollenspielen, wo auch so buchstabe für buchstabe erschien mit nem "biepton" ).
dass man den kompletten text ohne wartezeit anzeigen lassen kann, wird kein problem sein und wird auch definitiv noch eingebaut.
die steuerung selbst ist leider wirklich etwas schwammig, weil GetAsyncKeyState iwie die tastendrücke für kurze zeit zu speichern scheint.

mir ist das jedenfalls aufgefallen, dass wenn ich ins heldeninfo menü gehe und escape vor enter drücke, wird das spiel danach beendet, weil er sich das escape iwie merkt.

wie man das fixed, weiß ich leider nicht. ich weiß nur, dass das bei der sdl-variante dann nicht mehr so sein wird, da dort die tastenabfrage fehlerloser(frei) funktionierte.
hatte auch im irc einmal nach einer alternativvariante gefragt OHNE zusatz dlls oder sonstigem quatsch. leider keine antwort erhalten :/

Zitat


Ich schreibe grad an einer OpenGL-basierten 2D Engine, die ich für den selben Zweck verwenden wollte. Wie wärs?

mal schauen ;)
ich habe teilweise recht viel im RL zu tun und bin nicht immer am programmieren, wenn ich mal freizeit habe. deswegen kann es schonmal vorkommen, dass ich ein monat pause einlege, bis ich mal wieder weitermache.
würde nach persönlicher einschätzung sagen, dass ich noch bis zum sommer minimum brauchen werde, bis alles so läuft, wie ich es gerne hätte.

@union_freedom:
danke :)

D-eath

Treue Seele

Beiträge: 102

Beruf: Freelance Software Engineer

  • Private Nachricht senden

6

03.02.2010, 21:19

Zitat von »"Draculark"«


Zitat


Ich schreibe grad an einer OpenGL-basierten 2D Engine, die ich für den selben Zweck verwenden wollte. Wie wärs?

mal schauen ;)
ich habe teilweise recht viel im RL zu tun und bin nicht immer am programmieren, wenn ich mal freizeit habe. deswegen kann es schonmal vorkommen, dass ich ein monat pause einlege, bis ich mal wieder weitermache.
würde nach persönlicher einschätzung sagen, dass ich noch bis zum sommer minimum brauchen werde, bis alles so läuft, wie ich es gerne hätte.


Ist bei mir nicht anders. Aber wenn du dann noch Interesse hast, melde dich ruhig.
...im Übrigen ein toller Ava. Viel Erfolg weiterhin!

Toa

Alter Hase

Beiträge: 944

Beruf: Research associate

  • Private Nachricht senden

7

03.02.2010, 21:46

Da werden Erinnerungen wach.. Freut mich das du die Console RPG's wieder etwas aufleben lässt ^_^ Ich wünschte Tears of Blood wäre jemals fertig geworden..

8

04.02.2010, 14:24

Wie lässt du machst du diese Gesichter? Also die Spielerfigur?
Metal ist keine Musik sondern eine Religion.

9

04.02.2010, 15:51

So vermutlich: ☺☻

ASCII Code Ex

10

05.02.2010, 10:04

@fabian_kock:

ist ascii code, wie trikkiemikkie bereits sagte. hier das codefragment

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
switch( _type )
    {
    case( TILE_TYPE_GRASS ):  _cChar = ',';     _color = COLOR_DARKGREEN;   break;
    case( TILE_TYPE_PATH ):   _cChar = '.';     _color = COLOR_YELLOW;      break;
    case( TILE_TYPE_STONE ):  _cChar = (char)2; _color = COLOR_NORMAL;      break;
    case( TILE_TYPE_TREE ):   _cChar = (char)5; _color = COLOR_GREEN;       break;
    case( TILE_TYPE_WATER ):  _cChar = '~';     _color = COLOR_BLUE;        break;
    case( TILE_TYPE_DIRT ):   _cChar = (char)176; _color = COLOR_BROWN;     break;
    }


du meinst wohl das stein tile, also (char)2;

Werbeanzeige