Pascal-Spiel als Communityprojekt


das Gameplay kommt in der Liste ja reichlich spät, kannst du mal eine kurze Zusammenfassung geben was man in dem Game denn eigentlich so alles macht? Ich hab wie gesagt nie Populus gespielt, ich weiss halt, das es ne Götter Sim ist aber was macht das Game nun aus, was macht es reizvoll?
 
Ich würd das Gameplay hier auch etwas höher ansetzen. Eine 3D-Engine schön und gut, was aber essentiell wichtig ist, ist immer noch die Spiellogik. Und die lässt sich erst mit einem definierten Gameplay programmieren. Ich persönlich finde es auch viel interessanter, eine Spiellogik zu implementieren, als ein grafisches Frontend. Deshalb sind wahrscheinlich alle meine Projekte auch noch nicht sehr weit gekommen, weil ich bisher nicht die Lust hatte, mich mit Grafikprogrammierung auseinanderzusetzen ;)
 
Ich hätte noch eine Anmerkung zu GIT: Ed hatte sich angeboten für neue Projekte ein GIT repo bereitzustellen, ob er nun auch andere nimmt weiß ich nicht daher kam mein Vorschlag GIT
 
Weil jetzt zum 2. mal die Frage aufkam was in Populous 3 vorkommt und was es ausmacht, stelle ich es kurz mal vor..

Im Originalspiel treten bis zu 4 Spieler (online/offline) gegeneinander an, wobei diese sich untereinander frei verbünden können.
(Passiert meist vor Beginn des Spiels ;) Hauptsächlich 2 gegen 2.

Man steuert Figuren, die unterschiedliche Fähigkeiten und Aufgaben haben.

Die wichtigste Figur von der es nur eine gibt, ist die Schamanin. Sie wird nach ihrem Tod jedes mal nach einer Wartezeit
in der Reinkarnationsarena wiedergeboren, solange Menschen an sie glauben (= Anhängerzahl >= 1).
Jeder Stamm hat eine Reinkarnationskammer, die die Basis darstellt.
Ist die Schamanin tot, und hat keine Anhänger mehr, gilt das Spiel als verloren.

Ausserdem ist sie die Einzige, die mächtige Zaubersprüche benutzen kann, die es mit Mana aufzuladen gilt.
Mana pro Zeiteinheit erhält man von den Anhängern. Dabei auch unterschiedlich viel abhängig von Art der Anhänger und was sie tun.
Um möglichst viele Anhänger zu haben kann man neutrale Leute für sich mit einem Zauberspruch bekehren.
Hauptsächlich aber baut man Hütten. Hütten gibt es in 3 Ausführungen, beginnend mit der kleinen Hütte die max.
3 Leute aufnehmen kann, mittlere Hütte für 4, und große Hütte für 5. Je länger sie bewohnt werden,
umso schneller werden diese aufgerüstet zur nächst größeren Hütte. Je mehr Leute in der Hütte sind,
umso schneller werden neue Leute geboren. Ausserdem gibt es Ausbildungsgebäude um aus Arbeitern Krieger zu machen.

Alle Krieger geben besonders wenig Mana, dafür aber:

Schwertkrieger = Die stärkste Klasse was Angriff und Verteidigung angeht.
Feuerkrieger = so schwach wie Arbeiter, können aber Fernattacken mit Feuerbällen einsetzen.
Priester = so schwach wie Arbeiter, können aber gegenerische Anhänger in trance versetzen und zum eigenen Stamm bekehren.
Spione = schwach wie Arbeiter, kann sich als Anhänger eines anderen Stammes ausgeben, unbemerkt in die Basis eindringen und Gebäude abfackeln.

Ausserdem gibt es Produktionsstätten für Boote und Luftschiffe. (Luftschiff befödern 2 Leute, Boote 5).
Und um Gebäude abzuschließen, einen Turm den man überall bauen kann. Schließlich kann man für gewöhnlich nur an Orten
bauen, die an eigenen Gebäuden anliegen. Im Turm kann eine Figur sitzen, in der sie besondere Reichweite ihrer Angriffe erhält.
Grundsätzlich gilt auch ohne Turm. Je höher man ist, umso weiter die Reichweite zum Angriff.
Auch die Zaubersprüche der Schamanin haben unterschiedliche Reichweiten die nochmals erhöht werden, je höher diese steht.

Im Spiel gilt es halt die Manaproduktion und Anhängergenerierung der Gegner zu schwächen, um die Übermacht zu bekommen.
Man greift deren Gebäude und Anhänger an. Tötet vorallem besonders die Schamanin, weil sie die Gefährlichste ist.
Ist sie tot, und sind alle ihre Anhänger beseitig, hat der Gegner verloren und wird nicht mehr wiedergeboren.

Wichtig ist dass man die Angriffe anderer Krieger abwehrt und ganz besonders die gegnerische Schamanin nicht zur Basis kommen lässt,
denn die anfangs erwähnten Zaubersprüche sind:

Bekehrung, Feuerball, Geisterarmee, Magischer Schild, Insektenplage, Unsichtbarkeit,
Brücke, Blitz, Hypnose, Wirbelsturm, Sumpf, Land ebnen, Erdbeben, Erosion,
Feuersturm, Engel des Todes, Vulkan, Armageddon, Teleport, Blutrünstigkeit.

Was die Sprüche bewirken und wieviel Mana sie kosten könnt ihr hier nachlesen:
http://popms.net/de/tips-u-tricks/tips-grundlagen/50-zauber-grundlagen

Die gesamte Landschaft lässt sich komplett zerstören und manipulieren.


Das Spiel erfordert gutes Teamplay und entfaltet sich oft unvorhersehbar.
Es macht einfach irre viel Spaß :)
 
Fusion_Power said:
Ach, das ist gar kein Single Player Spiel? :confused:?? Schade.
Doch, ist es auch.. Man kann es im Multiplayer, als auch im Singleplayer spielen.
Im SinglePlayermodus gibts dann 25 Lvls ohne Erweiterungen.

Neben den gewöhnlichen Zielen gibt es auch Levels mit Zeitbegrenzung,
in denen man es schaffen muss seine gefangene Schamanin aus den Fängen des Gegners zu befreien,
oder besondere Steine anzubeten um Naturkatastrophen zu beschwören.

Aber wo wir schon bei zu großen Projekten sind.. lass uns doch ein "From Dust" machen :D
 
chrysipp said:
Ich arbeite als Tutor für die Lehrveranstaltung Software Engineering und Projektmanagement an der TU Wien und dort haben die Gruppen die ich betreue das gleiche Problem. Für die meisten ist es das erste größere Softwareprojekt und anfangs sind sie auch sehr motiviert und nehmen sich viel vor, aber am Ende wird dann doch nicht alles fertig und vieles wird einfach irgendwie hingepfuscht weil man sich einfach überschätzt hat. Die Erfahrung mit den bisherigen Community Projekten hier im Forum zeigt, dass es ähnlich abläuft.
Nun, mir sind Situationen wie die von dir beschriebene bekannt, ich verstehe also was du meinst. Bei detaillierter Betrachtung jedoch offenbar sich, dass es sich hierbei um zwei Paar Schuhe handelt. Beim hiesigen Vorhaben existiert keine wirkliche künstliche zeitliche Beschränkung, somit liegt das Hauptproblem der Durchführung letztlich in der Gefahr möglicherweise aussetzender Stetigkeit durch verringerten Elan. Eine solche Situation wäre in diesem speziellen Fall beispielsweise dann denkbar, fiele eine jede Person in ein "Ich mache gerne mit, aber nur wenn andere auch mitmachen"-Verhalten zurück.

Aus diesem Grund ist meiner Einschätzung nach nicht die Einfachheit dieses Projekts der wichtigste Erfolgs-Koeffizient, sondern vielmehr kann das Umsetzen eines möglichst interessanten Projekts sicherstellen, dass zumindest einige wenige der teilnehmenden Personen Elan zeigen und somit andere davon abhalten, abzuspringen ehe eine gewisse Codebasis erreicht wurde. Die Komplexität wäre also nachrangig, auch wenn mit steigender Komplexität die Anfälligkeit des gesamten Projekts für negative äußere Einflüsse stärker zu beachten ist, was auch der Grund dafür ist dass ich diesen Kommentar verfasse.


Dass sich unerfahrene Personen überschätzen ist in vielen Fällen ohnehin der Unerfahrenheit inhärent. Ob großes oder kleines Projekt spielt für das Erleben der Selbstüberschätzung dabei ja zuerst einmal keine Rolle, der Umfang des Projekts wirkt sich letztlich aus auf die Motivation, trotzdem weiterzumachen - ebenso wie die Antwort auf die Frage, ob das Projekt für die jeweilige Person interessant ist.

carli said:
Phase 1:
- Grafik 3D (Erde+Himmel+Wasser)
- Grafik 2D (Menü-Logik)
- Editor-Logik (Steuerung, Heightmap-Pinsel)
- Menü-Grafiken
- 3D-Modelle der Häuser und Figuren

Phase 2:
- Maps mit dem Editor bauen
- Story-System einbauen
- Steuerungs-Logik, Selektion

Phase 3:
- eigentliches Gameplay
- Partikel
Ich schlage eher folgendes vorläufiges Vorgehen vor (Jede Person kann mehreren Teams angehören, sodass schon recht wenige Personen genügen. Die Gruppenzugehörigkeiten der einzelnen Personen können dabei im gesamten Verlauf ebenso dynamisch angepasst werden wie das eigentliche Vorgehen an sich.):

Phase 1:

  • Systems Team:
    • Entwurf und Implementierung des Basissystems ("Erde"-System, rudimentäre Basissteuerung, superrudimentäre Platzhalter-in-game-Menüs wo für Tests absolut notwendig)
    Graphics Team:
    • Suchen und/oder Erstellen pathologisch simpler statischer Platzhalter für Texturen und 3D-Objekte
    Story Team:
    • Laufende Sicherung der Plausibilität des Gesamtprojekts
    • Grober Handlungsrahmen (der letztlich auch dafür verantwortlich sein wird, wie das Gameplay aussehen wird)
    Game Experience Team:
    • Laufende Spieltests
    • (Kollektives) Reflektieren darüber, wie das Spiel, in diesem Schritt insbesondere die Handlung, auf den Spieler wirkt und sorgsames Abwägen, welche der ausmachbaren Verbessungen der Spielerfahrung wahrhaft zuträglich wären. Die Absprache mit dem Story Team muss an dieser Stelle besonders betont werden.

Sowie die erste Phase abgeschlossen ist wird bereits einiges erreicht worden sein. Der Phasenaufbau plant Nicht-Programmierer explizit ein (nunja, eigentlich implizit explizit). Die Phasen sind fließend. Häufige und flexible Kommunikation aller Teams untereinander ist hierbei der Schlüssel zum Erfolg, die Pläne werden während des gesamten Verlaufs dynamisch angepasst.

Phase 2:

  • Systems Team:
    • Implementierung der später durch das Story Team zur Erstellung von Kampagnen genutzten Werkzeuge, der "Story Tools". (Für einfaches Erstellen von Karten, Einheiten, Handlungsereignissen etc. Zur Sicherung der Qualität sollen diese Werkzeuge später die einzigen sein, die zur Erstellung von Kampagnen herangezogen werden. Dies stellt sicher, dass die Story Tools auch tatsächlich gut funktionieren sowie leicht verwendbar sind und somit künftig möglichst viele unerfahrenere Spieler möglichst einfach Beiträge in Form neuer Kampagnen leisten können. Insbesondere die Erstellung von Kampagnen kann ansonsten rasch in unterschätzte "Routinearbeit" ausarten und somit sehr schnell den Erfolg des Projekts gefährden.)
    Graphics Team:
    • Erarbeiten und Kreieren einer "sinnvollen" Nutzerschnittstelle der Story Tools in Zusammenarbeit mit Game Experience Team, Vorbereitung der resultierenden Grafiken für spätere Verwendung in Hauptmenü und in-game-Menüs.
    Story Team:
    • Ausarbeitung der Handlung in eine vollständige Geschichte, aufgeteilt auf Kampagnen
    • Erdenken aller Einheiten (sofern Abweichungen vom Original gegeben)
    • Laufende Sicherung der Plausibilität des Gesamtprojekts
    Game Experience Team:
    • Erarbeiten und Kreieren einer "sinnvollen" Nutzerschnittstelle für die Story Tools in Zusammenarbeit mit Graphics Team
    • Laufende Tests der Story Tools
    • (Kollektives) Reflektieren darüber, wie die Story Tools auf den Spieler wirken; sorgsames Abwägen, welche der ausmachbaren Verbessungen der Produktivität des Spielers wahrhaft zuträglich wären.

Phase 3:

  • Systems Team:
    • Hinzufügen von Augensüßigkeiten
    • Optimierung sowie Anpassung des Basissystems
    • Implementierung der Spielmenüs, Fertigstellung der in-game-Menüs.
    Graphics Team:
    • Suchen und/oder Erstellen finaler 2D- und 3D-Ressourcen für Kampagnen sowie den Rest der Nutzerschnittstelle
    • Erdenken von Spielmenüs (Hauptmenü, in-game-Menüs) und sonstigen in-game-Objekten in Zusammenarbeit mit Game Experience Team
    Story Team:
    • Umsetzung der Handlung in Kampagnen durch Verwendung der Story Tools
    • Laufende Sicherung der Plausibilität des Gesamtprojekts
    Game Experience Team:
    • Erdenken von Spielmenüs (Hauptmenü, in-game-Menüs) und sonstigen in-game-Objekten in Zusammenarbeit mit Graphics Team
    • Laufende Tests der Gesamtspielerfahrung; sorgsames Abwägen, welche der ausmachbaren Verbessungen der Spielerfahrung wahrhaft zuträglich wären.


