Ergebnis 1 bis 6 von 6

Thema: DOS-(ASCII-)Spiel von mir: Malek^^

  1. #1

    DOS-(ASCII-)Spiel von mir: Malek^^

    Hi @ all,

    Ok, ich hatte die letzten 4 Tage irgendeinen Programmier-"Wahn" und ein neues Spiel erstellt, welches den Namen "Malek" trägt. Tja, ich dachte mir, bevor es auf meiner Festplatte versauert, stelle ich es mal vor^^.

    Eine kurze Beschreibung, wie ich zu dem Spiel kam: Ich las eine Zeitschrift, in der Werbung für ein Handyspiel gemacht wurde. Die Beschreibung war in etwa so: "Herausforderung für Tüftler: Bei jedem Zug, den du machst, bewegen sich alle Feinde gleichzeitig auf dich zu. Zieh so, dass sie zusammenstoßen und dich nicht treffen". Laut Werbung sollte man für dieses Spiel 3 Euro zahlen. Ich dachte mir, warum soll ich Geld für das Spiel zahlen, wenn ich sowas selbst programmieren kann? Gedacht, getan und rausgekommen ist dabei Malek^^.

    Im Spiel geht es darum, dass man in einem Spielfeld platziert wird, in dem unterschiedliche Gegner rumlaufen. Es gibt Gegner, die laufen erst waagrecht und dann senkrecht auf den Spieler zu (andere Gegner laufen genau umgekehrt), andere machen entweder dieselben oder die gegenteiligen Bewegungen des Spielers nach. Das Ziel ist, in jedem Level alle Gegner zu beseitigen. Das erreicht man, in dem man durch kluges Ziehen die Gegner zusammenstoßen lässt, oder man nutzt ein im Level herumliegendes Loch, in dem Gegner (aber auch der Spieler) reinfallen kann. Das Spiel besitzt eine (wie ich finde^^) relativ gute Hilfe zur Spielmechanik, 40 zum Teil recht heftige Levels und die Möglichkeit, selbst erstellte Levels laden und spielen zu können. Im Gegensatz zu "Warrior" (einem anderen Spiel von mir) werden die erreichten Levels in einem Spielstand gesichert, und einen Highscore gibt es auch, beides allerdings komplett unverschlüsselt^^. Eins vorneweg: Wer mein "Warrior" noch kennt und damals den Puzzleteil gehasst hat, sollte "Malek" garnicht erst downloaden, da das Spiel beinahe nur aus Puzzles besteht^^.

    Öhm... dann noch was aus programmtechnischer Seite: Das Spiel ruft ab und an Windows-Funktionen auf, um Musik abspielen zu können. Das verursacht ein oder zwei Sekunden Ladezeiten, außerdem ist (logischerweise) Windows im Hintergrund erforderlich, damit man die Musik überhaupt hört^^. Getestet habe ich das Spiel unter Win98SE und unter WinXP SP2, zum Glück gab es da keine Probleme... weder mit dem Spiel, noch mit der Soundausgabe^^.

    Das Spiel verwendet zwei im Internet gefundene und eins von mir erstellte Windows-Programm(e). Einmal von mir programmiert die "malekmus.exe", welches MCI-Befehle an Windows sendet. Das im Internet gefundene Programm "HideThis.exe" sorgt dafür, dass mein malekmus im Hintergrund ab- und damit das Spiel weiterläuft. Da DOS- und Windowsprogramme (außer beim gegenseitigem Aufrufen) nicht miteinander kommunizieren können, wird zusätzlich noch "kill.exe" benutzt, um malekmus (und damit die Musik zum Spiel) auch wieder beenden zu können^^.

    Das Spiel wurde in QBasic 1.1 erstellt und in QuickBasic 4.5 compiliert. Da, wie schon angedeutet, Windows für die Musikwiedergabe zuständig ist, benötigt man Windows, um Musik hören zu können. Linuxbesitzer bleiben hier leider außen vor, außer sie haben einen guten Windows-Emulator^^...

    Der Quellcode liegt im ASCII-Format vor; Für malekmus ist es die "malekmus.prf" (Quellcode in Profan²), für das Spiel selbst ist es "malek.bas" (in Q(uick)Basic). Man kann beide Dateien in .txt umbenennen und mit Notepad ansehen oder löschen, da sie nicht benötigt werden.

    Noch schnell ein Screenshot hergereicht...



    ... und den Download-Link gepostet:
    Malek.zip (ca. 222 KB groß)

    Feedback und Kritik sind wie immer erwünscht

    [OT]
    Gehört zwar nicht in diesen Thread rein, aber... irgendwie sind die auswählbaren Smilies stiften gegangen... oô
    [/OT]

  2. #2
    Ok ich hab mir das Game mal angeschaut und muss sagen das es recht gut ist auf jeden Fall was für Leute die gerne nachdenken also ein großes Lob von meiner Seite das Spiel ist dir gelungen

  3. #3
    OMG, Mein PC macht dabei so komische Geräusche...
    Jetzt nichts gegen dein Spiel, aber muss das sein? Ich hasse diese Sounds...

    Das Spiel find ich aber sehr gut gelungen (Vom Gameplay, das ja eigentlich nicht von dir kommt). Nur eine Frage an dich: Wie lange hast du daran gesessen?

  4. #4
    THX fürs Feedback.

    @AgentJG: Dehalb kann man die Töne ja ausschalten^^... Es gibt PCs deren Speaker so im Gehäuse verbaut wurden, dass jeder Ton extrem laut abgespielt wird. Bei mir ist das nicht der Fall, deswegen störts mich nicht^^. Deshalb hab' ich ja eine Funktion eingebaut, mit der man den Ton wieder ausschalten kann. Wenn Freunde von mir das Spiel auf Ihren PCs testen, bin ich auch manchmal überrascht, wie laut der PC-Speaker bei sowas reagiert^^.

    Dran gesessen habe ich, wie im Eingangspost schon gesagt, etwa 4 Tage. Am 1. Tag war's die Planung und Programmierung des Engine-Grundgerüsts, am 2. und 3. wurde die Spielmechanik ("Engine") komplett programmiert, am 4. standen Levels und Bugtesting an... Ich hab' das Spiel über die Schulferien programmiert, anders hätte ich auch kaum Zeit gefunden, das Spiel in so kurzer Zeit (hoffentlich) fehlerlos fertigzustellen^^.

    EDIT: Das Gameplay selbst existierte nur in schriftlicher Form, eine Vorlage ö.Ä. (von einem zweifarbigen Screenshot abgesehen^^) hatte ich nicht. Aber im Prinzip hast du recht, die Idee selbst ist nicht von mir (und auch nach der Beschreibung nicht wirklich schwer nachzuprogrammieren)^^.

    Geändert von Manuel (04.01.2006 um 14:32 Uhr)

  5. #5
    Naja, der Code ist so ... elegant (Irre ich mich oder sind es doch 2 GOTO Marken?^^). Man sollte bedenken dass du an Warrior 1 Jahr (Oder kann ich nicht lesen) gesessen hast. Nur irgendwie funktioniert das kill malekmus.exe bei mir nicht, d.h. die Musik läuft weiter. Vielleicht ist beim Beenden irgendein Bug aufgetreten.

    BTW: Hast du in QB schonmal irgendwas mit Pixeln gemacht? Ich hab auf deiner HP nur ASCII Spiele gesehn.

  6. #6
    Zitat Zitat von AgentJG
    Naja, der Code ist so ... elegant (Irre ich mich oder sind es doch 2 GOTO Marken?^^).
    Naja, genaugenommen sind es 42 (40 = für jedes Level eine, 1 für Sprungmarke und 1 für eventuelle Fehlercodes), es gibt aber nur eine solche Marke, die im Programmcode auch als Ziel für einen GOTO-Befehl verwendet wird^^.
    Zitat Zitat
    Man sollte bedenken dass du an Warrior 1 Jahr (Oder kann ich nicht lesen) gesessen hast.
    Wobei mein Warrior etwa 6-7 Monate auf Eis war . Der Unterschied liegt aber daran, dass Warrior mein erstes richtiges Spiel war (gemäß dem Spruch "aller Anfang ist schwer") und ich immer im Hinterkopf hatte, dass ich das Spiel besser als "Dark Woods" (das Spiel, welches ich als Vorbild für Warrior nahm) machen wollte. Außerdem waren die Levels dort etwas komplexer, das Durchspielen und Austesten der Levels nahm schließlich auch einige Zeit in Anspruch. Ein Level-Editor war auch dabei (btw, es wird dringends Zeit dass ich den Level-Editor mal umschreibe... so viele nichtssagende GOTOs... typisches Erstprojekt^^)
    Zitat Zitat
    Nur irgendwie funktioniert das kill malekmus.exe bei mir nicht, d.h. die Musik läuft weiter. Vielleicht ist beim Beenden irgendein Bug aufgetreten.
    Hm, das ist seltsam... Zur Not müsstest du über den Task-Manager unter "Prozesse" die malekmus.exe selber beenden, aber normalerweise dürfte das nicht sein^^. Welches Betriebssystem hast du? Unter Win98SE und unter WinXP (mit SP2) hab ich's getestet, da gabs keine Probleme. Was passiert, wenn du nach dem Levelwahl wieder ins Hauptmenü zurückkehst? Überlagern sich zwei Musikstücke, oder wird die Musik gemäß gestoppt und eine andere weitergespielt?
    Zitat Zitat
    BTW: Hast du in QB schonmal irgendwas mit Pixeln gemacht? Ich hab auf deiner HP nur ASCII Spiele gesehn.
    Leider nein. Das liegt aber an meiner Grafikkarte, die, wenn im MS-DOS-Modus die Auflösung gewechselt wird, den ganzen PC abstürzen lässt. Deswegen hab' ich noch nichts mit Pixeln gemacht^^.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •