Wie programmiert man ein Aufbauspiel ?

Hi,
also meine Frage ist:
Wie Programmiert man ein Aufbauspiel ?

Also ich weiß das man erst mit 2D anfängt und nacher dann mit 3D weiter macht. aber erstmal habe ich die frage womit mach ich das am besten ? Mit java ? oder doch eher VB ?

Dann meine zweite Frage währe:
gibt es tutorials oder könnt ihr mir das bei bringen ?

Und meine Dritte frage währe :
gibt es da eventuell engines für ? so wie den UDK ?


so kurz noch zu mir:
ich kann einfache plugins für minecraft server programmieren und habe bis jezt schon einen webbrowser und einen media player programmiert in VB.

Skype: Sakul6499 Penthalo

LG, Lukas

Hallo,

Sorry, aber ich weiß nicht was ein Aufbauspiel ist?
Gruß

hi,
ein aufbau spiel ist so wie Anno oder Siedler.
Du fängst klein an und musst dir halt deine stadt aufbauen.

LG, lukas

Hallo,

da ich leider noch kein Aufbauspiel programmiert habe (Was ist das überhaupt?), fürchte ich, dass ich Dir nicht weiterhelfen kann.

Schöne Grüße,

Manfred

Nun… als aller erstes musst du dir überlegen: 2D oder 3D?
Heutzutage wird alles, selbst Strategie- und Aufbauspiele in 3D programmiert. Dafür brauchst du natürlich auch eine Engine. Da gibt es einige, zum einen das von dir bereits erwähnte UDK, aber auch viele andere. Wenn du mit Java programmieren willst, empfehle ich dir die jMonkeyEngine. Habe selber damit schon gearbeitet und auch wenn die Engine noch in der Beta ist, ist sie nicht groß verbuggt und die Dokumentation ist auch nicht schlecht. Bei VB weiß ich nicht, ob es da was an Engine gibt und welche. Ich weiß nur, dass es dieses XNA von Microsoft gibt, welches glaube ich mit C# zu programmieren ist (wenn du VB und Java kannst, kannst du auch C# - die API usw. ist die gleiche wie in VB, die Syntax ist wie Java).

Die Überlegung, ob du ein 3D- oder 2D-Spiel programmierst kannst du aber auch erstmal zurück stellen. Die ganze Spiellogik kannst du ja unabhängig davon programmieren.
Trotzdem würde ich eher zu 3D tendieren… 2D-Spiele sind heutzutage… naja - alt. Und selbst bei einem Aufbauspiel ist ne Schrägansicht eine schöne Sache. Zumal 2D denke ich manchmal auch ganz schln „kompliziert“ werden kann und man auf nur zwei Dimensionen beschränkt ist. Wenn du künstlerisch ganz gut begabt bist, bekommst du es auch sicher einfacher hin, einem 2D-Spiel einen lebendigen Eindruck zu verpassen - bei 3D ist das kein Problem, da es dreidimensional *ist*.

Java hat zwar den Ruf, viel zu unperformant und daher nicht für Spiele geeignet zu sein, aber das hat sich auch verbessert im Gegensatz zu früher. Und wenn man sich mal bspw. Minecraft anguckt: Laufen tut’s. Und ob ein in C geschriebenes Minecraft besser liefe, hat noch niemand beweisen können. Dennoch: C/C++ ist die typische Spiele-Sprache. Wie weit VB davon entfernt ist, weiß ich nicht… ich habe aber den Eindruck, dass VB nicht unbedingt gut für Spiele geeignet ist. Aber das ist nur ein Eindruck.
Man kann definitiv mit Java Spiele programmieren, auch wenn es wohl bessere Alternativen gibt. Aber wenn man Java kann, und C nicht, dann ist es eigentlich keine Frage: Programmier in Java. Aber informier dich auch, inwieweit VB geeignet ist.

Die jMonkeyEngine bspw. hat eine recht gute Dokumentation mit Tutorials, die beständig weiter ausgebaut werden. das UDK hat sicher auch nen Haufen Tutorials, aber wie viel davon nicht speziell aufs UDK zugeschnitten sonderna llgemein gehalten ist, weiß ich nicht. Aber wenn du schon mal was programmiert hast, versuch es einfach mal. Ich habe auch angefangen, ohne tausende Tutorial nachzumachen und es hat geklappt.
Geh einfach an die Sache ran, indem du anfängst zu abstrahieren: Stelle alle Sachen, die am Ende im Spiel sein sollen, durch Klassen und Attribute dar, schreibe passende Methoden, um das ganze zu verzahnen. Das Weitere ergibt sich dann schon irgendwie, ist zumindest meine Erfahrung.

