Hallo Besucher, der Thread wurde 6,8k mal aufgerufen und enthält 32 Antworten

letzter Beitrag von enthusi am

Mein derzeit noch namenloses C64-Spiel

  • Hallo,


    nun hat es mich doch wieder gepackt und ich habe, wie bereits in einem anderen Thread angekuendigt (Fragen zur C64-Entwicklung... Assembler oder C? ), meinen alten Sourcecode wieder hervorgekramt und mein vor vielen Jahren angefangenes Spiel ein bisschen erweitert. Inzwischen ist die Grafik wie man sieht deutlich huebscher geworden, Musik gibt es auch, und man hat nun 2 Charaktere, zwischen denen man jederzeit wechseln kann. Das fertige Spiel soll allerdings nicht aus "Diamanten einsammeln" bestehen, das ist momentan noch ein Ueberbleibsel vom vorherigen Spiel. Es soll eher in Richtung Raetsel loesen gehen, aber da bin ich momentan leider noch etwas unschluessig, vor allem, weil ich Angst habe, dass ich irgendwann Dinge einbauen moechte, die ich auf dem C64 nicht hinkriege. Aber mal schauen. Wenn ich es rechtzeitig fertig kriege, wuerde ich es gern zur 16K-Compo einreichen ^^


    Was ich auf jeden Fall gestern abend schon mal hingekriegt habe, ist, dass die beiden Figuren sich "korrekt" ueberdecken, sprich, wenn die eine Figur vor der anderen steht, dann ist die andere Figur im Hintergrund. Dies koennt ihr in den ersten Sekunden des Videos genauer betrachten. Das hat mich einiges an Nerven gekostet, aber jetzt funktioniert es tadellos :thumbsup:


    Hier das Video auf YouTube: https://youtu.be/dkTKzyvcLkk


    Hier nochmal der Link zum Originalspiel von 2009 (inkl. Source-Code und Dokumentation): http://csdb.dk/release/?id=75685


    PS: Ach ja, in echt laeuft es natuerlich fluessiger. Dass die Figuren sich so ruckelig bewegen, liegt an der Screen-Capture-Software, die ich verwendet habe.

  • Die sind ja süß gemacht. :love:


    Sound klingt auch schonmal richig gut. :thumbsup:


    Was Du noch Einbauen kannst bei den kleinen Kerlchen mit den großen Augen wäre ein Blinzeln. :ilikeit:


    Nachtrag 01:
    Die Steinchen zum Einsammeln... :gruebel wenn die eine Animation (Glitzern) bekommen würden, dann bräuchten die keinen schwarzen Hintergrund.
    Aber das ist jetzt jammern auch hohen Niveau. Außerdem dürfte das Spiel noch in einem frühen Stadium sein.

  • Was Du noch Einbauen kannst bei den kleinen Kerlchen mit den großen Augen wäre ein Blinzeln. :ilikeit:


    Oh ja, das ist eine gute Idee :D


    Die Steinchen zum Einsammeln... :gruebel wenn die eine Animation (Glitzern) bekommen würden, dann bräuchten die keinen schwarzen Hintergrund.
    Aber das ist jetzt jammern auch hohen Niveau. Außerdem dürfte das Spiel noch in einem frühen Stadium sein.


    Wie schon gesagt, das soll spaeter eh rausfliegen. Der schwarze Hintergrund hat eher damit zu tun, dass ich im Hintergrund Hires- und Multicolor-Chars mische, daher konnte ich dort den Hintergrund nicht fortfuehren. Es wird aber natuerlich sicherlich spaeter irgendwelche Objekte zum Einsammeln geben, mal schauen wie ich das dann hinkriege. Notfalls muss ich das dann mit Sprites machen, oder die Objekte muessen halt alle relativ rechteckig sein, damit das nicht so auffaellt...

  • Hat sich ja mächtig gemacht das Spiel! :ilikeit:


    Es wird aber natuerlich sicherlich spaeter irgendwelche Objekte zum Einsammeln geben, mal schauen wie ich das dann hinkriege. Notfalls muss ich das dann mit Sprites machen


    Nur so ein Gedanke: Ich würde die Bytes für die Objekte in der Map so drinlassen, aber das Bitmuster identisch mit dem Hintergrund machen. So könnte man nach dem Screen-Aufbau nach diesen Codes durchsuchen und so die Objekte als Sprites setzen.

  • @ Lazycow: Ja, mit den Farben bin ich ziemlich eingeschraenkt aufgrund der verschiedenen Farbmodi. Ich haette auch gerne mehr Farben ausprobiert, aber da die Boden-Grafiken im Hires-Modus angezeigt werden, stehen mir da leider nur die ersten 8 Farben zur Verfuegung, und da war blau noch die beste Wahl. Alles andere wirkt zu hell leider. Aber mal schauen, vielleicht aendere ich auch die Farben der Mauern in manchen Screens, es muss ja nicht im gesamten Spiel alles blau sein, aber da bin ich eh noch nicht ganz sicher, wie das "Setting" aussehen soll.


    @ Hexworx: Ja, das ist eine gute Idee :) man muss schon ganz schoen viel rumtricksen zum Teil :D wenn ich irgendwo nicht weiterkomme, werde ich eh hier im Forum fragen :thumbsup:


    @ Mac Bacon: Ahh, der ACME-Mensch hoechstpersoenlich :D freut mich dass Dir und auch vielen anderen das Spiel gefaellt. Ich hoffe ich werds erfolgreich fertigstellen ;)

  • Heute gibts ein neues Video bzw. Status-Update. Ich habe nun einen Labyrinth-Generator geschrieben, und dieser funktioniert nun endlich :thumbsup:
    Spaeter soll das Level zwar noch etwas abwechslungsreicher aussehen, aber als Basis dient nun erstmal ein zufaelliges Labyrinth. Leider fehlt mir noch ein "richtiger" Zufallsgenerator, daher sieht das Labyrinth momentan bei jedem Start gleich aus, da ich eine fixe Zahlenreihe an Zufallszahlen verwende. Dies soll wie gesagt noch geaendert werden.


    Video-Link: https://www.youtube.com/watch?v=uzSByHRm36g


    Das Labyrinth besteht aus 7x7 Bildschirmen. Das generierte Labyrinth sieht wie folgt aus. Im Speicher ist es allerdings noch eine Stufe kompakter abgelegt (dort ist quasi nur jedes 2. Feld, also jede moegliche Kreuzung, als 1 Byte repraesentiert, und jede von diesem Feld aus moegliche Himmelsrichtung ist darin als 1 Bit kodiert):


    Dieses wird dann anschliessend auf die eigentliche Groesse "aufgeblasen", sodass es letztendlich so aussieht (und auch im Prinzip so im Speicher liegt). Zur Verdeutlichung wurden verschiedene Zeichen verwendet, damit man die einzelnen Bildschirme erkennen kann:


    Im Video kann man ausserdem sehen, dass das Generieren gar nicht mal lange dauert. Ich hatte eigentlich damit gerechnet, dass der C64 dafuer ein paar Sekunden braucht. Aber wie man sieht, geht das Spiel nach dem Eintippen von "RUN" nach nur ca. 1 Sekunde bereits los. Das Generieren wird durch Bildschirm- bzw. Randflackern begleitet. Randflackern ist Stufe 1, also die Berechnung des Labyrinths. Bildschirmflackern ist dann Stufe 2, das "Aufblasen" der Labyrinth-Rohdaten in die eigentlichen Bildschirme.

  • Heute gibts ein neues Video bzw. Status-Update. Ich habe nun einen Labyrinth-Generator geschrieben, und dieser funktioniert nun endlich :thumbsup:


    Der schönste Beitrag heute. :ilikeit:


    Einfach knuffig die beiden Figuren. :love:


    Beim Sound kommt es mir vor, als wäre da mehr zu hören als beim letzten mal. Kann das sein?


    Der Bildaufbau kommt mir etwas langsam vor. Täuschung oder liege ich da richtig?


    Auf jeden Fall tolle Arbeit und ich freu mich wenn es fertig ist. :thumbsup:


    Einen Algo für ein Labyrinth gibts unter Projekt: Snider's Maze
    Vorausgesetzt, Du magst fremden BASIC Source lesen. Listing habe ich zuhause. Da kann man sich das Labyrinth auch als Draufsicht Anzeigen lassen.

  • Freut mich dass es Dir gefaellt ;)


    Die Musik war letztes mal schon so, aber da war das Video kuerzer, von daher hat man sie nicht in ihrer vollen Pracht gehoert ;)


    Der Bildaufbau ist nicht der schnellste, das ist richtig. Koennte man vielleicht optimieren. Ich ueberlege aber eher, ob ich den Bildschirm kurz schwarz mache vorm Bildwechsel.


    Das Labyrinth wird bereits "zufaellig" generiert. Was mir noch fehlt, ist lediglich ein Generator fuer Zufallszahlen, da er momentan immer die gleichen Zahlen nimmt und somit das Labyrinth immer gleich aussieht. Wenn ich jedoch an diesen Zahlen was drehe bzw. eine andere Zahl als Startwert nehme, dann sieht das Labyrinth auch anders aus :thumbup:

  • Wobei das eigentlich nur bei Emulatoren relevant ist wenn man das Programm direkt mit dem start des Emulators startet. Denn sonst ist die Verzögerung zwischen zwei Benutzereingaben ja der Start des Emulators und das laden/starten des Programms im Emulator.


    Der VICE hat dafür eine Option für die zufällige Verzögerung beim Autostart.

  • Direkt nach dem Start der Maschine ist sowas nicht sonderlich zufällig. Man kann aber z.B. die Zeit zwischen zwei Benutzereingaben messen, die unteren Bits benutzt man dann als Seed.


    Kommt drauf an... Gibts im Vic nicht ein Register, wo die aktuelle Position des Kathodenstrahls drin steht, irgendsowas habe ich noch im Zusammenhang mit dem Lightpen im Hinterkopf. Was ist mit den Timern im CIA? Kein Benutzer wird es schaffen, das Programm immer genau nach der selben Zeit nach dem Einschalten zu starten.

  • Meine Idee war bisher (aber noch nicht umgesetzt), einfach beim Anzeigen des Titelbildes auf das Druecken des Feuerknopfes zu warten. Und waehrenddessen einfach immer ein Register zu inkrementieren und den Wert, der beim Druecken dann drinsteht, zu nehmen. Dann habe ich zumindest mal einen Startwert, der zwischen 0 und 256 liegen kann. Den koennte ich dann als Index fuer meine Zufalls-Zahlenfolge nehmen, die halt fest im Speicher liegt. Was meint ihr dazu?