Hallo Besucher, der Thread wurde 73k mal aufgerufen und enthält 483 Antworten

letzter Beitrag von DJ SID am

CIVILIZATION-1 auf dem C64 möglich?

  • So, jetzt lade ich mal meine Grafiken hoch. In der C64iv_GFX_DD.zip sind die Hires-C64 Versionen der Grafik (Sorry, Retro-X konvertiert Grün etwas dunkel), alle anderen screenshots stammen von ZX Spectrum (aka Türkeil). Wenn Euch die Grafiken gefallen, könnt ihr sie gerne meinetwegen verwenden. An einem C64 Spiel war ich noch nämlich nie beteiligt gewesen :D.

  • Cevilization finde ich auch ziemlich cool, hatte nur leider schon den Webspace bestellt, bevor der Name fiel.
    Der Arbeitstitel muß ja auch nicht gleich dem Releasetitel sein.


    Die Grafiken könnten eine Grundlage für eine farbige weiterentwicklung sein - annimierte Küste mit anbrandenden Wellen könnte ich mir durchaus auch auf dem C64 vorstellen.

  • Die Grafiken könnten eine Grundlage für eine farbige weiterentwicklung sein - annimierte Küste mit anbrandenden Wellen könnte ich mir durchaus auch auf dem C64 vorstellen.


    Also mit 4 Animierten Tiles für jeden Küstenabschnitt-Tile wird es schon zu viel Speicher fressen. Man sollte es eigentlich so machen: Zuerst das Spiel programmieren, und dann je nach übriggebliebenem Speicher weitere Grafiken hinzufügen. Nichts ist frustrierender als mitten im Projekt festzustellen dass zu wenig Speicher übrig geblieben ist für das Spiel, aber die animierten Wellen schauen dann zu Cool aus um sie zu entfernen :-). Glaube mir, ich habe schon den Fehler ein paar mal gemacht.

  • So - da muss ich mal etwas weiter ausholen...


    Was MapEddi2 angeht, habe ich leider keine technische Beschreibung des Formats und als Nicht-Programmierer hab ich mit solchen Dingen meine Schwierigkeiten. Ich wollte 2 Mini-Karten fertigstellen (beide einen Bildschirm groß), welche sich jeweils auf bestimmte Eigenarten des Editors stützen. Hoffe mal, dass sich so das Format recht unkompliziert aufschlüsseln lässt... Leider gibt es von Mario (Programmierer des Tools) auch keine tiefergehende Dokumentation.


    Zu der Grafik selbst:
    - Das Layout sollte nicht unbedingt vertikal sondern horizontal geteilt werden. In dem Fall könnte ein alternativer Zeichensatz für Panel und Zwischenmenüs eingesetzt werden.
    - Die Idee mit den Specci-Pictogrammen für die Einheiten finde ich super. Eingedenk der farblichen Einschränkungen bleiben eh nur 4 kontrastreiche Farben (schwarz, dunkelrot, dunkelblau und violett). Wenn der Hintergrund in MC/Highres-Mix erstellt werden, heben sich die aktiven Objekte immer deutlich ab.
    - Das gröste Problem (meiner Ansicht nach) sind Straßen, welche durch die flexible Lage Unmengen an Tiles beanspruchen. Hier müssen definitiv Beschränkungen her. Mein Vorschlag: Straßen nur auf gerodeten Flächen, Bahnschienen gibt es nicht.
    - Es wäre gut, wenn wichtige Anzeigen wie Stadtname und Bevölkerung über Sprites angezeigt werden. Ist sicher nicht ganz ohne, da man ja nicht weiß, wie und vor allem wie viele Städe gerade sichtbar sind. Vielleicht kann man das ganze aber dynamisch gestalten, so dass z.B. die nächsten 4 Städe rund um den Cursor beschriftet werden.
    - Softscrolling für die Karte wäre geil.
    - Um etwaige Char-Animationen braucht man sich erstmal keine Gedanken machen. Das ME2-Format verwaltet eh drei Charsets parallel, so dass eigentlich Puffer für spätere Deko bleiben dürfte. Wäre auch schade, wenn man die Idee gleich verwerfen würde, denn der Zeichensatz-Mode bietet sich für solche Spielereien geradezu an.
    - Der untere Screenshot zeigt meine aktuelle Testgrafik (alles andere als ausgearbeitet). Als Basisfarben wurden verwendet: Background hellgrau, Color 1 hellblau, Color 2 braun


    Soviel für den Moment. Bzw eins noch: Da ja drei Grafiker für Material sorgen, würde ich gerne das Compositing und Titelgrafik übernehmen.


  • Als nicht-Programmierer, aber interessierter Leser dieses Threads, ist es schön zu sehen, wie schnell sich hier offenbar fähige Leute zusammenfinden. Ich wünsche euch viel Erfolg!
    Zur Karte und den Limits, die Möglicherweise auftreteten könnten: CIV 1 hatte doch auch Fog of War. Vielleicht erleichtert das in Verbindung mit einem Städte / Einheiten Limit auch dass der Spieler gleichzeitig die ganze Karte aufgedeckt hat.
    Falls euch diese Idee nicht weiterbringt, ignoriert sich einfach ;-) Ich verstehe nämlich im wesentlichen nur Bahnhof hier :)
    Grüße
    Jive

  • Hi,


    ich beschäftige mich jetzt erst mal mit Web-Kram.
    (eigentlich wollte ich ja ein Spiel entwickeln)


    @Veto:
    Titelgrafik hab ich eingetragen, was genau möchtest Du composen, das Intro mit der Erdgeschichte?


    Was wir dringend brauchen:


    1. jemanden der mich mit Websachen unterstützt :help:
    2. ein Framework, das alle Bereiche verbindet
    -also die Grundlegende Spielmechanik wie
    1. Intro
    2. Startmenü
    2.1 Laden, Erstellen einer neuen Welt, ...
    usw.
    Das Ganze bedarf natürlich
    Joystick-/Maus-/Tastaturabfragen
    Floppyzugriff, Dateimanagement
    3. wir müssen die Tiles aus der Karte auf den Screen bekommen!
    Doch bevor das geht, müssen wir uns über die Datenstruktur einigen.


    Ich plädiere ja weiterhin, ungeachtet des Speicherbedarfs, für eine objektorientierte Modellierung.
    Das Spiel ist eine Klasse, bestehend aus n Zivilisationenn,...
    Das bildet dann eine einzige Datenstruktur, die man komplett speichern und laden kann.
    Game.civ.town.unit.attack.direction


    Auf die Ki lasst uns erst mal verzichten, statt dessen Multiplayer reihum.


    Aber nun weiter zur Datenstruktur und dem Ablauf.
    Die Spieler sind reihum dran, also civ(1-n).
    Begonnen wird mit Zivilisationsereignissen, civ(3).ereignisstack
    dann alle Städte und Einheiten.
    *
    Nach den civ.ereignissen
    kommen civ(3).city(1).ereignis(fertigstellung,zufriedenheit, hungersnot,...)
    jetzt endlich civ(3).city(1).unit(1).localize
    so, und was jetzt folgt, würde gerne genauer klären.


    Ich würde jetzt die Karte an den Koordinaten der Einheit zentrieren.
    dh. bei civ(3).city(1).unit(1).x-7
    und civ(3).city(1).unit(1).y-7
    beginnt der Bildschirmaufbau:

    Code
    1. screen.x=1
    2. screen.y=1
    3. for x=unit(1).x-7 to x=unit(1).x+7
    4. for y=unit(1).y-7 to y=unit(1).y+7
    5. map(x,y).tile(1).display(screen.x,screen.y)
    6. screen.y++
    7. next y
    8. screen.y=1
    9. screen.x++
    10. next x


    Von den tiles wird immer nur das oberste angezeigt, ist also ein Stapel, das aktive liegt oben.
    Das gleiche passiert im Prinzip auch, wenn man irgendwo auf den Screen klickt, nur dass dann zusätzlich noch eine Auswahl erfolgen kann.


    Bei dem bisherigen ist es noch egal, wie wir die Grafik organisieren, als ob nun Hires malen oder Charsetz mit flächendeckenden Sprites für die bebauungen.


    Freiwillige vor!


    *)
    Wobei jetzt schon zwei verschiedene Ideen aufgegriffen wurden.
    1. die klassische aus Civ1, also civ.city.unit
    2. die moderne, civ.unit und civ.city
    Ich gehe auf die klassische ein.
    Wobei das nur Nuancen sind

  • zu 3. sollte man sich allerdings auch mal vor augen halten das es wirklich niemanden juckt was irgendwer auf dem c64 macht =P

    Dein Wort in Rechtsnachfolgers Ohren ^^


    Finde beide Titel nice, man kann ja auch Civ64 als Kurzform nehmen. Sollte es je einen englischen Release geben, kann ein Nicht-Deutschsprachiger mit CeVi-lisation eh nix anfangen. Passt schon. Welchen Namen das Kind trägt, darüber können wir uns fetzen, wenn wir kurz vor Release einer Demo-Version stehen, also gegen Ende des Jahres ;)

  • Also, die Homepage ist noch da, ich hab nur gerade ein CMS istalliert.
    Da sind allerdings noch die Beispielseiten drauf.
    Morgen werde ich mir anschauen, wie man die anpasst.


    Hab mir zwischendurch mal C mit dem cc65 angeschaut, das ist schon toll, doch das Kartenmanagement werden wir damit nicht in vernünftiger Geschwindigkeit hinbekommen, das werden wir in Assembler coden müssen.
    Ein Rahmenprogramm kann ich mir aber sehr gut in C vorstellen. Das ist einfach eine schöne Sprache - auch wenn viele Sachen anfangs reichlich verwirrend sind.

  • Naja, die Karte ist groß, da liegen viele Teile übereinander.
    Es werden entweder nur die obersten Teile angezeigt oder Landschafts- und Bebauungsteile müssen kombiniert werden.
    Im Groben werden das zwei Listen von Teilen sein, die eine nach X- die andere nach Y-Position sortiert vorliegen werden. Der jeweils angezeigte Ausschnitt der Karte, die der Bildschirm zeigen soll, muß aus diesen Listen generiert werden.

  • Habt ihr angesicht der Speicherplatzprobleme mal überlegt, das als Modul zu gestalten? Wenn ich mir vorstelle, dass das Spiel eine Civilpedia implementieren wollt, dann wäre doch ein Modul vielleicht der richtige Weg, oder?
    In jedem Fall: Viel Erfolg! Ich würde mich freuen, wenn das Projekt Glücken würde :-)
    Gruß
    Jive

  • Habt ihr angesicht der Speicherplatzprobleme mal überlegt, das als Modul zu gestalten?

    Weiß nicht, ob das so zielführend ist. Sollte ja nicht unbedingt eigene Hardware brauchen, um zu laufen. Wenn Du Dir die Doku des CRT-Formates anschaust, gibt es da maximal 512 KB und das auch nur bei den Typen 5 (Ocean type 1) und 15 (C64 Game System, System 3). Und bei denen ist (mir zumindest) nicht mal klar, ob die von den üblichen verdächtigen (MMCR, 1541U) auch auf realer Hardware emuliert werden können oder man dann solche Module besorgen und brennen muss.


    Außerdem kannst Du jeweils nur 8 KB am Stück einblenden (bei den beiden, die 512 KB unterstützen zumindest, sonst 16 KB), musst also auch noch Bank Switchen wie ein blöder.


    Mit Disketten kannst Du mit Nachladen beliebig viel Platz verbraten, mit Ausblenden von BASIC 'ne ganze Menge Code gleichzeitig im RAM haben und bist kompatibel mit allen Emulatoren, Hardwareerweiterungen und der Original-Hardware.


    Unabhängig davon fände ich ein Modulprojekt ganz interessant, da ich selber an einem (völlig anderen, kein Spiel) rumplane und gerne etwas über Bank Switching, Möglichkeiten von MMCR und 1541 U (die ich selbst nicht habe) etc. lernen würde und man im Netz wenig findet.


    Aber für dieses Projekt würde ich es echt nicht empfehlen. ...


    In jedem Fall: Viel Erfolg! Ich würde mich freuen, wenn das Projekt Glücken würde :-)

    Dem kann ich mich nur anschließen! :dafuer:


    Grüße,
    heptasean