Maniac Mansion Mania Forum

MMM-Werkzeugkiste => Technik => Thema gestartet von: 1mal_volltanken am 04. Dezember 2013, 06:40:04

Titel: Wirtschaftssimulationen mit AGS
Beitrag von: 1mal_volltanken am 04. Dezember 2013, 06:40:04
Hallo AGS-Crackz!

Zunächst nur einmal aus Neugier:

AGS, das allgemein als Adventure-Maker gilt, kann ja durch das clevere Script deutlich mehr, als "nur" Adventures erstellen.

Wie gut würde AGS sich für die Erstellung von Wirtschaftssimulationen nach Art von Fugger 2 oder Patrizier eignen?

Was mir jetzt nur einfällt, wäre, dass man einen Befehl bräuchte, um Zahlen auf Währungsgrößen zu runden, entweder auf zwei Stellen nach dem Komma oder ganz ohne Nachkommastelle.

Auch weiß ich jetzt nicht, ob in AGS die Prozentrechnung so mit integriert ist, oder ob man das dann mit der  x/100-Formel einbauen müsste.

Ansonsten ließe sich der Rest ja auch mit Hotspots & Objects erstellen.

Habe ich sonst noch etwas vergessen?


Danke schon mal im voraus!



BG
der Volltanker
Titel: Re: Wirtschaftssimulationen mit AGS
Beitrag von: JPS am 04. Dezember 2013, 23:19:22
Ints speichern nur ganze Zahlen. Ein Bruch wird automatisch abgerundet. Das größere Problem dürfte eigentlich sein sowas wie die Stadtansicht aus Patrizier umzusetzen, oder willst du auf isometrische Karten etc. verzichten?
Titel: Re: Wirtschaftssimulationen mit AGS
Beitrag von: 1mal_volltanken am 05. Dezember 2013, 00:20:41
Also isometrisch im Sinne, dass man eine Zoomfunktion auf die Stadtansicht hat?

Wenn es nur um eine perspektivische Zeichnung geht würde die sich ja auch genauso reinladen lassen, wie andere Room-Grafiken auch, oder?


BG
der Volltanker
Titel: Re: Wirtschaftssimulationen mit AGS
Beitrag von: Kruttan am 05. Dezember 2013, 08:54:47
AGs hat ne ganze Menge nützlicher mathematischer Funktionen. Mathematisch gesehen wird das alles irgendwie gehen.

Du kannst mit Floats arbeiten, wenn du Zahlen mit Nachkommastellen brauchst. Wenn du einen Float auf zwei Stellen nach dem Komma runden willst, schreibst du ne Funktion, die ihn zunächst mit 100 multipliziert. Dann rundest du ihn als Integer. Dann machst du wieder eien Float draus und teilst durch 100.
Titel: Re: Wirtschaftssimulationen mit AGS
Beitrag von: Kiwa am 05. Dezember 2013, 14:00:37
Du kannst mit Floats arbeiten, wenn du Zahlen mit Nachkommastellen brauchst. Wenn du einen Float auf zwei Stellen nach dem Komma runden willst, schreibst du ne Funktion, die ihn zunächst mit 100 multipliziert. Dann rundest du ihn als Integer. Dann machst du wieder eien Float draus und teilst durch 100.

Mich interessieren die mathematischen Funktionen auch und wie man diese ins Spiel einbauen kann:

Wie kann man z.B. die Spielfigur ein Ergebnis einer Berechnung sagen lassen? Jetzt bitte nicht sagen mit "player.say("...")" den das meine ich nicht. Wenn man eine Berechnung gemacht hat dann liegt das Ergebnis als int oder float Datentyp vor. Doch wie konverteirt man den in einen String? Es gibt zwar Funktionen mit denen man int in float und umgekehrt umändern kann(aus AGS Hilfe: int FloatToInt(float value, optional RoundDirection)), aber nicht "InttoString" oder sowas.
Titel: Re: Wirtschaftssimulationen mit AGS
Beitrag von: KhrisMUC am 05. Dezember 2013, 14:04:22
Man kann auch einfach das benutzen:
label.Text = String.Format("%.2f", Preis);
Das wird dann aber abgeschnitten und nicht gerundet, soweit ich weiß. Das ist jedenfalls das allerkleinste Problem.
(Edit: es wird gerundet!)

Ich kann jetzt bei den Screenshots von Der Patrizier auf mobygames nix isometrisches entdecken, nur statische Hintergründe. Jedenfalls kann man eine Wirtschaftssimulation locker mit AGS umsetzen, zumindest von den technischen Möglichkeiten.
AGS ist alles andere als auf Adventures festgelegt, es ist halt nur lahm bei Grafikeffekten. Das sollte aber in dem Fall kaum stören :)

