Siedler1 sdl clone

Alles rund um Spiele für Amiga OS4

Moderator: OS4Welt-Team

Benutzeravatar
Big H
Beiträge: 409
Registriert: 25. September 2009 19:14
Wohnort: Wanfried

Siedler1 sdl clone

Beitrag von Big H »

Ich habe mal die C sourcen von dem sidler1 nachbau durch den compiler gejagt.
http://jonls.dk/freeserf/
benötigt wird die SPAE.PA datei aus der dos version von siedler1.

der clone selber ist aber noch lange nicht fertig so wie es ausschaut. man kann zwar siedeln aber das wars auch schon.
keine gegner.

im windowmode läuft es recht gut. fullscreen läuft nicht.

----neue version----
habe mal die neussten sourcen compiliert.
man kann jetzt im spiel mit der "j" taste auf nen 2 spieler switchen und mit dem auch siedeln.
teilweise haben sich da aber auch fehler eingeschlichen so das geologen oder ritter den weg nicht mehr zurück finden.
gespeichert werden kann jetzt mit strg+z
Zuletzt geändert von Big H am 16. Dezember 2012 19:22, insgesamt 6-mal geändert.
Benutzeravatar
fingus
Beiträge: 445
Registriert: 2. Oktober 2009 13:38

Re: Siedler1 sdl clone

Beitrag von fingus »

Was bietet die SDL-version mehr als die native Amiga-Version?
Benutzeravatar
whose
Beiträge: 1016
Registriert: 26. November 2010 15:48

Re: Siedler1 sdl clone

Beitrag von whose »

@Big H: Danke, das ist schon mal ein Anfang :) Ich tendiere ja dazu, daraus nen Branch zu machen... Open Source, aber auf Amiga beschränkt und vor allem ohne SDL...

@fingus: Ich habs noch nicht ausprobiert, aber vermutlich läßt es auch 640 x 480 usw. zu... wenn nicht: Ist trotzdem ein Anfang.

Allerdings wäre es gut, wenn die die AI dafür endlich mal fertig machen. In Arbeit ist das Teil ja schon länger, ich kenns schon eine Weile...
Wolfgang Hosemann von Insane-Software.de - Spiele und Software für Amiga OS 4.x
Benutzeravatar
Big H
Beiträge: 409
Registriert: 25. September 2009 19:14
Wohnort: Wanfried

Re: Siedler1 sdl clone

Beitrag von Big H »

standart einstellung ist 800x600 kann aber auch geändert werden.
mehr als die 68k version kann der sdl port noch lange nicht eher im gegenteil ( ausser mal von der auflösung abgesehen).
für mich ist sowas immer ne nette geschichte zum üben und verstehen lernen.
Benutzeravatar
whose
Beiträge: 1016
Registriert: 26. November 2010 15:48

Re: Siedler1 sdl clone

Beitrag von whose »

Naja, bei der Grafik zumindest gibts schon etwas mehr... Farben vor allem. Die SVGA-Version hatte halt damals schon 256 Farben statt nur 32. Macht sich zwar nicht so irre bemerkbar, zeigt aber sehr schön, daß damals der Zug quasi schon abgefahren war. BlueByte hatte lieber ein Spiel für A500 gemacht, statt auf den damals schon sich abzeichnenden AGA-Zug aufzuspringen. Schade zwar, aber mach was dran...

Trotzdem hätte ich nichts dagegen, das gute alte "Siedler" auf dem SAM in PPC-nativ und flott zu spielen :)
(Hänger gabs schon in der 68k-Version, wenn Spielweltgröße 8 angesagt war und sich sehr viele Siedler drauf tummelten. Man merkt das selbst auf einem WinUAE-System. Entweder bläst der Lüfter wie doof oder das Spiel legt Gedenksekunden ein. Sehr lästig irgendwann)
Wolfgang Hosemann von Insane-Software.de - Spiele und Software für Amiga OS 4.x
Benutzeravatar
whose
Beiträge: 1016
Registriert: 26. November 2010 15:48

Re: Siedler1 sdl clone

Beitrag von whose »

Sodele, ich habs mal etwas laufen lassen und experimentiert. So langsam frage ich mich schon gar nicht mehr, wieso SDL-Ports aus der Linux-Welt so gruselig laufen. Ich frage mich aber, wieso es SDL-Programme, die auf und für Amiga entwickelt wurden, schaffen, wirklich gut zu laufen (1944 Deluxe hier mal als leuchtendes Beispiel genannt). Die Antwort kenne ich nun auch: Die Linux-Klamotten sind beinahe durch die Bank echt gruselig gecodet, die mit Amiga-Wurzeln anscheinend fast immer mit "möglichst optimal" ständig im Hinterkopf.

Der Code von FreeSerf ist, gelinde gesagt, nahezu unbrauchbar. Spaghetticode vom Feinsten, sozusagen ;) Wenn wir da was Ordentliches draus machen wollen, kann man quasi von Vorn anfangen und FreeSerf höchstens als Referenz für die verwendeten Algorithmen und den Aufbau der Daten-Dateien nehmen.

