Wirtschafts-Strategiespiele.
Übersicht

Gehe zu Seite 1, 2, 3, 4, 5, 6, 7 Weiter
MatthiasBetreff: Wirtschafts-Strategiespiele. |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Viele Tage habe ich im Internet nach Spielen gesucht die ähnlich wie Port Royal, Der Patrizier und Co sind.
Zur ernüchterung mußte ich feststellen das es kaum noch solche Spiele gibt. Wo sind sie denn geblieben? Einfach nur ganz gemütlich vor sich hin spielen ohne Stress und Hektik. Ist einfach nicht mehr möglich. Und da habe ich mir gedacht, das so ein Spiel ein Wunderbares Community-Projekt sein könnte. Vorstellbar wäre folgendes Besispiel: Anno 800.n.C. Riga an der Ostsee. Kann auch am Mittelmeer, Japan oder sonstwo sein. Ein Sohn erbt von seinem Vater einen Bauernhof. Auf dem Scharfe weiden. Nun beginnt er seine Wolle an den Meistbietenden Händler zu verkaufen. Kauft/züchtet neue Scharfe und stellt Knechte ein. Baut für diese kleine Baracken. Später baut er dann Weberein und verkauft die Kleidung an Händler oder an das Dorf. Auch kann er Esel kaufen und Ställe für diese Bauen. Somit ist es ihn möglich seine Kleidung zu anderen Dörfern transportieren zu lassen. Um diese dort verkaufen können. Und erst ganz zum Schluß hat er genug Geld zusammen um ein Schiff kaufen zu können, mit dem er seine Produkte in der ganzen Welt verkaufen kann. Auch könnter er eine Färberei bauen lassen um auch Luxuskleidung herstellen zu können. Doch damit nicht genug. Er könnte in das Töpfergewerbe einsteigen wenn er eine Tongrube kauft. Eine Schmiede, oder auch Luxuslebensmittel wie Honig usw produzieren und verkaufen lassen. Besonders wichtig ist jedoch nicht nur Profit zu machen sondernt sich auch um die Angestellten zu kümmern. Der emotionale Aspekt ist mir dabei besonders Wichtig. Der Sohn des Schäfers ist krank. Nun erscheint ein Text. Maria Ehefrau von Schäfer Kahl fragt. Herr XYZ mein Sohn ist krank. Mann hat nun drei Möglichkeiten. 1. Ist mir egal pech gehabt. 2. Maria bekommt Geld für Medizien. 3. Schäfer Kahl bekommt frei um sich um seinen Sohn zu kümmern. Die Menschen im Dorf befundern einen für seine Menschlichkeit und es werden Plätze oder Straßen nach einen bennant. Oder mann wird Bürgermeister oder ähnliches. (Schmeichelt das Ego ![]() Die Umsetzung solte möglichst einfach sein. Isometriche Ansicht der Gebäude. Kein 3D. Kein Online. Kein Lua oder sonstwas für ein Schnicknack. Meine frage ist nun wie findet ihr die Idee. Und gibt es Forummitglieder die Interesse haben daran mitzuwirken? Für mich allein wäre es einfach zuviel Arbeit. |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die Spielidee ist nicht schlecht, aber ohne richtiges Konzept überlebt das Projekt die nächste Woche nicht.
Eine Sammlung von mehr oder weniger wichtigen Gameplay Elementen ist nichts, womit man arbeiten könnte - jedenfalls nicht in einem Team. Es braucht klare Spezifikationen von jedem Teilstück, damit man was dazu beitragen kann. Es braucht Meilensteine um den Fortschritt zu zeigen und die Moral des Teams hoch zu halten. Und du solltest super gut im organisieren sein. Als Arbeitserleichterung für dich wird das nichts - da hast du allein weniger zu tun. Ansonsten: Viel Erfolg! Go Megaprojekt 2011! |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Matthias |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@Xeres.
Du hast volkommen Recht. Ein Konzept werde ich natürlich entsprechend ausarbeiten. Wenn mann sich über die Eckdaten geinigt hat. Vorausgesetzt Interesse besteht. Es ist nur eine ganz grobe Richtung. Bei der noch viel platz für Ideen und Erweiterungen bleiben. Wenn dann endlich alles halbwegs unter Dach und Fach ist, werde ich ein Detailtes Konzept ausarbeiten, von dem dann auch auf gar keinen Fall abweichen darf, egal welche Ideen nachträglich noch entstehen. Und ich bin davon überzeugt das ich es gut organisieren kann. Habt einfach mal vertrauen!!! Go Miniprojekt 2011! ![]() |
||
![]() |
das wurgel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich werde mich eventuell daran beteiligen. Welche Sprache solls denn sein? Ich wäre dafür wir machen das in BlitzMax und versuchen es möglichst objektorientiert zu machen. Dann lässt sich das Konzept besser auffassen und es können leichter Teilaufgaben vergeben werden. Die Bilder können wir uns von hier holen, da gibts Gebäude, Menschen, Tiere, alles freeware, alles im isometrischen Format, oder wir finden einen Grafiker. | ||
1 ist ungefähr 3 |
Matthias |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@das wurgel
Natürlich BlitzMax. Und natürlich möglichst objektorientiert. Das mit der Grafik ist schonmal echt super. Hast du noch ergänzende Ideen die du einbringen willst? Bestimmte Systemprogrammierungen die du besonders gerne machen willst. zum Beispiel: Isometriches Grafik-System. Benutzeroberflächensystem. (GUI) Wirtschaftssystem. (Preiskalkulationen) Speichersystem. Sind jetzt nur die wichtigsten Systeme die benötigt werden. |
||
![]() |
ZaPBetreff: Re: Wirtschafts-Strategiespiele. |
![]() Antworten mit Zitat ![]() |
---|---|---|
Matthias hat Folgendes geschrieben: Zur ernüchterung mußte ich feststellen das es kaum noch solche Spiele gibt. Wo sind sie denn geblieben?
Der Durchschnittsgamer (also die Gruppe mit der meisten Kohle, im Grunde die Verantwortlichen für das sinkende Niveau von Videospielen im letzten Jahrzehnt) hat nicht die Geduld dafür. Innerhalb Deutschlands mögen sich solche Spiele verkaufen, z.B. Anno und Die Siedler. Es gibt ja auch den Begriff "German Wuselfaktor" ![]() Viel Erfolg für das Projekt! |
||
Starfare: Worklog, Website (download) |
Matthias |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ok dann Oute ich mich als solch ein "German Wuselfaktor" Freak.
Und ich bin mir sicher das es noch viel mehr meiner dritten Art gibt. ![]() Und ja ich würde sogar 30 bis 50 Euro ausgeben, für ein Spiel mit Langzeitspielspass. Aber nicht für ein Spiel mit 10 Level, wo mann irgendwelche Alliens abknallen muß und wenn mann gut genug war ist das Blut plötzlich Rot anstatt Grün. ![]() |
||
- Zuletzt bearbeitet von Matthias am Fr, Sep 30, 2011 16:59, insgesamt einmal bearbeitet
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Communityprojekt, hm?
Um einer Enttäuschung vorzubeugen: Geh lieber davon aus, dass es nicht klappt. ABER: Mich würds schon interessieren. Bei uns an der Uni war grade Sopra und die sollten ein "Siedler von der Saar" programmieren. Fand ich eigentlich recht interessant. Ich würd dir aber raten: -Entweder das ganze Konzept weiter auszubauen und dir dann ein Team zu suchen Oder -Dir ein Team zu suchen um mit ihm das Konzept zu erarbeiten. In jedem Fall muss dir klar sein (das hat Midimaster neulich irgendwo geschrieben und da gebe ich ihm Recht), dass es eine Projektleitung geben muss, die die Verteilung der Aufgaben etc übernimmt. Lg, M0rgenstern |
||
Matthias |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@M0rgenstern.
Ohne anmaßend zu sein. Ich übernehme die Projektleitung, und die Verantwortung. Ich erstelle das Spielkonzept. Die Menüführung sowie den zeitlichen Ablauf. Ich übernehme die Planung und die Kontrolle über das Projekt. Und ich teile ein wer was bis wann zu tun hat. Ohne ihn/ihr zu überfodern. Ideenfindung. Welche Betriebe, Rohstoffe, Produkte soll es geben. Grobkonzept Was soll der Spieler alles machen können. Ohne ins Detail hinein zu gehen. Detailtes Konzept. Welche Systeme werden benötigt. Und mit welchen Datenstruckturen kann mann dies erreichen. Welche Abhängigkeiten haben einzelne Systeme untereinander. Und wie wirken diese zusammen. Das sind alles sachen die ich übernehmen werde. Das einzigste was Demokratich ist, ist die Idenfindung. Alles andere wird von mir hierarisch delegiert. |
||
![]() |
das wurgel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich könnte den Teil für die isometriche Grafik programmieren. Ich hab mir außerdem Gedanken macht, wie man das Spieltechnische (z.B. Bewegung von Spielfiguren, Abläufe, Kollision) vom Zeichentechnischen trennen kann und wie man bewerkstelligen könnte, die Bilder dynamisch zu laden und dann einen groben Entwurf gemacht. Ist aber nur ein Vorschlag, wir können es ja noch ändern oder es komplett anders machen.
Gehen wir mal von diesen Spielobjekt Typen aus: Code: [AUSKLAPPEN] Type TSpielobjekt abstract
Field zeichner:TSpielobjektZeichner Method update() Abstract Method draw(){ If zeichner Then zeichner.draw() } Function Create:TSpielobjektZeichner() abstract End Type Type TKarte extends TSpielobjekt Field kartenrelevante dinge z.B. tilemap Field kartenObjekte:Container<TKartenobjekt> Create(){ zeichner=TKartenZeichner.Create(Self) } End Type Type TKartenobjekt extends TSpielobjekt Abstract Field x, y, z Field frame End Type Jeder Typ von Spielobjekten hat seinen eigenen Zeichner-Typen: Code: [AUSKLAPPEN] Type TSpielobjektZeichner abstract
Global view_x, view_z Global initialized=False Method new(){ If Not initialized Then Init() } Method draw() abstract Function Create:TSpielobjektZeichner() Abstract Function Init() Abstract 'zum Bilder laden End Type Type TKartenZeichner extends TSpielobjektZeichner Global TImage-Objekte, die zum zeichnen benötigt werden Field karte:TKarte Method draw(){ } Function Create:TKartenZeichner(karte:TKarte){ self.karte=karte } Function Init(){ bilder laden } End Type Type TKartenobjektZeichner extends TSpielObjektZeichner Abstract ' Für Objekte, die sich auf der Karte bewegen Field kartenobjekt:TKartenobjekt Field image:TImage Field imagePlaceholder:TImagePlaceholder draw () { 'objekte mit den Informationen von kartenobjekt zeichnen 'falls zum zeichnen weitere Informationen benötigt werden, ' wird sie vom erweiterten Type überschrieben } Method getImage:TImage(){ If image=Null Then image=imagePlaceholder.getImage() return image } Function Create:TKartenobjektZeichner(kartenobjekt:TKartenobjekt) { self.kartenobjekt=kartenobjekt } Function Init() Abstract 'Bilder laden End Type TKartenobjektZeichner zeichnet bereits bilder an den Koordinaten des Kartenobjekts mit dem gewünschten Frame. Mit diesem Type könnte man das Bilderladen umsetzen: Code: [AUSKLAPPEN] Type TImagePlaceholder
Global all:Container<TImagePlaceholder> Field path:String Field image:TImage Method new(){ all.add(self) } Method getImage:TImage(){ If image=null Then load() return image } Method load(){ image = LoadImage(path) } Function Create:TImagePlaceholder(path:String){ } Function LoadAll(){ } End Type Und das jetzt angewendet auf das Beispiel einer Färberei: Code: [AUSKLAPPEN] Type TFaerberei extends TKartenObjekt
Method update() { } Function Create:TFaerberei(){ zeichner=TFaerbereiZeichner.Create(Self) } End Type Type TFaerbereiZeichner extends TKartenObjektZeichner Function Init(){ imageplaceholder=TImagePlaceholder.Create(dateiname) } End Type Wie wär das? |
||
1 ist ungefähr 3 |
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mensch toll! Das wäre ja genau sowas, wie ich mir in diesem Beitrag vorgestellt hatte: https://www.blitzforum.de/foru...hp?t=37695
Damit das Ganze eine Chance hat, sollte man sich von vorn herein über den zeitlichen Rahmen im Klaren sein. Lieber erst mal eine kleine Version 1 und später eine Vergrößerung, als gleich zu Beginn das Projekt zu umfangreich anlegen. Wurgels Vorschlag mit Trennung von Spieltechnik von Zeichentechnik ist unbedingt einzuhalten. Bevor aber die erste Code-Zeile geschrieben ist, sollte eine Story stehen: Wer handelt? Was? Wann? Mit Wem? Warum? Welche Faktoren wirken erwartungsgemäß mit? Welche Ereignise könnten "unerwartet" für Spannung sorgen. Gewaltfrei? 2D,3D? Bei der Code-Struktur würde ich das Ganze nicht unnötig kompliziert gestalten. Je "abgefahrener" Euer Code ist (z.b. Wurgels C-Beitrag?), desto weniger Freiwillige werden mitmachen! Erste Maxime: Hautsache es läuft! Zweite Maxime: Hauptsache es läuft ausreichend schnell! Das soll heißen: Optimierungen nur das wo sie angebracht sind. Man verwendet best. Code-Technologien (Abstract, Reflections, Rekursionen, etc) immer nur, wenn es nicht anders geht und nie um ihrer selbst Willen! Timing: Die Spielfunktionen-Funktionen von 1msec auf 0.5msec zu drücken ist schlichtweg Unsinn. Die Grafikausgabe zu optimieren meist sinnvoll, etc... Zu klären wäre auch, wie alt ein Rechner sein darf, dass das Spiel darauf noch läuft. Auch hier schießen viele Coder oft über das Ziel hinaus und schränken so den Kreis der User ein. |
||
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe |
Matthias |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@das wugel
Ich freue mich sehr über deine Interesse. Auch auf das Risiko hin das ebend diese verloren gehen könnte, muß ich leider sagen das du schon zu voreilig warst. Wie Midimaster schon schrieb OOP ist gut aber nur wenns sein muß. Der Code solte dennoch vereinfacht sein, auch auf das Risiko hin das sich dies letzendlich als zu kurz gedacht herausstellen solte. Ich finde es super das du dir gerade einer der schwersten abschnitte zutraust. Für das Isometriche Grafiksystem habe ich schon sehr genaue vorstellungen wie die Datenstrucktur sein müßte. Schematich. Code: [AUSKLAPPEN] ------Mainloop------- TWorld.Update() TWorld.Draw() ....... ....... -----End Mainloop---- Type TWorld Global BuldingDummys:TList Global SelectTown:TTown Function Setup() /Init() GebäudeDummys Laden (.ini oder .txt Datei) Zu GebäudeDummy-Liste Hinzufügen. End Function Function Update() Alle berechnungen für jede Stadt jedes Haus jede Figur werden durchgeführt. Warenproduktion/Verbrauch ect. End Function Function Draw() SelectTown.Draw() End Function End Type Type TTown Global AnzeigeListe Field GebäudeListe Field BaumListe Method AddBullding(GebäudeTypName$,X,Y) Gebäudedummy suchen und kopieren Instance zu GebäudeListe Hinzufügen End Method Method Draw() Alle Gebäude die im sichtbaren Bildschirmbereich sind zur AnzeigeListe Hinzufügen. Alle Bäume die im Sichtbaren Bildschirmbereich sind zur AnzeigeListe Hinzufügen. AnzeigeListeSortieren() Nun die AnzeigeListe Durchgehen und die Bilder Anzeigen. +Zoomen +Bezugspunkt (evt später drehen 4 Richtungen) AnzeigeListe löschen. End Method Function AnzeigeListeSortieren() Las dir was einfallen. End Function End Function Type TBulldings Field Player,Name$,X,Y,Typ usw End Type So in etwa sieht das Grundgerüst für die Welt aus. Später folgen dann noch die Figuren (evt Pfadfinding für diese) Sowie Schiffe/Esel. Ramspeicher ist hierbei unerheblich deshalb kann auch jedes Gebäude obwohl gleichen Types unterschiedliche Verarbeitungsgeschwindigkeiten besitzen. @Midimaster. Du hast volkommen Recht. Die älteren sind wie schon gesagt im Beruf oder Studium und habe deshalb auch besonders wenig Zeit. Und wenn sie noch Programmieren dann natürlich richtig. BMax OOP usw. Ich denke BlitzMax ist schon zu komplieziert. Mit den ganzen OOP, Methoden, Ableitungen usw. Es bietet deutlich mehr Möglichkeiten durch Komplexheit. Doch die jungend von heute steckt viel zu tief in WOW-Welten fest. Ein Spiel mit Emotionalen Wusel-Carakter wäre genau das richtige. |
||
![]() |
das wurgel |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Matthias
Da ich mit dem Grafikkram ja eh noch alleine bin, kann ich meinen Teil doch so Objektorientiert machen wie ich will. Solange wir ein fest definiertes Interface haben macht es von außen her betrachtet eh keinen Unterschied. Ich finde dein Modell übrigens gut. Ich würde dann alle Methoden bis auf TWorld.update() ausprogrammieren und das restliche Zeichengedöhns in eine Extra-Datei packen, die nur ich allein verstehen muss. Matthias hat Folgendes geschrieben: Natürlich BlitzMax. Und natürlich möglichst objektorientiert.
Matthias hat Folgendes geschrieben: Ich denke BlitzMax ist schon zu komplieziert. Mit den ganzen OOP, Methoden, Ableitungen usw.
Es bietet deutlich mehr Möglichkeiten durch Komplexheit. Doch die jungend von heute steckt viel zu tief in WOW-Welten fest. Das verwirrt mich aber allerdings schon ein biscchen. Ich weis auch nicht so ganz was du damit sagen willst. Meinst du die Jugend von heute kann kein OOP, weil sie zu viel WOW spielt? Meiner Meinung nach ist OOP für Team-Arbeit wie geschaffen. Natürlich sollte man damit nicht übertreiben, aber untertreiben sollte man es auch nicht. Ich fände es klug, wenn wir es so strukturieren, dass nicht mehrere Personen an einem Type basteln. Ich fände es außerdem toll, wenn du Mal deine groben vorstellungen vom Spiel preisgibtst, bevor wir uns hier in irgendwelchen fitzelkram verheddern. Alles was ich bis jetzt weis ist, das es ein Wirtschaftsimulator mit emotionalen Faktor sein wird. Steuert man eine bestimmte Person? In wie weit kann man Einfluss auf die Infrastruktur geben, hat eine Stadt schon von Anfang an Gebäude oder müssen sie von Grundauf vom Spieler gabaut werden? Gibt es NPCs? Sind Händler NPCs oder sollen diese nur in Form eines Handelsdialogs existieren? Gibt es Feinde/Konkurrenten? Existieren Rohstoffe nur als Zahlen oder haben diese einen Ort an dem sie angezeigt werden? Hat das Spiel eine Storyline, oder sollen nur Zufällige Ereignisse im Zusammenhang mit dem was man tut auftreten? |
||
1 ist ungefähr 3 |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wurgel, wenn Du in Bmax entwickeln willst, warum stellst Du dann Monkey(?)-Code ein. Templates unterstützt Max nicht, so ist der Code sinnlos als Ansicht.
Mathias: Ich schliesse mich Midimaster an. Bevor Du auch nur ansatzweise über Code und andere Spässe nachdenkst solltest Du ein exaktes Bild des Spieles formuliert haben. ansonsten wird das dein nächstes MegaProjekt. Zudem, als persönliche Anmerkung: Wenn Du schon einen geschichtlichen Kontext wählst würde ich darauf achten dass er korrekt ist. Warum Riga zu einer Zeit als die Hanse noch fern war, und von einem geordneten Marktwesen nicht zu sprechen war? (und wo Riga *hust* noch nicht mal gegründet war?) Natürlich ist das nur ein Detail, aber wer solche Spiele liebt wird sich an solchen Details enorm stören. Daher: nimm ein Phantasieszenario, gestalte es frei, oder aber halte dich zumindest grob an das tatsächliche Geschehen. Glaubwürdigkeit ist ein großer Punkt bei einer WiSim. Und wenn es Dir ernst mit Projektleitung und co. ist solltest Du Dir angewöhnen deine Texte durch eine Rechtschreibeprüfung zu jagen und auf eine weitestgehend fehlerfreie Grammatik zu legen. Eindeutigkeit und Verständlichkeit der Aussagen ist essentiell für den Erfolg. Niemand erwartet perfektes Hochdeutsch, aber eine Fehlerwüste wird dich in deiner Position als Teamleitung in Frage stellen. (Wenn der sich nicht die Zeit nimmt ordentlich zu schreiben, warum soll ich auf ihn hören / ihn ernst nehmen?) EDIT: Zitat: @Matthias
Da ich mit dem Grafikkram ja eh noch alleine bin, kann ich meinen Teil doch so Objektorientiert machen wie ich will. Solange wir ein fest definiertes Interface haben macht es von außen her betrachtet eh keinen Unterschied. Und mit solch einer einstellung leitet sich der Tod des Projektes ein. Entweder es gibt Maßgaben, und an die wird sich gehalten, oder man sucht sich was wo man seine eigenen Massgaben durchsetzen kann. Teamarbeit ist keine Demokratie ![]() |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
konstantin |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich sehe das Projekt schon zum scheitern verurteilt, weil ihr ernsthaft das Ziel verfolgt, den Codestil (sowohl syntaktisch als auch inhaltlich) auf den kleinsten gemeinsamen Nenner zu druecken. Wenn ihr das tut habt ihr euer Vorhaben bereits in den Sand gesetzt, weil ihr um einen komplexeren Code so oder so nicht herum kommen werdet.
Ihr braucht jemanden, der die Gesamtaufsicht ueber den Code hat, kontrolliert, wer was macht und hinterher die einzelnen Teile zusammenfuegt. Idealerweise ist das natuerlich der mit der meisten Ahnung, weil er den Kram der anderen Leute verstehen und integrieren muss. Um diese Arbeit um ein vielfaches einfacher zu machen, bietet es sich an, dass ganze objektorientiert zu gestalten. Sicherlich, objektorientierte Programmierung zwingt euch zu Blitzmax und verlangt von den Programmierern ein gesundes Maß an Erfahrung und Intelligenz, aber alles andere waere einfach nur daneben und der Sache nicht dienlich. Wenn das im Endeffekt bedeutet, dass nicht jeder Dreizehnjaehrige mit zwei Wochen BlitzBasic-Erfahrung bei eurem Projekt mitwirken kann, dann ist das zwar traurig, aber ohne derartige Massgaben kann man ein solches Vorhaben ueberhaupt nicht bewerkstelligen. Mal ganz davon abgesehen, dass ein objektorientierter Code ideal fuer euch ist: Jeder kann an seinem Modul herumbasteln und braucht sich um den Code der anderen keine bzw. kaum Gedanken machen, was bedeutet, dass jeder entsprechend seines Horizontes wirken kann. |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Meine Tipps:
Eine Iso-Engine ist sicherlich der leichsteste Teil eines solchen Spiels. Dafür gibt es auch schon unendlich viele Beispiele. Anspruchsvoll wären da schon eher die vielen Zeichnungen, die zu machen sind. Hier würde ich höchstens während der Testphase auf bereits bekannte Tiles setzen. Nur eigene Zeichnungen setzen Dein Spiel von den Kokurrenzprodukten ab. Alle Spielelemente (z.b. Figuren, Städte, Resourcen, Maschinen) sollten einen individuellen Input-Channel haben, der auf Änderungen reagiert und eine Output-Channel, der daraufhin wieder andere Spielelemente beeinflusst. So entsteht ein Regelkreis, in dem die Akteure mit ihrer Umwelt interagieren, ohne das man als Programmierer noch viel dazu schreiben muss. Die Eigenschaften der Spiel-Elemente und ihre "Reaktionslust" auf Interaktionen könnten tatsächlich mit einem Text-Editor geschrieben werden. So könnte eine unabhängige "Interaktionsgruppe" am Feintuning der Spielelemente arbeiten. Die Engine greift dann in einer TYPE-Methode auf diese Scripte zu und verändert die Werte in den bereits existierenden Objekten. |
||
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe |
Matthias |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@das wugel.
OOP ist ein zweischneidiges Schwert. Es ist für dieses Projekt unabdingbar das Functionen, Methoden usw. möglichst gut gekapselt sind. Wiederum darf ich nicht verlangen das jemand hundertprozentiges OOP beherrscht. Dadurch würden genau diejenigen abgeschreckt werden die zwar Interesse haben aber noch keine Profies sind. Mir geht es da um ein Mittelmaß. Soviel OOP wie nötig so wenig wie möglich. Natürlich kannst du in dem TWorld Include/Modul walten und schalten wie du möchtest. Wichtig ist mir dabei das im Mainloop TWorld.Update und TWorld.Draw als einzigsten Schnittstellen sind. Zu dem Spiel selbst. Ich habe sehr genaue Vorstellungen!!! Wollte nur vorher die Interessenlage sondieren, und mögliche Interessenten die Möglichkeit geben ihre eigenden Ideen in das Konzept aufzunehmen. @Midimaster. Hört sich interessant an mit den verschiedenen Schnittstellen. Wie kann ich mir das Konkret vorstellen. Schema, Beispiel Auch wenn ich nun die Ideenfindungsphase überspringe und evtl Interessenten damit abschrecke werde ich jetzt konkrete Rahmenbedingungen setzen. Anno 1300. Ostseeraum. Es gibt eine Zoombare Worldmap. Auf denen die einzelnen Städte als Icons zu sehen sind. Nebenan steht der Name der Stadt. Es gibt 8 Verschiedene Icons die die Größe der Stadt angeben. ca 20 Städte. Wenn man nun mit der Maus über das Stadticon fährt wird der Warenpreis der einzelnen Produkte auf einem Panel angezeigt. Klick man nun mit der Maus auf das Stadticon gelangt man in die Stadt. Isometrische Ansicht der Gebäude, Bäume usw. Später kann man dann Lagerhäuser, Krankenhäuser usw in verschiedene Städte bauen. Jede Stadt besitzt Anfangs nur jeweils eine Produktionskette. Die sich nach einer der vorhandenen Rohstoffquellen richtet. Zum Beispiel Ton,Eisenerz,Gold, besonders guter Boden für Weideflächen oder auch besonders hohes Fischvorkommen. Mann kann sich anfangs eine Stadt aussuchen. Und Erbt zufällig eine Scharffarm, eine Tongrube, eine Eisenerzmiene. Die man dann ausbauen kann. Da man zu Beginn über keine Schiffe, Esel usw verfügt ist man abhängig von Händler mit denen man Handelverträge schließen muß. Für mehrere Jahre bei gleichbleibenden Abnehmerpreis. In anderen Städten sind natürlich andere KI-Spieler am Werk die die Konkurrenz darstellen. Wiederum kann man diese auch Kredite anbieten um diese zu fördern. Oder auch die Farmen, Fabriken usw. abkaufen. Das Spiel wird natürlich eine emotionale Geschichte haben. Doch diese wird niemanden dazu zwingen bestimmte Sachen in einer bestimmten Zeit erfüllen zu müssen. Es wird keine Gefechte mit Piraten auf hoher See geben. Und auch keine Armeen oder sonst was. Krieg ist komplett Tabu. Es wird Seuchen, Ratten die alles weg fressen, schwere Winter mit Hungersnöten geben. Es werden keine Figuren auf den Straßen umherlaufen. Vielleicht später Die sind anfangs alle in den Baracken oder in den Fabriken. Mann kann die Arbeitzeit mit einem Schieberegler einstellen oder auch Sonntagsarbeit erzwingen. Auch das Geld kann eingestellt werden. Wenn man sehr Menschlich ist was letztendlich denn Profit mindert spricht sich das rum. Und immer mehr Bettler kommen in die/deiner Stadt und bitten dich um eine Ausbildung. Die natürlich kostet. Zum dank verpflichten diese sich für dich 7-15 Jahre zu einem gleichbleibenden Preis zu arbeiten. Wenn man allerdings zu streng ist (Sonntagsarbeit, 14 Std tägl.) ist die Chance das die Arbeiter an Krankheit sterben deutlich größer. Es bewerben sich keine Bettler mehr und man hat keine Arbeiter mehr um zu expandieren. Arbeitszeiten, Löhne, Optimierungen werden direkt in den Farmen, Fabriken, eingestellt. Die Finanzübersicht, Handelsverträge, Kredite usw von einem Holztisch aus. Der in einer kleinen Hütte steht. Je nach Status kann man eine neue Unterkunft für sich selbst kaufen. Je nachdem wie Prunkvoll die Unterkunft ist macht man Eindruck auf Händler, die mehr vertrauen dadurch bekommen. Wenn sie allerdings zu Prunkvoll ist, im Verhältnis der Arbeiterunterkünfte. Kann es schonmal passieren das sie abbrennt. Was die Händler wiederum abschreckt. Ja es hört sich alles sehr kompliziert an. Doch im Grunde geht es darum ein Mittelmaß zu finden zwischen Menschlichkeit und Profit. |
||
MasterK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Meine meinung:
Schon die herangehensweise lässt nur einen schluss zu: das projekt wird scheitern bevor es richtig beginnt. Nicht, dass ich hier alles mies machen möchte, das sind einfach die fakten. Dafür fehlt dir, Matthias, auch einfach die erfahrung was die "projektleitung" angeht. Backt lieber kleine brötchen. |
||
+++ www.masterk.de.vu +++
Lila FTW! |
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich bin mir nicht so sicher, ob ein generell aufgerufenes TWorld.Update() der Komplexität der Interaktionen, die zwischen den Teilnehmern auftrten können gerecht werden kann....
Input, Output, Eigenschaften generell ist es doch so: Bei jedem neuen Spiel-Element z.b. "Weizenfeld" gibt es genau vorher festzulegende "Eigenschaften", die können Ist-Zustände beschreiben, z.b. "Eigentümer", "Größe", "Image", "Qualität". Aber eben auch Input-Bedürfnisse darstellen wie "Wasserbedarf", "Pflegebedarf", "Sonnenbedarf". Soche Input-Bedürfnisse reagieren auf Ereignisse von außen. Dann gibt es Evolutionseigenschaften, wie "Wachstum" , "Alter", die pro Runde aktualisiert werden und sich wieder auf andere eigene Eigenschaften auswirken. Als drittes gibt es aber auch Emmisisonen, die sich vielleicht auf andere Teilnehmer auswirken werden "Ernte" oder "Verkaufserlös". Der einzelne Teilnehmer kann aber nichts von der Existenz der Anderen wissen. Daher emiitiert er diese Emmisionen einfach als EVENT in eine EVENT-Schleife. EVENTS können sich auf das ganze System oder einen Bereich oder auf einen Teilnehmer auswirken. Dort sehen sich alle anderen Teilnehmer die anstehenden Events durch und reagieren wieder darauf. Die Frage ist hierbei immer, wie komplex man das System auftröselt. Wächst der Weizen einfach 100 Tage vor sich hin, oder soll er auf Umwelteinflüsse reagieren können? Wie seht ihr eine Umsetzung? Hat jemand schon Ahnung von so einer Simulation? |
||
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe |
![]() |
das wurgel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zu der Simulation:
Auf jeden Fall Events. Aber wieso kann TWorld.Update() dem nicht gerecht werden? TWorld.Update() ruft einfach die Update-Funktionen der Spielelemente auf (Märkte, KIs, Weizenfelder). Die wiederum fangen Events ab, ändern ihren Zustand und senden aufgrund ihres Zustandes wieder Events aus. Mir müssen allerdings darauf aufpassen, dass ausgesendete Events erst in der nächsten Schleifenrunde empfangen werden, um das ganze unabhängig von der Reihenfolge zu machen, in welcher die einzelnen update()s aufgerufen werden. Eine einfachere Möglichkeit das umsetzen sehe ich nicht, Matthias, du bist doch sicher damit einverstanden oder? Das auslagern in Textdateien halte ich für weniger sinnvoll, da die verschiedenen Einflüsse und Reaktionen zu komplex werden könnten, so dass man da schon eine eigene Scriptsprache entwickeln müsste. Da ist es doch wesentlich einfacher, codedateien auszulagern, mit denen sich eine finetuning Gruppe ja auch beschäftigen könnte. BladeRunner hat Folgendes geschrieben: Wurgel, wenn Du in Bmax entwickeln willst, warum stellst Du dann Monkey(?)-Code ein. Templates unterstützt Max nicht, so ist der Code sinnlos als Ansicht.
Das hat wohl überhaupt niemand vertanden, was ich damit darstellen wollte. Das ist weder C noch Monkey. Das sollte nur ein grobes Schema darstellen, wie man das Spielmechanische von dem auf-den-Bildschirm-bringen trennen kann. Und so, dass es rein mit dem OOP von BlitzMax umsetzbar ist. Was sind Templates? BadeRunner hat Folgendes geschrieben: Zitat: @Matthias
Da ich mit dem Grafikkram ja eh noch alleine bin, kann ich meinen Teil doch so Objektorientiert machen wie ich will. Solange wir ein fest definiertes Interface haben macht es von außen her betrachtet eh keinen Unterschied. Und mit solch einer einstellung leitet sich der Tod des Projektes ein. Entweder es gibt Maßgaben, und an die wird sich gehalten, oder man sucht sich was wo man seine eigenen Massgaben durchsetzen kann. Teamarbeit ist keine Demokratie Wink Ja natürlich muss es äußere Maßgaben geben, und natürlich muss sich jeder daran halten. Aber wozu braucht man äußere Maßgaben wo eh nur einer was von mitkriegt? Beispiel: Person A will eine Funktion, die zwei Zahlen zusammen addiert und sagt der Person B, die für Mathe zuständig ist, ich will die Funktion addiere(zahl1, zahl2). Ob Person A jetzt "Return zahl1+zahl2" schreibt, oder "Return zahl2 + zahl1", kann Person A doch egal sein, denn für sie macht es keinen Unterschied. Und so lässt es sich auch auf uns anwenden: Matthias sagt mir jetzt z.B., ich will eine "Funktion draw(anzeigeListe)" und die soll alle Objekte in anzeigeListe zeichnen. Wie sie das macht wird, kann ihm und anderen, die vielleicht noch dazukommen werden, volkommen egal sein, solange es auf dem Bildschirm so aussieht, wie es vorgegeben war. @Matthias: Dein Konzept ist schonmal nicht schlecht, du müsstest es nur noch ein bisschen ausarbeiten und dich mit einzelnen Fragen beschäftigen, damit das ganze nicht so viel Interpretationsfreiheit lässt. Umso mehr sich die Vorstellungen der Teilnehmer unterscheiden, umso schwieriger wird es. |
||
1 ist ungefähr 3 |
Gehe zu Seite 1, 2, 3, 4, 5, 6, 7 Weiter
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group