Edit:
Kiwa:
http://www.adventuregamestudio.co.uk/manual/ags36.htm#stringformats
Titel: Re: Wirtschaftssimulationen mit AGS
Beitrag von: Kiwa am 05. Dezember 2013, 14:25:23
Man kann auch einfach das benutzen:
label.Text = String.Format("%.2f", Preis);
Das wird dann aber abgeschnitten und nicht gerundet, soweit ich weiß. Das ist jedenfalls das allerkleinste Problem.

Ich habe mal das String.Format wie folgt ausprobiert (bevor du den Link ergänzt hattest):

[ags]
float x = 178.129456789;
String s = String.Format("%.2f", x);
Wait(40);
player.Say(s);
[/ags]

Da der AGS Code hier etwas undeutlich zu lesen ist schreib ich es hier nochmal als Text hin:

float x = 178.129456789;
String s = String.Format("%.2f", x);
Wait(40);
player.Say(s);

Dabei sagt die Spielfigur: 178.13 Es wird also NICHT abgeschnitten sondern gerundet. Damit sollte das runden wie Kruttan es beschrieben hat garnicht mehr nötig sein, oder?

Und danke für den Link, das ist sehr hilfreich.
Titel: Re: Wirtschaftssimulationen mit AGS
Beitrag von: 1mal_volltanken am 08. Dezember 2013, 18:17:45
Ja. Das sind jedenfalls interessante Infos.

Besten Dank!

Ja, ich bin darauf gekommen, weil es ja eine (schon etwas ältere) Projektseite zu einem Fugger2-Fanprojekt gibt:

http://www.max-plenert.de/fugger2/clone.htm (http://www.max-plenert.de/fugger2/clone.htm)

Allerdings scheint sich da nicht mehr so viel zu tun.

Mich würde es durchaus reizen, noch mal ein Spiel a la Fugger 2 zu kreieren. Meiner Meinung nach eine der ewigen Tops unter den Wirtschaftssimulationen.

Dort gab es ja die Taler als Währung und die werden da ohne Nachkommastelle dargestellt, wodurch den Aussagen nach ja kein Float benötigt wird, das AGS sonst automatisch auf ganze Zahlen rundet.



Titel: Re: Wirtschaftssimulationen mit AGS
Beitrag von: Rocco am 25. Dezember 2013, 10:26:51
hehe, nachdem sie Fugger2 akribisch auseinandergenommen haben,
sind sie wohl auch dahintergekommen wie viel Arbeit da tatsächlich drinnensteckt.
Damit war die Motivation dann wohl auch gleich dahin.

Ist wohl besser sich erst mal nur Fugger 1 als Vorbild zu nehmen und umzusetzten.

Wie schon geschrieben ist das alles mit AGS überhaupt kein Problem,
sofern Programmierkenntnisse vorhanden sind.

edit: tatsächlich hat sich wohl jemand anderer an die umsetzung von Fugger II gemacht und da sind auch schon testversionen
zum probieren vorhanden -> http://www.conspiratio.net/forum/5-ankuendigungen/208-conspiratio-download
Titel: Re: Wirtschaftssimulationen mit AGS
Beitrag von: 1mal_volltanken am 31. Mai 2014, 00:00:49
Ach, übrigens Rocco, danke für den Link.

Nur muss man sich da erst einmal anmelden, um im Forum den Link anklicken zu können. Sonst via Google.



Noch was anderes:

Ein weiteres Kult-Spiel aus den frühen 90ern war übrigens Dune 2.

Klar kamen danach noch Titel wie Command & Conquer. Doch ich hatte damals wie heute nicht die Motivation gehabt, umzusatteln. Kennt Ihr sowas?

Für mich ist Dune 2 deswegen so genial, weil es eben der Urvater der Kriegs-Strategie-Spiele ist.

Wer kennt es noch?


Hier habe ich sogar noch eine Projekt-Fanpage dazu gefunden: http://forum.dune2k.com/ (http://forum.dune2k.com/)


Normalerweise müsste sich solch eine Spiel-Art auch via AGS umsetzen lassen.

Doch einige Hindernisse würde ich hier schon erkennen:

a) Das Spielfeld hat eine Größe von 64x64 Felder, d.h. AGS müsste dafür schon 4096 (!!!) Objects verwalten können. Und das NUR für die unterschiedlichen Inhalte der jeweiligen Spielfeld-Zellen. Hinzu kämen dann noch die ganzen Einheiten.

b) Freies Scrollen:  Das Scrollen war bisher noch immer von der Position des PlayerCharacters abhängig. Hier müsste man eine Funktion einrichten, dass der Bildschirm scrollt, indem man den Mouse-Cursor an den entsprechenden Bildschirmrand bewegt.


Gut, also Fazit wäre, ich würde ein Spiel wie Dune 2 wohl eher nicht mit AGS umsetzen. Was meint Ihr?


BG
der Volltanker

Titel: Re: Wirtschaftssimulationen mit AGS
Beitrag von: Rocco am 31. Mai 2014, 16:46:19

Hier habe ich sogar noch eine Projekt-Fanpage dazu gefunden: http://forum.dune2k.com/ (http://forum.dune2k.com/)


Normalerweise müsste sich solch eine Spiel-Art auch via AGS umsetzen lassen.

Doch einige Hindernisse würde ich hier schon erkennen:

a) Das Spielfeld hat eine Größe von 64x64 Felder, d.h. AGS müsste dafür schon 4096 (!!!) Objects verwalten können. Und das NUR für die unterschiedlichen Inhalte der jeweiligen Spielfeld-Zellen. Hinzu kämen dann noch die ganzen Einheiten.

b) Freies Scrollen:  Das Scrollen war bisher noch immer von der Position des PlayerCharacters abhängig. Hier müsste man eine Funktion einrichten, dass der Bildschirm scrollt, indem man den Mouse-Cursor an den entsprechenden Bildschirmrand bewegt.


Gut, also Fazit wäre, ich würde ein Spiel wie Dune 2 wohl eher nicht mit AGS umsetzen. Was meint Ihr?


BG
der Volltanker



Es liegt nur an dir und nicht an AGS.  ;)

zu a: Hier zB. ein Spitzengame von Technocrat mit Tiles -> http://www.adventuregamestudio.co.uk/site/games/game/1373/
ist zwar rundenbasiert und nicht echtzeit.
Aber du siehst AGS kann Spielfelder verwalten die aus Tiles bestehen.
Entscheidend ist dabei wie du dein Programmgerüst aufbaust und die ganzen Sachen in deinem Code managed,
weil dich AGS diesbezüglich halt nicht an die Hand nimmt, also die Frage ist hier nicht kann AGS sowas,
sondern müsste eher lauten, kannst du sowas?  ;)

zu b: da gibts sehr viele Möglichkeiten um so ein Verhalten zu erzielen,
das ist also wohl das geringste Problem das du haben wirst, wenn du Dune 2 umsetzen willst.

Wahrscheinlich gibt es aber natürlich Gameengines die mehr für Echtzeitstrategie spiele ausgelegt sind und sich deswegen für sowas besser eignen.
Titel: Re: Wirtschaftssimulationen mit AGS
Beitrag von: 1mal_volltanken am 01. Juni 2014, 02:37:51
Klar, Engines gibt es ja einige.

Ich werde mal demnächst schauen, ob ich auch welche finde, die auch wie AGS eine eigenständig laufende EXE-Datei erstellen.

Denn, je mehr die Spieler an zusätzlichen Files dazu runterladen müssen um so mehr sinkt auch die Motivation, entsprechende Spiele zu spielen.


BG

der Volltanker
Titel: Re: Wirtschaftssimulationen mit AGS
Beitrag von: KhrisMUC am 04. Juni 2014, 16:21:24
Jan Simon / dkh / DoorKnobHandle ist mit seinem Dune2-Klon Troopers (http://www.adventuregamestudio.co.uk/forums/index.php?topic=33675.0) relativ weit gekommen.

Kurz zur Technik: 4096 Objekte ist natürlich Quatsch; der Bildschirminhalt wird in jedem game loop manuell neu gezeichnet. Man braucht nicht einmal einen scrollenden Raum dazu; man muss nur die Koordinaten ändern, an denen die Tiles gezeichnet werden.
Dadurch kann man einen riesigen "Raum" simulieren. Das packt AGS problemlos, da ja nur die aktuell sichtbaren Tiles dargestellt werden müssen.
Auch Gegner und Gebäude werden per DrawingSurface.DrawImage() gezeichnet.

Mein Fazit wäre eher, dass es verdammt anspruchsvoll ist, ein Echtzeitstrategiespiel zu programmieren. Allein dynamisches Pathfinding ist eine relativ harte Nuss. Ohne absolut solide, weitgreifende Programmierkenntnisse macht es keinen Sinn, überhaupt erst anzufangen.
Titel: Re: Wirtschaftssimulationen mit AGS
Beitrag von: 1mal_volltanken am 09. Juni 2014, 12:26:58
Ja.

Das "Troopers" sieht wirklich ganz interessant aus.

Ich würde wahrscheinlich dann auch den Bildschirm aus Views zusammensetzen.

Doch ich denke auch, wenn man ein solches Spiel umsetzen möchte, dass man dann AGS wirklich schon aus dem FF beherrschen sollte.

Titel: Re: Wirtschaftssimulationen mit AGS
Beitrag von: Rocco am 12. Juni 2014, 11:34:51
Jan Simon / dkh / DoorKnobHandle ist mit seinem Dune2-Klon Troopers (http://www.adventuregamestudio.co.uk/forums/index.php?topic=33675.0) relativ weit gekommen.

Ja danke für den Tipp,
dieses Projekt ist damals an mir vorbeigegangen, schade dass er dann so abrupt damit aufgehört hat.
Sourcecode (ausschnitte) dazu hat er ja wohl nicht veröffentlicht oder?