Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

19.01.2011, 18:45

Mein erstes Spiel. Kein Plan von Spieleprogrammierung

Hallo Leute,

ich wollte mich jetzt auch mal an ein Spiel setzen. Evtl. erzähl ich erst mal ein bisschen was über das Spiel (oder das was ich bis jetzt weiß :D):
Also. Das Ganze soll in C# geschrieben werden. Das Spielprinzip soll ähnlich dem eines Browsergames (wie OGame) sein. Wie genau weiß ich noch nicht. Dazu aber später mehr.
Inhaltlich soll es um… naja… Mafia Geschäfte gehen. Man soll Leute „Einstellen“ können, die dann verschiedene „Aktivitäten“ ausführen (was die Mafia halt so macht…). Man selbst schlüpft in die Rolle eines Bosses und muss sich gegen andere durchsetzen. Was Story usw. angeht werde ich mir noch selber Gedanken machen… Das Ganze soll ohne groß Grafikgedöns ablaufen. Wie ein Browsergame halt.
Jetzt zu meinem Problem:
Meine C# Kenntnisse sind nicht gerade die besten. Ich hab keine Ahnung wie ich anfangen soll. Erst mal also das Klassendesign. Wie soll ich das ganze aufbauen? Was sollen die einzelnen Klassen können. Ich möchte hier keine Sourcecode geliefert bekommen. Ich möchte einfach gerne wissen, wie man so ein Spiel überhaupt aufbaut.

Freue mich auf eure Antworten :D
cin0s

2

19.01.2011, 19:24

Du kannst ja erst mal versuchen die fachlichen Konzepte deines Spiels zu ermitteln. Dazu könntest du dir zum Beispiel vorstellen, dass du dein Spiel als Gesellschaftsspiel aus Pappe usw. umsetzt. Schreibe einfach ein Regelbuch zu diesem Gesellschaftsspiel, dann kennst du alle Konzepte deines Spiels. Diese Konzepte kannst du dann versuchen mit C# technisch umzusetzen.

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

3

19.01.2011, 20:11

Kannst du noch was anderes? Und wie lang machst du schon mit C# rum?
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

4

19.01.2011, 20:23

Ob ich noch was anderes kann? Sicher xD Sogar zimlich viel :D Was meinst du denn? An Programmiersprachen?

Mit C# "mache" ich ca. ein halbes Jahr rum...

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

5

19.01.2011, 20:38

Ob ich noch was anderes kann? Sicher xD Sogar zimlich viel :D Was meinst du denn? An Programmiersprachen?

Mit C# "mache" ich ca. ein halbes Jahr rum...

Ja, Programmiersprachen ;)
Denn natürlich könntest du anfangen ein spiel zu entwickeln, aber wenn du zuwenig Erfahrung hast kann das ganze sehr schnell lästig werden. Daher solltest du erstmal etwas Basis Erfahrung sammeln.
Wenn du dennoch schnell ein Spiel auf die Beine stellen willst und darüber hinaus noch eine andere Sprache lernen willst (zudem den Umgang mit Spielen), würde ich zu Python und Pygame raten. Python lernt man recht einfach in 1-2 Wochen als Anfänger und man kann eig. innerhalb eines Monats ein kleines Spiel schreiben, um einige Erfahrungen zu sammeln, um die dann später in einer mächtigeren Sprache, also C#, C++, D etc, umzusetzen.
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

6

19.01.2011, 21:18

Hmm hab wohl echt nen bisschen wenig erfahrung.

Was währe dann ein gutes Projekt in Python zum üben?

Auser C# kann ich noch nen bisschen PHP... Aber nicht viel.

7

19.01.2011, 22:19

Also ich finde nicht, dass wenn du Spiele entwickeln willst, du mehr als eine Programmiersprache brauchst. Das ist eh immer das gleiche und mehr Erfahrung bekommst du nur, wenn du anfängst zu programmieren. Wenn dir C# gefällt dann bleib dabei, das ist auf jeden Fall eine sehr mächtige Sprache!

Was hast du denn genau für ein Problem bei deinem Spiel? Einfach anfangen. Den goldenen Weg kannst du später lernen - falls es überhaupt einen gibt. Um gut zu programmieren ist Praxis das wichtigste. Entwurfsmuster usw. kann man später immer noch lernen. Erst mal ein bisschen in einer Sprache deiner Wahl experimentieren. Und das von dir vorgeschlagene Spiel scheint mir eine sehr gute Wahl zu sein.