Noch zu den Engines: Die jMonkeyEngine hat sowohl ne Render-Engine, als auch eine Physik- und Sound-Engine mit an Bord, hat ein fertiges Asset-Management-System und so weiter. Damit anzufangen halte ich für sehr sinnvoll, da ziemlich vieles schon fertig und das ganze damit sehr übersichtlich ist. Wie das UDK da im Vergleich ist - keine Ahhnung. Aber das geht ja eh nur mit C/C++ (oder?).
Such dir also eine Engine, die nicht nur ne einfache Render-Engine ist, sondern auch gleich ne Physik-Engine mitliefert. Im Falle der jME hat man auch noch mehr an Bord und viele Klassen, die dir viele Funktionen schön gekapselt präsentieren.
Trotzdem kannst du auch erstmal anfangen, ohne dir über Engines Gedanken zu machen und deine Arbeit dann später auf das System der Engine portieren.

Wenn du noch weitere Fragen hast, frage :smile:

Viel Spaß beim proggen,

Rimanari

Hallo Lukas,

das ist natürlich eine interessante Frage. Ich persönlich habe noch kein solches Spiel programmiert, da mir der Aufwand als Einzelperson zu hoch erscheint. Ich studiere Informatik (bin fast mit meinem Master fertig) und mein Spezialgebiet ist das Software-Engeneering, also das Planen von Entwicklungsprojekten bevor es überhaupt zum Programmieren kommt.

aber erstmal habe ich die frage womit mach
ich das am besten ? Mit java ? oder doch eher VB ?

Grundsätzlich kannst du ein solches Spiel in jeder gängigen Programmiersprache anstreben. Java hat den Vorteil, dass du mehr oder weniger plattformunabhängig entwickeln kannst. So kannst du auch Nutzer von Linux und Macbooks ins Boot holen (sowohl als Spieler als auch als Entwickler). Visual Basic ist da eigentlich nur etwas für Windows-Rechner. Allerdings gibt es bei Basic glaub ich viele Tutorials für einfache kleine Games. Welche Sprache du wählst ist letztlich Geschmackssache :smile:

Dann meine zweite Frage währe:
gibt es tutorials oder könnt ihr mir das bei bringen ?

Ich kann es dir persönlich nicht beibringen. Es gibt Tutorials für eine Reihe von Dingen. Ein Aufbauspiel in der Art von Age of Empires oder Command&Conquer ist allerdings ein Projekt, dass du a) nicht alleine stemmen kannst (es sei denn du willst diszipliniert 10 Jahre daran arbeiten) und dass b) zu viel Erfahrung erfordert, die du nicht hast.

