Minihack. Ein Experiment wächst.

Kommentare anzeigen Worklog abonnieren
Gehe zu Seite Zurück  1, 2

Worklogs Minihack. Ein Experiment wächst.

ready.

Samstag, 31. Mai 2008 von BladeRunner
Erstmal: Kein neuer Download heute. Ich hab zwar einiges erreicht, aber in merklichen Auswirkungen mündet das bislang nicht und es wäre unsinnig einen neuen DL in diesem Stadium rauszuhauen.
Ich erwähnte schon mehrfach wie sehr ich Reflection mag. Heute wurde ich mal wieder darin bestätigt, als ich (bevor der unseelige Spätdienst rief) es des morgens schaffte einen universellen Loader mittels Reflection auf die Beine zu stellen. Ab jetzt bin ich - theoretisch, ausführliche Praxistests folgen noch- in der Lage jede Typeklasse von Minihack mit ein und derselben Ladefunktion zu bedienen und beliebige Werte einzufügen.
Meine Überlegungen in diese Richtung tragen also langsam Früchte, und so wird in Kürze - sobald ich die zu Testzwecken extern geschriebene Routine erstmal in Nethack integriert habe - der Zeitunkt gekommen sein sich von den Einzeilen-Inis zu verabschieden und stattdessen solche Konstrukte zu laden:
Code: [AUSKLAPPEN]
/ Dies ist ein Kommentar
TTrank{
    name = "Heiltrank"
    preis = 100
    Wirkung = "HP+10"
    }

Sicher, das ist jetzt kein Meilenstein der Programmierskunst, und es wirkt sicher nicht spektakulär, aber die Macht dahinter ist groß, denn den Type TTrank gibt es im Quellcode wirklich, und ich kann gezielt alles von extern verändern was ich ändern möchte - Dinge für die sonst ein Riesenaufwand zum parsen nötig wäre erledige ich mittels einer Handvoll Codezeilen. (Ich gerate schon beim Schreiben wieder ins Schwärmen...)

Sonst gab es noch ein paar Bugfixes, und ich habe die Build-nummerierung automatisiert. Auf die Idee hätte ich schon früher kommen können...

So, genug für heute, morgen wieder Dienst und das Bettchen ruft langsam sehr laut.

loading

Freitag, 30. Mai 2008 von BladeRunner
Heute nur ein kurzes Update. Ich hasse Schichtdienst, erwähnte ich das schon?
Es gibt nicht all zu viele Änderungen, ich habe die Karte auf ein objektgebundenes System umgestellt, was sicher einiges an Flexibilität erlaubt.
Grösste Neuerung dürfte jedoch sein dass man nun Tränken eine flexible Wirkdauer geben kann, was bedeutet dass es möglich sein wird vielfältige kombinationen von Wirkungen zu erstellen. Das Buff-System was ich dafür eingebaut habe ist zwar noch rudimentär sollte aber dennoch genug Spielraum lassen um später beliebigen Gegenständen Sonderwirkungen zu geben.
Bislang beschränkt sich die Implementation allerdings auf den Player und seine Werte. Aber was nicht ist ... Wink


Der Link ist, wie sollte es anders sein, gleich geblieben. Have Fun.

searching for $

Sonntag, 25. Mai 2008 von BladeRunner
Was würd ich nur ohne den guten Hyde machen? Der zeigt sich sehr interessiert an Minihack und bastelt fröhlich an den .inis herum und meldet mir einen Bug nach dem anderen.
Dank seiner Hilfe kam ich einem Krabbler auf die Spur der es dem Spieler erlaubte beliebig Gegenstände zu klonen. Gefahr erkannt, Gefahr gebannt. Schuld war die simple Tatsache dass Types ja nur als Referenz übergeben werden und ich somit beim erstellen der Schatztabelle fröhlich die Gegenstände verdoppelte anstatt einen neuen Eintrag zu erstellen. Dank Reflection ist dieses Problem aber gegessen, ich clone nun den Inhalt des Gegenstandstypes, passe die Anzahl an und reiche den Klon weiter.

Apropos Reflection: dieses Feature von Max lässt mich immer mehr schwärmen, denn dank Reflection habe ich es nun auch geschafft die Tränke funktionsfähig zu bekommen. Das Tolle daran ist dass ich beliebige Fields meines Players nun ändern kann ohne sie explizit zu erwähnen, Reflection schluckt den Namen und erledigt den Rest.
Die Versionsnummer rotiert nach oben und meine Motivation schwebt unter der Decke (was sicher auch Hydes Enthusiasmus und Dees motivierenden Worten zuzuschreiben ist, es tut gut zu wissen dass ich nicht der Einzige bin der Minihack mag).
Es kristallisieren sich nach und nach Strukturen heraus die ich noch ändern muss, aber hier als Provisorium noch gute Dienste tun.
Aber erstmal geniesse ich die neue Version ( im ersten WL-Eintrag oder auch *HIER* zu finden).
Stay tuned, ich bleib dran.

Load"$",8

Samstag, 24. Mai 2008 von BladeRunner
Und weiter geht's im Sauseschritt. Bevor ich nun zum Schwenken aufbreche gibt's V150.
Hier sind allerlei Bugfixes zu verzeichnen die nahezu allesamt durch Hyde aufgespürt wurden, u.a.:
*Taste '0' funktioniert nun.
*Gold wird nur noch aufgehoben wenn es existiert.
*Diverse Anzeigefehler bei denen Objekte falschen Text auswarfen.

Größte Neuerung war es, Stockpiles einzubauen, d.h. jeder Gegenstand kann nun in Haufen gesammelt werden, was doch so einiges an Arbeit erforderte, da das Projekt nicht gründlich durchdacht wurde. Ich bin mal gespannt wann die NichtPlanung dem ganzen ein Ende bereitet ... Sad
Aber ich hab es ja selbst so gewollt. In die Vollen ohne zu wissen wohin...

Wen es interessiert: aktuelle Version gibt's unter dem Link im ersten Eintrag.

Ready.

Samstag, 24. Mai 2008 von BladeRunner
Was ist Minihack?
Minihack ist ein winzigkleines Hack'n'Slay-Spiel. Man läuft durch die Gegend, tötet Monster und gewinnt Erfahrung und Schätze, welche man dann beim lokalen Schwermetalldealer in neue Waffen und anderes Zeug investieren kann. Wer Nethack kennt weiß worauf das Spiel hinausläuft.
Richtiges Rollenspiel, sprich die Interaktion mit anderen Wesen auf andere Art als Kampf oder für vorgefertigte Zwecke (->Händler) ist (bislang Wink) nicht geplant.

Warum Minihack?
Die Idee kam mehr beiläufig, als ich mit der Vererbung und Reflection unter Bmax ein wenig herumexperimentiert habe. Da ich die Tests nicht ganz sinnlos machen wollte habe ich in dem Ressort gewildert dass mich seit meiner frühesten Jugend begleitet: Rollenspiel. Da mir klar war dass die Tests nicht ein komplettes RPG ergeben würden habe ich es eben auf den kampfbetonten Ausschnitt konzentriert. Das Ergebnis bislang gefällt mir recht gut, und ich fange langsam ernsthaft an zu überlegen ob ich das ganze weiter ausbauen werde. Mal sehen was die Zukunft bringt.

Der erste Eintrag...
...ins Worklog erfolgt schon etwas später, ich bin nun den dritten Tag ernsthaft mit Minihack beschäftigt. Die erste lauffähige Version hatte ich nach ca. 1 Stunde, wobei das bestenfalls eine Wanderung im Nichts war. Nach ca. 3 Stunden war ich soweit dass man mit anderen Figuren (sprich: Monstern) interagieren konnte. Diese Version war auch die erste die ich im Chat präsentierte.
Noch eine Stunde später waren die simplen Ini-Files für die Monster und Gegenstände integriert, wobei das noch sehr provisorisch ist (und eigentlich aus der Not heraus entstand nicht für jeden Test alles hardcoden zu wollen).
Mittlerweile sind mehr als hundert weitere Compilate entstanden (meist nur mit winzigen Änderungen) welche das Experiment zum Klein-Spiel wachsen liessen.
An dieser Stelle mein Dank an Hyde der einen Bug im Inventar fand (Minihack ging ins Nirvana wenn man eine Inventarposition aufrief die nicht besetzt war - Null-Object lässt grüßen) und an Pablo der mich bei der derzeit aktuellen Version auf einen Fehler hinwies der dem Spieler unendliche Einnahmen versprach (ein klassischer Exploit der auf einer nicht gelöschten Gold-Variable im Schatz-Type beruhte).

Und nun?
Liegt weiter viel Arbeit vor mir, denn noch so vieles was ich mir als Ziel für das Spielchen gesetzt habe zu erledigen ist: Tränke kann man trinken, aber sie zeigen noch keinen Effekt. Waffen und Rüstungen kann man zwar wechseln aber nicht ganz ausziehen. Gegner laufen zufallsgesteuert auf einer Zufallskarte herum- ein wenig zielgerichtetere Bewegung und zufallsgenerierte Räume dürften es noch sein. Und Fernkampfwaffen. Und irgendwer im Chat rief nach Magie.und ...
Viele Ziele, wenig Zeit.

Muss das so aussehen?
JA. Die ASCII-Optik ist Absicht, und das aus mehrerlei Gründen.
1. Das Vorbild hat in der Urform nicht anders ausgesehen.
2. Es waren nur Tests, da bau ich keine Grafik ein.
3. Ich bin ein lausiger Grafiker, und mein Lieblings-Art-Verzapfer ist derzeit tabu für mich. *an die Schafe denk und sich schäm*
Solange es mir gefällt wird es also keine anderen GFX geben, und bislang bin ich sehr angetan von der Retrooptik.

Butter bei die Fisch!
Viel Gelaber, und nu macht euch selbst ein Bild davon:
user posted image
Minihack (421kb)

Eine Bedienungsanleitung liegt bei, und erwartet noch nicht allzuviel.

Gehe zu Seite Zurück  1, 2