Mal ein kleines Beispiel:
Als Spieler kann man mehrere Gangster anstellen. Mit den Gangstern kann man bei Läden Schutzgeld verlangen. Das Spielgeschehen passiert in Runden und man kann mit einem Gangster einen Laden pro Runde "besuchen". Jeder Gangster will pro Runde ein bestimmtes Gehalt bekommen. Wenn er das nicht bekommt, verlässt er den Spieler. Um einen Gangster anzustellen muss man zusätzlich einen Festbetrag zahlen um ihn zur Mitarbeit zu "überreden". Jeder Laden, den man erpresst hat einen Festbetrag + zufällige Abweichung pro Runde in der Kasse. Diesen Betrag erhält man beim erpressen. Man hat gewonnen wenn man 1.000.000 EUR hat. Man verliert, wenn man kein Geld mehr hat. Man beginnt das Spiel mit 1.000 EUR.

Ich würde jetzt spontan an folgende Klassen denken:
Spiel, Gangster, Laden

Spiel-Klasse:
Variablen:
Liste mit angestellten Gangstern
Liste mit nicht angestellten Gangstern
Liste mit Läden
Geldbetrag des Spielers
Funktionen:
nächste Runde { Gangster bezahlen und unbezahlte Gangster entfernen (ggf. über Dialog); Werte für schon erpresst zurücksetzen... }
Gangster anstellen { ... }
Spiel initialisieren { Gangster und Läden generieren; Anfangsgeld setzen... }

Gangster-Klasse:
Variablen:
Name
Anfangspreis
Preis pro Runde
Laden in dieser Runde erpresst?
Funktionen:
Laden erpressen { Wenn "Laden in dieser Runde erpresst?"=falsch Dann Laden-Auswahl-Dialog starten; bei ausgewählten Laden "Erpressungsgeld zahlen" ausführen; "Laden in dieser Runde erpresst?"=wahr; }

Laden-Klasse:
Variablen:
Name
Festbetrag
Schon erpresst worden?
Funktionen:
Erpressungsgeld zahlen { Wenn "Schon erpresst worden?"=falsch Dann "Geldbetrag des Spielers"="Geldbetrag des Spielers"+Festbetrag+Zufallszahl; "Schon erpresst worden?"=wahr; }

Die Benutzerschnittstelle kannst du entweder in der Konsole realisieren oder einfache Dialoge mit dem Forms-Designer machen.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Chromanoid« (19.01.2011, 22:25)


Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

8

19.01.2011, 22:31

Netter Beitrag, aber sich zuviel vorzunehmen, wenn er nur Basics kennt ist Schwachsinn (er kennt ja wahrscheinlich nicht mal Sprites, ganz zu schweigen von deren Umgang). Das macht dann nur Frust und man verliert die Lust.
Also mehr Erfahrung sammeln und am besten irgendwie schon einmal etwas Spiel Aufbau ansehen/studieren _oder_ klein anfangen und hoch arbeiten.
Ob mit einem Lehrbuch oder mit Python/Pygame ist dabei relativ egal, wobei jede Sprachen ihre Spezifikationen & Vorzüge hat, soviel zum Comment "[...]ist eh immer das gleiche[...]".
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

9

19.01.2011, 22:40

Netter Beitrag, aber sich zuviel vorzunehmen, wenn er nur Basics kennt ist Schwachsinn.

Was ist den daran zuviel? Das Spiel sind drei Klassen und ein bisschen Arbeit mit dem Forms-Designer oder ein paar writelines. Das was du vorschlägst ist "etwas zu viel vornehmen"! Was soll man denn mit pygame wenn man ein Dialog basiertes Spiel erstellen möchte und python nicht kann? Du rätst hier IMO zu völlig sinnlosen sprachfaschistioiden Dingen. Ein halbes Jahr mit C# sollte einen eigentlich in die Lage versetzen Konsolenanwendungen oder Dialoganwendungen zu entwickeln. Mehr als ein paar if's und einer while-Schleife (wenn man das ganze in der Konsole macht) sind zu oben vorgeschlagenem Beispiel nicht nötig. Das schwierigste daran wäre wohl das Behandeln der Dialoge oder das aufbauen der Texte in der Konsole...

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

10

19.01.2011, 22:45

Ich meinte lediglich, dass er mit Pygame rum hantieren soll, da es einfach zu erlernen ist und trotzdem viel Praxiserfahrung bietet, um somit den einfachen Ablauf eines _Spiels_ zu lernen, nichts weiter, _oder_ einen einfachen Anfang.
Aber wenn er nicht einmal Sprites kennt (was ich ja nicht sicher weiß) sollte er vllt erstmal kleinere Fensteranwendungen machen in denen sich Bilder bewegen oder in denen man Bilder hin und her schiebt.
Als Ziel kann er sich ja einen einfachen Moorhuhn Klon setzen, den er nach und nach realisiert.

edit: muss mich dahingehend korrigieren, dass ich statt "Spiel" - "Sprite" Klasse las, was mich stutzig machte. Nichts für Ungut was das angeht.
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

Werbeanzeige