Grundsätzlich empfiehlt es sich, mit kleinen Projekten anzufangen. Aber zur konkreten Frage nach einem Tutorial. Ich habe dieses Tutorial mal auf meiner Suche gefunden. Vielleicht hilft es dir, ich bin bisher nicht dazu gekommen es mal durchzuarbeiten ( http://www.cokeandcode.com/info/tut2d.html ). Falls du es durcharbeitest wäre es cool, wenn du mir Feedback dazu gibst. Dann weiß ich, ob ich es auch irgendwann mal angehen kann (selbst wie gesagt noch nicht ausprobiert).

Und meine Dritte frage währe :
gibt es da eventuell engines für ? so wie den UDK ?

Es gibt natürlich eine Reihe von Engines. Letztlich ist die Frage, was du selber machen willst. Je besser die Engine, desto weniger wirst du als unerfahrener Programmierer damit klarkommen, da die Möglichkeiten zu groß sind. Aber je einfacher verständlich, desto limitierter sind die Möglichkeiten. Grafik-Engines gibt es meines Wissens gute OpenSource. Allerdings ist das Thema Grafik allein schon so groß, dass ich persönlich mich noch nicht rangetraut habe.

so kurz noch zu mir:
ich kann einfache plugins für minecraft server programmieren
und habe bis jezt schon einen webbrowser und einen media
player programmiert in VB.

Damit bringst du zumindest mehr Erfahrung mit als die meisten, die ein Spiel entwickeln wollen. Meine Empfehlung ist, dass du dir das Tutorial mal anschaust. Wenn du es durcharbeitest, kriegst du ein Gefühl dafür, wie viel Aufwand es bedeutet, ein Spiel zu entwickeln.

Ansonsten ist der allgemeine Rat den ich geben kann: verwende genug Zeit vorher für das Spiel-Design. Allein sich ein funktionierendes Spiel-Design auszudenken ist schon eine Herausforderung - da reden wir noch gar nicht vom Programmieren. Ich persönlich trage mich seit bestimmt 4 Jahren nun mit 2 Ideen für Spiele (ein RPG und ein Strategiespiel), wo ich bis heute tüftle. Also wenn du was großes vorhast: gut drüber nachdenken. Und beim Programmieren klein anfangen.

Würde mich freuen von dir wieder zu hören, wenn du Erfolge machst :smile:

Liebe Grüße,
Philipp

PS: Zuletzt noch ein Link, den ich bei der Suche nach Tipps für RPGs gefunden habe. Könnte aber für dich auch von Nutzen sein. Da steht auch was von Engines ( http://www.rpg-studio.de/scientia/Java ).

so ok … hat etwas lang gedauert das zu lesen

danke dir

ok THX,
ich werds mir überlegen

LG, lukas

Hallo Lukas,
mit Spiele-Entwicklung kenne ich mich überhaupt nicht aus und kann Dir daher leider keine qualifizierte Antwort geben.
Dennoch viel erfolg bei Deinem Projekt.
Gruß
Erhard

Wie Programmiert man ein Aufbauspiel ?

Also ich weiß das man erst mit 2D anfängt und nacher dann mit
3D weiter macht. aber erstmal habe ich die frage womit mach
ich das am besten ? Mit java ? oder doch eher VB ?

Dann meine zweite Frage währe:
gibt es tutorials oder könnt ihr mir das bei bringen ?

Und meine Dritte frage währe :
gibt es da eventuell engines für ? so wie den UDK ?


so kurz noch zu mir:
ich kann einfache plugins für minecraft server programmieren
und habe bis jezt schon einen webbrowser und einen media
player programmiert in VB.

Skype: Sakul6499 Penthalo

LG, Lukas

Ok ,
danke für deine Antwort :smiley:

LG, lukas

Mahlzeit,

um es kurz zu fassen: Arbeite mal ein Buch wie „Killer Game Programming“ mit knapp 1000 Seiten durch, dann kannst du so ein Spiel von der Technik her wahrscheinlich allein erstellen. Du kannst ein voll funktionsfähiges Spiel aber auch in Flash programmieren oder bei VB bleiben. Du kannst Delphi, C++, C# hernehmen oder aber alles in TCL oder Python programmieren.

Die Wahl der Sprache ist nicht die erste. Als erstes musst du dir einen Überblick über die Elemente des Spiels machen. Es ist ein Aufbau-Spiel. Was wird aufgebaut? Wie wird es aufgebaut? Besitzt es eine eigene Logik oder muss jedwede Aktion vom Benutzer erfolgen? Was ist das Spielziel? Gibt es CPU-gesteuerte Konkurrenz? Wie wird das Spiel bedient? Gibt es Geräusche und Sound?

Und dann ist da auch noch die Grafik. Wenn du dein Spiel modular erstellst, kannst du die Grafikengine am Schluss austauschen und bei geeignetem Konzept von 2D auf 3D gewechselt sein. Das dürfte bei einem ersten solch umfangreichen Projekt aber eher unwahrscheinlich sein.

Anfangen würde ich an deiner Stelle mit den Elementen des Aufbaus. Werkzeug-, Werkstoff-, Produktionseinheiten und -gebäude. Eine Wirtschaftslogik, die bei Eintreffen bestimmter Ereignisse entsprechend reagiert, ist natürlich auch wichtig. Das bestimmt die Programmlogik und die Kernelemente.
Dazu kommt die Interaktion und anschließend die Präsentation.

gegrüßt!

Hallo Lukas,

Was ist ein Aufbauspiel? Sim City?
Es gibt keine Tutorials für grössere Spiele. Ein Grund wieso
in fast allen Büchern das selbe steht ist, das alles was es gibt
auf eben diesen Grundlagen aufbaut.

Visual Basic ist wesentlich einfacher als Java, damit
solltest du gut zurecht kommen. Mit VB kannst du auch
DirectX programmieren, was aber nicht so einfach ist.

Du solltest klein anfangen, versuch doch mal ein Karten-
oder Brettspiel zu programmieren. Du wirst merken das dies
schon aufwendig ist.
Von Multiplayer ganz zu schweigen :wink:

Wenn du ohne Erfahrung gleich was grosses anfängst,
wirst du schnell enttäuscht aufgeben.

Beibringen kann ich dir das nicht, da ich zur Zeit andere
Sachen programmiere. Kaufe dir ein gutes Buch und leg einfach los.

Wenn du spezielle Fragen hast zu VB, melde dich einfach wieder.

Gruss und viel Erfolg

Nicky

hab schon kleinere spiele wie schach und solitär programmiert :wink: … unteranderm auch in sql ein online game aber das is schon länger her :smiley: … also ich will ja erst mal so 2D anfangen :smiley: