Wirtschafts-Strategiespiele.

Übersicht Sonstiges Smalltalk

Gehe zu Seite Zurück  1, 2, 3, 4, 5, 6, 7  Weiter

Neue Antwort erstellen

 

Matthias

BeitragDo, Okt 06, 2011 22:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke Midimaster für deine Unterstützung.

Ursprünglich habe ich mir das ganz anders gedacht.
Ich wolte prüfen ob es ersteinmal überhaupt User gibt die solche Spiele mögen, und dann auch daran mitwirken würden.

Jeder hätte seine Ideen und Vorstellungen erklärt.
Es wäre ein Projektplanner gewählt worden.
Der hätte einige grobe Konzepte erarbeitet.
Die dann wiederum zur Abstimmung gestanden hätten.
Und genau an diesem Punkt ist mit der Demokratie vorbei.
Und des Planners Wort wäre Gesetz.

Warscheinlich habe ich schon viel zu viele Ideen offenbart. Was dazu geführt hat das es so rüber kam.
Ich will ein Spiel machen und suche einige die mir helfen.

Letzendlich wars dann auch so.
Weil die Interesse einfach viel zu gering war und ich das Projekt nicht sterben lassen wolte, habe ich mich bereit erklärt es wenigstens zu versuchen.
Und habe die Plannung übernommen. Obwohl ich weiß das ich nicht der Beste für diesen Job bin.
Ich hätte mich dann lieber selbst als Programmierer zur Verfügung gestellt.

Wenn es mir um mein eigendes Projekt gegangen wäre, hätte ich ein Konzept erarbeitet und unter Stellenanzeige Unterstützung gesucht.

Ich bin über die Kritiken nicht böse.
Schon allein die Tatsache von anderen lernen zu können, und ein Teamgefühl zu haben
solte Grund genug sein.

Und ich werde jedes Jahr aufs neue ein Megaprojekt anfangen.
Und versuchen soviele User wie möglich hinein zu ziehen.

BaseTH

BeitragFr, Okt 07, 2011 11:59
Antworten mit Zitat
Benutzer-Profile anzeigen
@ Matthias

Ich kann auf deinem Konzeptscreen nicht viel erkennen. Die Schrift ist dafür zu verzerrt. Magst du ein besseres Bild hochladen?

Gruß,
BaseTH
 

konstantin

BeitragFr, Okt 07, 2011 12:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Schrift erscheint bei dir nur verzerrt, weil das Bild automatisch gescaled wurde. Wenn du es direkt aufrufst, sollte es eigentlich lesbar sein... https://www.blitzforum.de/upload/file.php?id=10979

BaseTH

BeitragFr, Okt 07, 2011 12:19
Antworten mit Zitat
Benutzer-Profile anzeigen
@ konstantin

Das war die Lösung, daran habe ich so schnell nicht gedacht, danke. Smile

Gruß,
BaseTH

ZaP

BeitragFr, Okt 07, 2011 12:51
Antworten mit Zitat
Benutzer-Profile anzeigen
@Matthias: Wenn dein Konzept noch nicht ganz fertig ist, und Du des Englischen mächtig bist, kannst Du ja vielleicht auf dieses Design Document Template einen Blick werfen, das ist bestimmt nicht ganz unnützlich Smile
Starfare: Worklog, Website (download)

BaseTH

BeitragFr, Okt 07, 2011 13:12
Antworten mit Zitat
Benutzer-Profile anzeigen
@ Matthias

Ich konnte mir dank der Hilfe von "konstantin" dein Konzept mal ansehen. Ich finde das dieses doch recht lückenhaft ist.

Es wird z.B. angegeben das es eine Kleidungsproduktion geben soll aber dort werden keinerlei Ressourcen angegeben.

- Wird man Geld / Gold haben bzw. brauchen?
- Brauche ich Holz, Steine und Werkzeug zum bauen der Gebäude?
- Kann das Gebäude von Anfang an gebaut werden oder muss eine bestimmte Aufgabe erfüllt sein. z.B. eine bestimmte Einwohnerzahl wie es teilweise bei den Anno spielen vorkommt.

Bevor Ihr ans programmieren geht solltet Ihr wohl erstmal einen Plan ausarbeiten was genau an Inhalt vorhanden sein soll.

Also Dinge wie:

- welche Ressourcen wird / soll es geben.
- Welche Gebäude soll es geben.
- Soll vielleicht auch ein Multiplayer-Modus existieren

Alles was grundlegend geklärt sein sollte solltet Ihr erstmal genau zu Papier bringen, denn das wird euch einiges an Arbeit erleichtern.

Gruß,
BaseTH
 

Matthias

BeitragFr, Okt 07, 2011 14:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Hay BaseTH.

Du hast Recht. Diese Fragen tauchen im Konzept nicht auf.
Ersteinmal nur das nötigste.
Wollfarm, Weberei, Färberei. Als Porduktionskette.
Häuser kosten nur Geld.
Die Häuser kann mann immer bauen. Mann muß sie nicht freischalten.

Es geht ebend nicht darum ein Gebäude hinzuklatschen und es arbeitet fröhlich vor sich hin.
Nein mann muß sich dauert darum kümmern.
Um die Arbeiter, um die Scharfe, um die Marschienen(Webstühle).
Sie gehen kaputt. Die Scharfe werden von Krankheiten befallen usw.
Mann muß Nahrung bestellen. Oder Farben für die Färberei.

Doch wie komplex wir das tatsächlich machen hängt davon ab ob wir dazu überhaupt in der Lage sind.
Ich will uns nicht gleich überfodern. Deshalb ersteinmal so simpel wie möglich.

Multiplayer gibs schonmal garnicht.
 

PhillipK

BeitragFr, Okt 07, 2011 14:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Grundsätzlich würde ich das nicht als Komplexibilität im Code ansehen.
Wenn man ein Globales eventsystem einführt und ein paar werte für die einzelnene gebäude, ist das ganz einfach möglich.

Ist nur fraglich, ob dem Spieler das hinterher nicht zuviel wird Wink Ich denke, das ist wichtiger, als an den Code zu denken.

darth

BeitragFr, Okt 07, 2011 17:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

ich spiele dann mal wieder den bösen Manne vom Berg (passt ja.. habe sogar den Bart dazu!):

Ihr schreibt viel über "was" ihr machen wollt, und das klingt alles (halbwegs) durchdacht. Aber mich wundert, dass so wenig zum "wie" erwähnt wird. Das Spielkonzept ist ja das eine, das braucht es durchaus, um ein Spiel zu entwickeln, aber viel wichtiger ist (meiner Meinung nach zumindest) anfangs ein gescheites Grundsystem zu entwickeln.
Zum Beispiel: Es wird gesagt "ISO Map", aber ich lese nirgends ob 30°, 45° oder vllt sogar 90° (d.h Tilemap). Ich habe auch nirgends eine Tile-Grösse gelesen. Oder zum Beispiel, Performance-Fragen: wie gross soll eine Map denn sein? 10x10, 100x100, 12367x1032?
Oder ganz banale Fragen: Window Mode? Fullscreen? .. (Auflösung?)

Womöglich habt ihr das alles in euren TS/ICQ/Whatev Sitzungen besprochen, aber irgendwie bezweifle ich das. Man verrennt sich gewöhnlich zu sehr in "Planung" und vergisst die "Planung" (cool formuliert, nichtwahr?). Wenn ich ein Spiel beginne, schreibe ich zuerst eine solide Engine die zum Spieltyp passt (in eurem Falle wäre das wohl eine ISO-Map auf der X passiert (sollen Männchen rumlaufen? Strassen? Häuser? ...) und dann wird die einem Stress-Test unterzogen (krieg ich eine 1000x1000 Map überhaupt in ordentlicher Geschwindigkeit hin?), und DANN beginnt die Spieleplanung.
Zugegeben, das mache ich so, weil ich ein 1-Mann Team bin. Ihr könntet euch ja aufteilen, und während einer die Engine baut, kann der andere das Spiel planen. Aber es hat keinen Sinn für etwas zu planen, das man nie lauffähig kriegt (wieder Bsp Mapgrösse).

Und eine Anmerkung. Ich bitte dich (Matthias), mir nicht böse zu sein, aber BITTE lies deine Texte korrektur! Du machst so unheimlich viele Orthografiefehler, dass es nichtmehr schön ist die zu lesen. Ich hoffe wirklich (und wahrscheinlich wirke ich damit wie ein Troll), dass nicht du für Intro-/Hilfe-/etc Texte verantwortlich sein wirst. Ein Spiel kann noch so gut sein, wenn die Sprache völlig verkehrt ist, nimmt es niemand ernst - "All your base are belong to us".

Zitat:
Auserdem denke ich das wir es zu dritt ganz bequem schafen können.

Ein solch kurzer Satz, und dennoch so viele Fehler drin. "Ausserdem denke ich, dass wir es zu dritt ganz bequem schaffen können."
Ich werde es mir sparen, noch mehr Beispiele herauszupicken, ich bin nicht hier um jemanden bloss zu stellen. Aber bitte gebt euch in der Orthografie etwas Mühe. (Tipp: "man" würde ich mit einem n schreiben, weil du sonst die ganzen Frauen (die zugegebenermassen nicht hier sind) ärgerst..)

MfG,
Darth
Diese Signatur ist leer.

Midimaster

BeitragFr, Okt 07, 2011 17:58
Antworten mit Zitat
Benutzer-Profile anzeigen
ich würde persönlich an einer ganz anderen Stelle beginnen: Der Event-Engine! Die treibt später das Leben voran. Ganz egal ob 30° oder 45° Ansicht... die Spiel-Logik bleibt die selbe. Sie ist also eine Art Kernel. Man könnte theoretisch erst mal ein textbasiertes Ausgabesystem drumherumsetzen und müßte so nicht auf die Fertigstellung der Grafiken warten.

Sehr wichtig auch das Tuning der Akteure: Wer reagiert wie stark auf welchen Einfluß? braucht der Bauer mehr Harken, wenn er mehr Arbeiter einstellt? Wird also mehr Stahl benötigt? Steigt dadurch der Stahlpreis? Lohnt sich dadurch der Erzabbau? Vernichtet der nicht wieder Land? Tritt dann eine Hungersnot auf? Wird der Bauer jetzt seine Ernte teuerer verkaufen können? u.s.w

Ich würde mir sehr früh hierüber Gedanken machen. Der Trick wäre gleich zu Beginn einen TYPE für die Akteure zu erschaffen, der alle solche Wechselwirkungen berücksichtigen kann. Quasi Chaos- oder Schwarmverhalten, Wechselwirkungen in den Griff zu bekommen.
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe

skey-z

BeitragFr, Okt 07, 2011 18:25
Antworten mit Zitat
Benutzer-Profile anzeigen
@Darth

In einem ersten Design Dokument wird das 'wie' noch nicht benötigt, dieses stellt erst einmal dar, was das Spiel überhaupt können soll, um sich einen Überblick zu verschaffen.
Hierbei ist es egal, was für eine Art Iso-Map verwendet wird oder wie groß die Spielfläche werden soll, wichtig ist erst mal nur, dass festgelegt wird, ob eine Iso- oder Topdown-Tilemap.

Deine herangehensweise mag für ein 1-Mann-Projekt funktionieren, aber wenn es eine Gruppenarbeit werden soll, muss jeder sein Aufgabengebiet kennen und was das Spiel am Ende können soll.
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter
  • Zuletzt bearbeitet von skey-z am Fr, Okt 07, 2011 18:26, insgesamt einmal bearbeitet
 

Matthias

BeitragFr, Okt 07, 2011 18:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Midimaster hat vollkommen Recht.
Erst das Grundsystem. Dann gehts an die Details.

Die Eventklasse heißt bei mir TCommando. Sie steuert den Ablauf.

Code: [AUSKLAPPEN]

Type TCommando
Global List:TList=New TList
Field Typ:String
Field SA:String,SB:String,SC:String
Field SD:String,SE:String
    Function Update()
      Local C:TCommando
       For C=EachIn TCommando.List   
         Select C.Typ
           Case "AddPanel" TPanel.Create(C)
            Case "AddMenü" TMenu.Create(C)
            Case "ChangeMenü" TGui.ChangeMenu(C)
          Case "SetColor" TGui.Color(C)
          Case "AddText" TMenu.AddText(C)
          Case "LoadFont" TFont.Load(C)
          Case "UpdText" TText.Update(C)
          Case "LoadMap" TWorld.Load(C)
         End Select ListRemove(List,C)
      Next
    End Function
   
   Function Add(T:String,S1$,S2$="",S3$="",S4$="",S5$="")
      Local C:TCommando=New TCommando C.Typ=T
      C.SA=S1 C.SB=S2 C.SC=S3 C.SD=S4 C.SE=S5
      ListAddLast(List,C)   
    End Function
End Type


Ansteuern kann ich sie dann so.
Im Gamesetup.

Code: [AUSKLAPPEN]

   TCommando.Add("LoadFont","Arial","Data\Gfx\Arial.png")
   TCommando.Add("LoadMap","Data\World\Mittelmeer")
 
   TCommando.Add("AddPanel","Panel1","Right","Up")
   TCommando.Add("AddMenü","StadtMenü",300,300)
   TCommando.Add("SelectMenü","StadtMenü")
   TCommando.Add("SetColor",255,255,255)
 
   TCommando.Add("AddText","Text1",10,20,"Hallo1")
   TCommando.Add("SetColor",100,200,255)
   TCommando.Add("AddText","Text2",10,40,"Hallo2")
   TCommando.Add("UpdText","Text1","Hallo1")
   TCommando.Add("ChangeMenü","StadtMenü","Panel1")


Code: [AUSKLAPPEN]

----Mainloop------------------
Repeat Zahl=Zahl+.02
   ClearScreen()
   CheckMouse()
   TCommando.Add("UpdText","Text1",Int(Zahl)) ;<<<<Schreibt einen Text auf ein Panel.
   TCommando.Update()
   TWorld.Update()
   TWorld.Draw()
   
   TGui.Update()
   TGui.Draw()
   Flip 0 WaitTimer(GameTimer)
Until KeyDown(KEY_ESCAPE)
 

MasterK

BeitragSa, Okt 08, 2011 0:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Midimaster hat Folgendes geschrieben:
[...]Der Event-Engine![...]

Ich zitiere da mal: Write games, not engines.

Nun ja.

Matthias hat Folgendes geschrieben:
Die Eventklasse heißt bei mir TCommando. Sie steuert den Ablauf.

TCommand wäre vielleicht doch besser.

Matthias hat Folgendes geschrieben:

Code: [AUSKLAPPEN]

Type TCommando
Global List:TList=New TList
Field Typ:String
Field SA:String,SB:String,SC:String
Field SD:String,SE:String
    Function Update()
      Local C:TCommando
       For C=EachIn TCommando.List   
         Select C.Typ
           Case "AddPanel" TPanel.Create(C)
            Case "AddMenü" TMenu.Create(C)
            Case "ChangeMenü" TGui.ChangeMenu(C)
          Case "SetColor" TGui.Color(C)
          Case "AddText" TMenu.AddText(C)
          Case "LoadFont" TFont.Load(C)
          Case "UpdText" TText.Update(C)
          Case "LoadMap" TWorld.Load(C)
         End Select ListRemove(List,C)
      Next
    End Function
   
   Function Add(T:String,S1$,S2$="",S3$="",S4$="",S5$="")
      Local C:TCommando=New TCommando C.Typ=T
      C.SA=S1 C.SB=S2 C.SC=S3 C.SD=S4 C.SE=S5
      ListAddLast(List,C)   
    End Function
End Type


Das ist, mit verlaub und ohne BB zu können, kein sonderlich guter code und wird bei teamarbeit dazu führen, dass ihr den code irgendwann nicht mehr werdet bändigen können.
+++ www.masterk.de.vu +++
Lila FTW!

das wurgel

BeitragSa, Okt 08, 2011 0:38
Antworten mit Zitat
Benutzer-Profile anzeigen
@Mathhias
Mach doch lieber erstmal das Konzept fertig, bevor du auch mit programmieren anfängst. Du hast bis jetzt einen Baum, der darstellt, wie die GUI ausehen wird und daran kann man nur sehr ungefähr erkennen, wie das Spiel später abläuft. Hast du dir überhaupt schon überlegt, wann man in dem Spiel gewonnen hat?

Deinen Code finde ich irgendwie ziemlich unsinnig. Warum erst den Funktionsnamen und die Parameter als Strings in eine Liste speichern, anstatt die Funktionen einfach direkt aufzurufen?


darth hat Folgendes geschrieben:
Zum Beispiel: Es wird gesagt "ISO Map", aber ich lese nirgends ob 30°, 45° oder vllt sogar 90° (d.h Tilemap). Ich habe auch nirgends eine Tile-Grösse gelesen. Oder zum Beispiel, Performance-Fragen: wie gross soll eine Map denn sein? 10x10, 100x100, 12367x1032?

Du wirst lachen, das habe ich sogar schon festgelegt. Steigung der X und Z achse soll 3:4 sein. (Bei normaler Isometrie sinds wurzel drei drittel, das ist mir zum krumm). Tilemap soll nur eine Bodentextur, später vielleicht ein paar verschiedene Bodentextuen sein. Wie groß die Map ist, wird performance-mäßig kaum eine Rolle spielen.
1 ist ungefähr 3

BaseTH

BeitragSa, Okt 08, 2011 13:58
Antworten mit Zitat
Benutzer-Profile anzeigen
@ Mathhias ,das wurgel und alle anderen am Projekt beteiligten

Ich denke sehr stark, dass Ihr unbedingt euch nochmal zusammen setzen solltet und euch ein klares Konzept erarbeiten solltet. Danach solltet Ihr dir einzelnen Teilparts des Projektes untereinander aufteilen.

So wie ich das sehe wird euer Projekt wohl, wie es leider schon einige angekündigt haben, sehr schnell scheitern.

Fangt doch mit dem programmieren erst nach einem vollständigen Konzept an, lieber werden nicht alle Dinge umgesetzt als dass Ihr euch später noch eventuell streitet da es keine klare Struktur gibt.

Im Sinne des Projektes wünsche ich viel Erfolg und Gruß,
BaseTH

Midimaster

BeitragSa, Okt 08, 2011 19:10
Antworten mit Zitat
Benutzer-Profile anzeigen
@Matthias,

ich glaube, da hast Du mich grundlegend falsch verstanden, was ich unter meinen Events meine. In meinem Event-Modell handelt es sich nicht um Events der Mitspieler oder des Programms, sondern um die Ereignisse die das "Leben" in dem Spiel so hervorbringt. Ich meine damit Ereignisse, die von den Spielelemten ausgelöst werden und die von anderen Spielelementen wiederum wahrgenommen werden.

z.b. Du bist der Bauer und stellst 10 Landarbeiter ein. Diese Nachricht ist ein Event. Du kaufst für diese Arbeiter 10 Arbeitsgeräte. Das ist auch ein Event. So weit so gut, aber jetzt kommt's: Der (autom. Hintergrund-Robot-)Schmied erhält diese Nachricht und sendet nun seinerseits eine Nachricht, dass er mehr Eisenerz benötigt. Diese Nachricht fängt wiederum die Mine auf und erhöht ihre Prosuktion oder erhöht die Preise,... und so weiter und so weiter....

Har jemand sowas schon mal in ein eigenes Programm eingebaut?
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe
 

PhillipK

BeitragSa, Okt 08, 2011 19:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Das hin und her gesende von events klingt zu kompliziert.

Ich denke, das globale Werte hier besser angebracht sind.

Beispiel:
Bauer stellt 10 Arbeiter ein. Die Arbeitslosen Quote in der Stadt ist 15. Dadurch sinkt die Arbeitslosigkeit momentan auf 5.
Andere Städte haben eine weit höhere Quote, zb 50. Da in deiner Stadt die Quote nun so gering ist, hoffen die menschen auf mehr arbeit -> Menschen wandern aus Stadt2 nach Stadt1.

Die 10 Arbeiter brauchen Harken und ein Karren wird benötigt.
Eine "Nachfrage" variable für Harken wird auf 10 gesetzt und es werden wieder 10 nach und nach Nachproduziert.
Dadurch wird je ein Eisenerz benötigt, weshalb die Mine versucht, durch einen weiteren Arbeiter den vorrübergehend angestiegenen Bedarf zu decken.

-> Alles wird aus Globalen werten gezogen, die aufeinander zugreifen. Nix mit "Events" am Schwarzen brett - sonst wirds zu Kompliziert! :O

Für mein Beispiel benötigt:

Vorrat an Eisen, Eisenerz, Harken, Arbeitslosen
Nachfrage Eisen, Eisenerz, Harken, Arbeitslosen

Jeder Betrieb etc hat eine eigene "Grundproduktion", zb eine Sense und eine Harke, welche sich abwechseln.
Steigt nun die nchfrage an Harken, wird die gewichtung von Harken erhöht, wodurch zb auf eine Sense 5 Harken produziert werden, gleichzeitig verringert aber jede Produzierte Harke die Nachfrage wieder um 1.

Fazit: Jedes ANFORDERN einer Ressource (Eisen, Eisenerz, Harke, Arbeitslose) erhöht die NACHFRAGE um 1, und verringert den VORRAT um 1.
Jeder Betrieb versucht pro Monat den NACHFRAGEN bestmöglich nachzukommen und gewichtet die Produktion dementsprechend. Pro PRODUZIERTES PRODUKT verringert es die NACHFRAGE wieder um 1, bis irgendwann (ohne größere Nachfragen) der Normalbetrieb wieder hergestellt ist.

Ein wesentlich überschaubares Prinzip, da man nun nurnoch jeden Rohstoff mit n verschiedenen Bedarfsgebäuden und x verschiedenen Produktionsgebäuden koppeln muss, welche selbständig bestimmen, was Phase ist.

Die Werte der NACHFRAGE und des LAGERBESTANDES lassen sich nun gleichzeitig für Preiskalkulationen Nutzen. Auch die Füllmenge im Lager ( 100 Holz können gelagert werden, 10 sind vorrätig -> 0.1 gefüllt -> hoher verkaufspreis ) haben einen einfluss.


Wo ich so darüber schreibe, hab ich gleich lust, ein solches Prinzip zu programmieren Sad Mist ey ^^

Edit:

Dadurch, das Produzierte Waren gleichzeitig die Nachfrage drücken, könnte ab einer gewissen NEGATIVEN NACHFRAGE, dh zb ab -40, etwas erweitert werden. Das bedeutet nämlich: waren sind im Überlfuss in der stadt vorhanden.
Das könnte Fahrende Händler auf den Plan rufen, welcher gleich 100 einheiten einer Ware kaufen möchten um ihr Glück im Inter-städtischen Handel zu versuchen.
Natürlich ruft das einen höheren Fahrenden - Händler anteil hervor, welche wiederrum Banditet mit sich ziehen.
Diese überfallen Teilweise Händler und der Spieler wird gezwungen sein, seinen eigenen Insterstädtischen Handel zu schützen, indem er Söldner anheuert. Er ist selber schuld, er hat die Stadt mit einer Ware "Reich" gemacht

Hätte er gleichmäßig mehrere Waren Produziert, hätte die Stadt evtl genügend "Überschüssige" ressourcen für eine Expansion abzweigen können, was wiederrum die Wachen etc erhöht und die Banditen abschreckt.

Hachja Smile Vielleicht hilft mein gesülz ja bei der Planung. Es macht spass, das durch zu kalkulieren^^
 

Matthias

BeitragSa, Okt 08, 2011 20:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok.

TCommando. Ist nicht das was Midimaster meinte.
Es wäre schön wenn Midimaster einen simplen Beispielcode zeigt.
Ich bin neugierig.

Aber sie sorgt dafür das ich die Kontrolle behalten kann welche Function welche Aufgaben an wem verteilt.
Das keine Klasse ohne mein wissen in einer anderen klasse was verändert.

Amazorn

BeitragSa, Okt 08, 2011 21:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

Ich lese den Thread mit Interesse und habe mich hier auch mal angemeldet. Von Blitz habe ich nur die Demoversion. In der Programmierung liegt aber auch nicht mein Schwerpunkt. Ich mache ganz gern Grafik.

Aus dem Spielziel werde ich noch nicht ganz schlau.

Soll es ein Aufbauspiel werden, indem man handelt um Städte zu bauen und diese managed? Oder wird es eher ein Spiel in dem es darum geht möglichst viel Geld zu erwirtschaften?

Wie wäre es wenn ihr erstmal die Sache stark vereinfacht um die Spielmechanik zum laufen zu bringen?

Nehmt z.b. 2 Ressourcen, Holz und Fisch.

Mit Holz kann man Hütten und Boote bauen, mit Fish als Nahrung wächst die Bevölkerung.
Pro Boot braucht man 4 x "Bevölkerung" damit kann man dann zur nächsten "Insel" fahren und eine neue Kolonie errichten.

Läuft dieses Minispiel ohne Probleme, so kann man weitere Ressourcen hinzufügen und auch Micromanagement einbauen wie Krankheiten, Handel, Krieg, usw.

Midimaster

BeitragSo, Okt 09, 2011 1:26
Antworten mit Zitat
Benutzer-Profile anzeigen
@PhillipK

aber widerspräche dies nicht dem Prinzip einer Objektorientierung? Dein Vorschlag würde ja bedeuten, dass an zentraler Stelle im Programm alle Akteure und ihr Verhalten bekannt sein müßten. In meinem Modell muss der Spielkernel nichts über die "Logik" der Akteure wissen, da die einzelnen Akteure in Ihren "Properites" für sich alleine damit umzugehen wissen.

Früher habe ich auch mal eine solche Simulation geschrieben und auch die Akteure mit einer Art "Überinstanz" verwaltet. Ergebnis: Das Spiel wurde extrem vorhersehbar. Heute würde ich sowas anders machen. Gerade in Zeiten von Netzwerkspielen könnten ja soviele Individuen mitspielen, dass sich schwarmähnliches herausbildet.

Ich fände das extrem spannend. Und es gefällt mit der Gedanke, dass das Spiel jederzeit um neue Akteure erweiterbar wäre, die aufgrund Ihrer "Properties" problemlos in die Engine integriert werden könnten. Die Engine würde gewisserrmaßen jede Art neues Lebewesen aufnehmen können.

Die Resourcen kann man tatsächlich zentral erfassen und ihre Menge feststellen und so daraus einen Preis ermitteln. Das ist, als ob alles über eine Art "Börse" gehandelt wird. Aber diese Börse sollte eben nicht über feste Vorgaben agieren, sondern den Markt einer Periode beobachten und aus dem Bestand/Bedarf/Umsatz/Fehlbestand eine Art Preis erzeugen. Wie aber dann die Teilnehmer darauf reagieren, sollte deren "Geheimnis" bleiben. So könnten einige auf knappen Weizen mit "Erstellen neuer Felder" reagieren, andere könnten versuchen zu horten, dritte könnten einfach verhungern... Sad


@Matthias

code..? Embarassed Tja, das Ding wäre noch zu entwickeln und lässt sich gar nicht so aus dem Ärmel schütteln. Ich habe sowas ja noch nie gemacht und daher stelle ich es hier ja zur Diskussion. Vielleicht hat ja jemand schon Erfahrungen in dem Bereich gesammt und kann uns hier mal sagen, ob sowas klappt?

Ich stelle mir das so vor:

Jedes neue "Lebenwesen" wird über viele Eigenschaften definiert. Mal abgesehen von denen, die auch sinst so zu einem Spiel gehören wie X,Y und Image, etc... wäre dann eben die, die seinen Bedarf beschreiben und sein Verhalten bei ganz best. Umweltbedingungen.

Letzendlich ist es vielleicht so:

1. INPUT
Mein Bedarf wird durch INPUT gedeckt, d.h. ich verbrauche Resourcen. Kaufe oder nehme sie mir jede Runde von einem anderen "Lebewesen". Bei manchen Inputs wie Luft kann das Lebewesen keine Kompromisse machen, bei anderen wie "Essen" kann es sich auf die Umwelt in gewisser Weise einstellen.

2. EVOLUTION
Dann wachse ich daran, d.h. bestimmte Eigenschaften von mir ändern sich.

3.OUTPUT
Schließlich emitiere ich auch was in der Runde, z.b. die Bezahlungen für meinen Kauf. Oder "spende" meine Properties am Ende meines Livecycle (wie "Ernte").

Jedes Lebewesen sollte also genaue Werte mitbekommen, wie es auf seine Umwelt reagiert. z.b. Arbeiter essen nicht immer gleich viel. Es kommt darauf an, wieviel das Essen kostet. Je besser sie sich Essen leisten können, desto mehr konsumieren sie, leisten aber auch mehr. In Werte gepresst ergäbe sich vielleicht folgende Momentaufnahme:
Zitat:

*** ID 10345 ***
[Input]
WasserNoetig=50

[Properties]
ID=10345
Typ=ARBEITER
Geld=2.000
Gesundheit=100
Arbeitsplatz=1
ArbeitetBei=ID20456
Wohnsituation=100
WohnOrt=ID304
Alter=240

[Evolution]
Gesundheit=+Essen*0.01 + Wasser*0.1 + Wohnsituation*0.01
Arbeitskraft = 800+2*Gesundheit
Alter= +1
Ende= 40*12 +Gesundheit*0.1

[OutPut]
Arbeit=Arbeitskraft
Ernte=0


hier mal ein Weizenfeld:

Zitat:
*** ID 20456 ***
[Input]
WasserNoetig=500
PflegeNoetig=30
PflegeEingang=3000

[Properties]
ID=20456
Typ=WEIZEN
Geld=0
Gesundheit=100
Arbeitsplatz=0
ArbeitetBei=ID4501
Wohnsituation=100
WohnOrt=ID303
Alter=5

[Evolution]
Gesundheit=+Pflege*0.1 + Wasser*1
Arbeitskraft = +2*Gesundheit
Ende=6

[OutPut]
Ernte=Arbeitskraft*100


und hier der dazugehörende Bauer:
Zitat:

*** ID 4501 ***
[Input]
EssenNoetig=900 + 2*Geld
WasserNoetig=50
Ernten

[Properties]
ID=4501
Typ=GRUNDBESITZER
Geld=150.000
Gesundheit=100
Arbeitsplatz=0
ArbeitetBei=ID4501
Wohnsituation=100
WohnOrt=ID303
Alter=440
Land=23

[Evolution]
Gesundheit=+Essen*0.01 + Wasser*0.1
Arbeitskraft = 800+2*Gesundheit
Alter= +1
Geld= +Land +Ernten
Ende=40*12+Gesundheit*0.1
[OutPut]
Arbeit=0
Ernte=0
Löhne=...



Arbeitet nun der Arbeiter, wird pro Runde dem Bauern das Gehalt dafür abgezogen. Die Arbeitskraft wird wiederum dem Feld zugute kommen auf dem der Arbeiter arbeitet.

Für diese Situation wäre jetzt schon eine "Wasser-Quelle" nötig und eine Wohnstadt.

Ich bin mir eben aber nicht sicher, ob man so nen Code (oder "Code-Ungetüm") in den Griff bekommt.
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe

Gehe zu Seite Zurück  1, 2, 3, 4, 5, 6, 7  Weiter

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group