Fullscreen hakt übrigens so fürchterlich wegen der Debug-Ausgabe, die im Hintergrund ständig stattfindet. Aber auch der Code selbst trägt dazu bei. An neuralgischen Punkten wie dem Update der Siedler-, Gebäude- und Resourcen-Listen findet man switch-case-Wüsten. Beim Grafik-Update (der sichtbare Teil der Spielwelt) das Gleiche.

Sogar die "Weg-Blockade", wenn sich mehrere Siedler an einem Knotenpunkt (Fahne) treffen, haben die ursprünglichen Autoren versaut. Der entsprechende Teil wird sogar dann durchlaufen, wenn Siedler auf der gleichen "Kante" eines "Diamanten" (das Sechseck, auf dem Gebäude entstehen) und dessen Nachbarn laufen. Dementsprechend legen die immer wieder ne Gedenksekunde ein, Position und Frame werden aber trotzdem aktualisiert (weils ja keine echte Blockade an einer Fahne ist). Gibt dann nen lustigen Sprung, aber schön ist was anderes...

Schade finde ich auch, daß die das aus purer Faulheit direkt auf 32Bit ausgelegt haben. Die Schatten werden per Alpha-Blending erzeugt, statt wie im Original über Manipulation der einzelnen Pixel, um den korrekten Palette-Eintrag für die dunklere Farbe des jeweiligen Hintergrundes zu erreichen. Hätte mich schon interessiert, wie das damals wohl genau gemacht wurde. Bei der Amiga-Version habe ich auf EHB-Mode getippt, aber bestätigt wurde mir das bisher noch nicht, leider.

Genug gelästert, ich werde mal etwas mit dem Zeug herumexperimentieren. Das muß besser gehen :mrgreen:
Wolfgang Hosemann von Insane-Software.de - Spiele und Software für Amiga OS 4.x
Benutzeravatar
whose
Beiträge: 1016
Registriert: 26. November 2010 15:48

Re: Siedler1 sdl clone

Beitrag von whose »

So, ich war mal so frei, mich mit dem Datafile zu beschäftigen. Im Groben habe ich den Bogen raus und ein kleines Hilfsprogramm gebastelt, welches zumindest schon mal reine Bitmap-Daten anzeigen kann. Die Tage werde ich mich auch mal an die Masken und Animationen machen. Paletten habe ich auch alle gefunden. Ich habe mich bei der Gelegenheit auch mal mit der BltBitMapTags()-Funktion beschäftigt... die eierlegende Wollmilchsau unter den Blit-Funktionen :-D Ich mußte zwar die Paletten konvertieren (von RGB auf ARGB), den Rest kann man aber ohne große Umschweife direkt in nen RastPort schmieren. Sollte mich nicht wundern, wenn es mit maskierten Blits ähnlich simpel funktioniert. Wirklich praktisch das!

Brecht aber nicht jetzt schon in Jubel aus, das kann noch ne Weile dauern. Der Lebensunterhalt erfordert einiges an Zeit und mein alltägliches Leben ist der Coder-Motivation momentan nicht gerade zuträglich *narf*
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Wolfgang Hosemann von Insane-Software.de - Spiele und Software für Amiga OS 4.x
Evillord68
AmigaOS Betatester
Beiträge: 386
Registriert: 26. September 2009 19:13
Wohnort: Sömmersdorf
Kontaktdaten:

Re: Siedler1 sdl clone

Beitrag von Evillord68 »

Habe es heute auch mal ausprobiert. Läuft echt gut im Fenster mit 800x600 auf meinem PEG II mit 1266MHZ.
Muß ehrlich zugeben, daß ich gleich mal 1-2 Stunden gezockt habe und das ohne Sound. ;)
SAM460ex, µAOne G3 GX, Aone XE G4, Aone SE, Pegasos II G4 & 2x A4000 (T) mit CSPPC & OS4.1.
huepper
Beiträge: 104
Registriert: 8. November 2010 19:19

Re: Siedler1 sdl clone

Beitrag von huepper »

Evillord68 hat geschrieben:Habe es heute auch mal ausprobiert. Läuft echt gut im Fenster mit 800x600 auf meinem PEG II mit 1266MHZ.
Muß ehrlich zugeben, daß ich gleich mal 1-2 Stunden gezockt habe und das ohne Sound. ;)
2 Stunden Siedler OHNE Sound ??? :klatsch:
Das geht ja gar nicht. :D
Benutzeravatar
whose
Beiträge: 1016
Registriert: 26. November 2010 15:48

Re: Siedler1 sdl clone

Beitrag von whose »

huepper hat geschrieben:2 Stunden Siedler OHNE Sound ??? :klatsch:
Das geht ja gar nicht. :D
Doch, wenns OS4-nativ sein soll... ich bin ja noch lang nicht soweit, da muß man halt den SDL-Port ohne Sound spielen ;)

Wobei, wir warten ja noch auf BigH, der hat ja schon die "neue" Fassung mit Sound kompiliert ;)
Wolfgang Hosemann von Insane-Software.de - Spiele und Software für Amiga OS 4.x
Antworten