Diese Planung ist rudimentär und höchstwahrscheinlich habe ich viele Dinge außer Acht gelassen (einige Elemente fehlen derzeit sogar komplett, z.B. Audio) - wie bereits erwähnt ist eine laufende Anpassung ohnehin von enormer Wichtigkeit. Daher schlage ich vor, dass als erstes ein gemeinsamer Chatraum, eine Webseite und/oder ein (Unter-)Forum ins Leben gerufen werden. ( http://xkcd.com/974/ ).

Zur Sicherung eines reibungslosen Ablaufs muss ein Verwaltungsteam existieren, dessen einzelne Mitglieder jeweils bestimmte Aufgaben zugeteilt bekommen, darunter beispielsweise:
  • Kommunikation: Sicherstellen, dass Teams problemfrei und häufig miteinander kommmunizieren können, auch Planen häufiger doch kurzer Besprechungen sofern zu wenig Kommunikation stattfindet.
  • Bestimmmung: Mitsprache und Abwägen von Möglichkeiten im Zweifelsfall; Hilfe beim Sicherstellen, dass Entscheidungen eines jeden Teams in das Gesamtbild passen; Laufende Überprüfung der gesamten Spielerfahrung ("Game Experience"). (Kaworu?)
 
jhw said:
Ich würd das Gameplay hier auch etwas höher ansetzen. Eine 3D-Engine schön und gut, was aber essentiell wichtig ist, ist immer noch die Spiellogik. Und die lässt sich erst mit einem definierten Gameplay programmieren. Ich persönlich finde es auch viel interessanter, eine Spiellogik zu implementieren, als ein grafisches Frontend. Deshalb sind wahrscheinlich alle meine Projekte auch noch nicht sehr weit gekommen, weil ich bisher nicht die Lust hatte, mich mit Grafikprogrammierung auseinanderzusetzen ;)
Dazu sind wir ja dann ein Team ;)

Achja was ich noch cool an Popolus finde ist, dass die Figuren einfach bloß Sprites sind :) (gezeichnet von 2 oder 3 Richtungen)

@Christoph.Krn:
Stimmt, deine Planung ist wesentlich allumfassender (ich hatte mich eher auf technische Details eingeschränkt)
Trag den Ablauf am besten im Wiki der Projektseite ein: https://bitbucket.org/carli/communityproject/wiki/Home
 
carli said:
Achja was ich noch cool an Popolus finde ist, dass die Figuren einfach bloß Sprites sind :) (gezeichnet von 2 oder 3 Richtungen)
Es sind 8 Richtungen * Anzahl verschiedener Figuren * Anzahl verschiedener Handlungen * Bilder pro Animation... es ist verdammt viel ;)
Dass 2D Sprites verwendet werden finde ich auch sehr cool, zumal man einen enormen Haufen davon darstellen kann, ohne dass die Hardware in die Knie geht ^^
 
Ich grübele gerade darüber, wie die die Weltkoordinaten projiziert haben.

Ich tendiere ja stark dazu, einfach eine Kugel als Dreiecksnetz zu modellieren und die Vertices als Feldpunkte und die Verbindungen dazwischen als mögliche Pfade zu benutzen. Dann ist die Karte zwar nicht mehr so schön 2D, aber es wären auch andere Karten möglich, wie zum Beispiel
- Standard-Kugel
- Torus
- Scheibe
- Kugel mit Beule
- jedes beliebige andere Model

Pfadtechnisch kein Problem, aber eine Luftlinie zwischen zwei Punkten zu bestimmen könnte problematisch werden.
 
Am schwersten finde ich, dass ihr ein Spiel mit tieferer Story gewählt habt, sowas dauert immer am längsten. Nicht von ungefähr haben viele Homebrew games ehr simplere Storys, wenn überhaupt, von Wesnoth mal abgesehen. Mit so ner Story kann man sich leicht verheddern, also aufpassen. ;) Und ein Spiel von der Komplexität wie Populus in Homebrew Manier zu realisieren, dürfte viele, viele Jahre in Anspruch nehmen, mal ehrlich, wer von euch würde so lange durch halten? Kleines Beispiel am Rande: "0AD" - seit vielen Jahren in der Entwicklung (seit 2001!) und wohl gerade mal im Alpha status.
http://wildfiregames.com/0ad/
Nen Story Mode gibts da glaube noch nicht, man ist wohl immer noch mit der Spielmechanik am werkeln.
 
Hallo,

wow da hab ihr euch ja wirklich was vorgenommen... puh :) . Also natürlich ist es richtig das Story viel Zeit braucht, aber ich finde es auch extrem schade das sooo wenige Opensource Spiele keine Story haben. Mir ist Story wichtiger als Grafik und 3D.

Ich hätte an eurer Stelle erstmal etwas einfacheres genommen zum beispiel z.B. mit isometrischer (heist das so?) 3D Grafik und nicht noch ein Ball der Sich dreht.

Aber ich wünsche euch viel Glück und freue mich auf das Ergebnis

Besten Gruß
Rene
 
relei said:
Ich hätte an eurer Stelle erstmal etwas einfacheres genommen zum beispiel z.B. mit isometrischer (heist das so?) 3D Grafik und nicht noch ein Ball der Sich dreht.
Ist auch nur ein "Detail", das genauso schwer, oder sogar schwerer zu implementieren ist. Und ISO hat jeder.
 
Melde mich für das Story Team und das Game Experience Team. Der ursprüngliche text war länger wurde aber in der schule vom Rechner nicht abgeschickt und jetzt hab ich vergessen was ich da schreiben wollte...
 
Prima :)

Ich hab schon mal den ersten Ansatz für die Karte niedergeschrieben:
https://bitbucket.org/carli/communityproject/changeset/6ab4cb01795a

Das würde es uns erlauben, beliebige Modelle als "Weltkugel" einzusetzen, also auch Scheiben und andere Dinge. Die Welten sollten allerdings konvex sein.
Die Männel würden dann in einer Art 6- bzw. 5-eckigem Wabenmuster laufen, wie auf den Nähten eines Fußballes.

-- Mo Nov 14, 2011 20:14 --

So,

über dieses 3D-Modell wird dann die Heightmap gespannt werden:

http://www.pic-upload.de/view-11992997/bla6.jpg.html

Ich hoffe, der Pandora-Chip hält diese Anzahl Vertices aus. (10242 Stück insgesamt)
 
carli said:
Ich hoffe, der Pandora-Chip hält diese Anzahl Vertices aus. (10242 Stück insgesamt)
Uii, das sind relativ viele. Braucht es so viele Vertics? Die Pandora muss sich im Spiel ja noch um viel mehr kümmern als nur um die 3D Kugel. Ich würde die Kugel so schnell wie möglich mal auf der Pandora selber testen sobald die Engine steht und die FPS studieren. Da weiß man immerhin schon mal was man erwarten kann. :)
Für erstes Brainstorming über Spiel und design dürfen es dann auch gern viele, viele Skizzen sein auf Papier, so fängt wohl jedes grössere Game Projekt an.

EDIT: du benutzt auch noch ein pre 2.5er Blender? Ich auch. :D
 
Fusion_Power said:
EDIT: du benutzt auch noch ein pre 2.5er Blender? Ich auch. :D
Zugegebenermaßen kann ich gar nicht blendern. Ich hab mir das von einem Grafiker machen lassen, den ich aus einem anderen Projekt kenne.
 
Na ok, benutzt er halt noch das "pre-userfriendly Interface Blender". :D So ne Kugel ist eigentlich eine Standardform in Blender, die bekommst du auch hin, behaupte ich mal. ^^
 
Fusion_Power said:
Na ok, benutzt er halt noch das "pre-userfriendly Interface Blender". :D So ne Kugel ist eigentlich eine Standardform in Blender, die bekommst du auch hin, behaupte ich mal. ^^

Es war aber ein Tetraheder, mehrfach subdivided. Dadurch hat die Kugel extrem regelmäßig verteilte Dreiecke, die gleichzeitig die möglichen Positionen für die Figuren und die Gebäude darstellen.
 
Yo, ist mir aufgefallen, in Blender gibts im Grunde 2 verschiedene Kugeln, UV Sphere und Icosphere, letztere (deine)hat eine gleichmässige verteilung der Dreiecke, also keine Pole, ist schon praktisch. Bin echt gespannt ob die Pandora das flüssig darstellen kann. :) Hat deine Engine Funktionen, welche verdekte Polygone gar nicht erst berechnen? Würde hier sicher schon helfen.
 
Back
Top