CIVILIZATION-1 auf dem C64 möglich?

  • Hatte Lust ein bisschen zu malen, und folgender Fake-Screenie ist dabei rausgekommen.

    Der sollte machbar sein, wenn wir Civ mit modifiziertem Hires-Zeichensatz machen (die Farben sind nur grob geschätzt ;) )

    Was haltet ihr davon? (also jetzt weniger von der künstlerischen Qualität, sondern ob das technisch für euch ok wäre)

    Zu Vereinfachung gäbe es keine Extra-Grafiken für die Ränder von Gebieten und für Küsten. Für eine pixelweise Karte wirds vielleicht auch nicht reichen, man müsste mal Zählen wieviele Zeichen wir verbrauchen ...
    Bilder
    • civ_c64.png

      2,67 kB, 640×400, 286 mal angesehen

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von AndyDTV ()

  • Die Karte wird wohl das geringste Problem sein -- darüber würde ich mir als allerletztes Sorgen machen. Zuerst wird einfach grob ein wenig Speicher dafür reserviert und mit Pseudolandschaft aus ROM-Zeichen gefüllt. Zum Programmieren reicht das...
  • Argh ... meine aktive C64-Zeit ist einfach zu lange her :roll:

    Ich bin für das Bild davon ausgegangen, daß man im Textmodus für jeden "Buchstaben" Vorder- und Hintergrundfarbe getrennt einstellen kann, aber anscheinend gibt es nur die globale Hintergrundfarbe und vom Farbram (0xD800) wird nur die Hälfte verwendet :wand

    In dem Fall müsste man wahrscheinlich mit schwarz+einer Farbe pro Zelle auskommen, anstelle von zwei freien. Also doch wieder klassische Spectrum-Grafik ...
  • *schieb* Also unmöglich ist gar nix. Die KI grundsätzlich so hinzukriegen wie bei Civ1 (da ist die KI eigentlich relativ "dumm", und trotzdem macht es Spaß), sollte nicht das Mega-Problem sein. Von den Spielereien der Nachfolgeversionen, die z.T. ohne Frage gut waren, teilweise aber auch einfach nur speicher-fressender Schnickschnack, sollte man wohl erstmal absehen.

    Das Problem wird sicher die Rechenleistung der CPU sein. Je größer die Karte und je mehr Städte/Einheiten, desto länger dauert ein Zug. Gerade als BASIC-Mensch würde ich diese Sprache daher mal gepflegt ausklammern. Da frisst schon eine vernünftige WiSi (also eine vernünftigen Mustern folgende Berechnung eines Wirtschaftssystem) bereits viele Sekunden pro komplizierter Routine.

    Man muss sich also generell stark einschränken. Ich würde mal mit 3 Computer-Gegnern und einer 25X40-Karte (genau, kein Zufall, sondern das Standard-C64-Zeichensatz-Screen) anfangen. Trotzdem sehe ich die Gefahr darin, dass man die Moves der KI auslagern muss in einem Nachlader. Mittels Fastloader könnte man das Problem minimieren. Das Berechnen der KI-Moves ist wie eingangs gesagt nicht grundsätzlich schwer. Die Schwierigkeit sehe ich darin, dass das Ziehen aller Computer-Gegner weniger als 90 sec. dauern sollte (auch wenn das selbst in der DOS-Version z.T. länger gedauert hat, bei Civ IV und einer großen Karte dauert es z.T. mehrere Minuten, bis alle 8 Gegner ihren Zug gemacht haben).
    an allem schuld (sagt Sauhund, und der ist bekanntlich nicht ohne)
  • Leichenfledderer!
    Na ja, ich kann auch etwas dazu sagen. Habe mal Grafiken für eine Spectrum-Version gezeichnet. Die werde ich aber für ein anderes Projekt verwenden. Aber zu was ganz anderem: "Anno Domini" kommt dem Civ sehr nahe, wurde aber in nur 4 Kb ZX Spectrum Minigame gepackt, ist daher extrem abgespeckt: members.fortunecity.com/jonathan6/egghead/id7.html (bis zu "Anno Domini" scrollen)

    Der Cevi hat 64Kb, was denkt ihr nun?
  • Hmmh, interessant, der Spectrum-Screenshot. Genau wie ich vorgeschlagen hatte Charset-Grafik und Bildschirmspeicher als Karte genutzt. In der Form rein grafisch sogar in Basic kein Problem (auch wenn man das CharSet natürlich bequemerweise über 'nen Editor generieren wird). Sicher nicht wunderschön, aber auch nicht erzhässlich (wenn man Civ1 als Maßstab nimmt). Werde ich mich mal ein wenig von inspirieren lassen, auch wenn ich nach wie vor meine, dass eine halbwegs vernünftige KI-Berechnung eine Nr. zu groß/lahm für BASIC sein dürfte.
    an allem schuld (sagt Sauhund, und der ist bekanntlich nicht ohne)
  • TheRyk schrieb:

    (...) auch wenn ich nach wie vor meine, dass eine halbwegs vernünftige KI-Berechnung eine Nr. zu groß/lahm für BASIC sein dürfte.

    ich glaube, dass man so ein spiel gut in c programmieren könnte. zum einen ist c effizienter als basic. und zum anderen lässt sich eine ki damit einfacher formulieren als in assembler.
  • @ogd: klingt plausibel, auch wenn ich zu wenig über C und ASM weiß, um das sicher zu beurteilen.

    Also dann mal ran! ;)

    Im Ernst: "möglich" wäre es sicher auf vielen Wegen, auch BASIC, nur wäre das Produkt dort wahrscheinlich 'ne Schnarchorgie, wenn die K.I. nicht noch dümmer sein soll als bei Civ1.
    an allem schuld (sagt Sauhund, und der ist bekanntlich nicht ohne)
  • TheRyk schrieb:

    klingt plausibel, auch wenn ich zu wenig über C und ASM weiß, um das sicher zu beurteilen.

    stelle dir c einfach als eine universelle assemblersprache vor, die strukturanweisungen (for, while ...) und datentypen (char, int, ...) kennt. (ich hoffe, die profis hier lassen mir das durchgehen ; )

    daher lohnt es sich auf jeden fall, sich mit c zu beschäftigen. zumal viele andere sprachen eine ähnliche syntax wie c verwenden. z.b. php, java, c#, perl ...
  • BastetFurry schrieb:

    Der(Vorteil von){C ist; natürlich; das{Programme} so richtig(gut){lesbar;}sind;}

    rate mal, in welcher sprache, das hier geschrieben wurde ; )

    Quellcode

    1. INT compare(s1, s2)
    2. STRING s1;
    3. STRING s2;
    4. BEGIN
    5. WHILE *s1++ == *s2
    6. DO IF *s2++ == 0
    7. THEN return(0);
    8. FI
    9. OD
    10. return(*--s1 - *s2);
    11. END
    Alles anzeigen
  • Benutzer online 4

    4 Besucher