Simples Spielprinzip für Multiplayer

11/09/2013 22:39 Crack-wtf#1
Ich würde mal gerne eine kleine "diskussion" ins rollen bringen.
Und zwar für eine art "ForenProjekt", heißt wir schreiben gemeinsam ein simples Multiplayer Spiel, in dem jeder verbesserungen posten kann und sich aktiv daran beteiligen kann.
Alles komplett in autoit.

Was wir bräuchten:

- Spielidee
- Masterserver (zum auflisten von räumen)
- Client/Server

Als alternative zu oop könnten wir mit 2D Arrays arbeiten.
Ich dachte daran dass wir evtl. eine art Kartenspiel oder so machen.
Oder ein bereits vorhandenes spiel wie "Mensch ärgere dich nicht".

Wer lust hat kann ja Ideen hier posten.
Wir könnten auch eine Skype konfi erstellen.
Würde aber erstmal gerne wissen ob überhaupt Interesse besteht ^^

Man könnte auch easy mit der BASS udf eine art "VOIP" funktion einbauen :D
Aber das wichtigste wäre erstmal eine geile Spielidee.
"Schiffe versenken", "Mensch ärgere dich nicht" was fällt euch noch so ein?
Evtl. kommen wir auf ein geiles Spielprinzip :D

Hier unten werde ich paar Ideen posten
PHP Code:
SpielIdee 1

Es gibt bis zu x Spieler
.
Jeder spieler erhält Startguthaben von 100 Euro.
Es wird abwechselnd der reihe nach gespielt.
Die 
Spieler können andere spieler angreifen und bestimmen mit ihrem Geld den anzurichtenden Schaden.
Wenn man kein Geld/Leben mehr hathat man automatisch verloren.
Der letzte Spieler gewinnt
PHP Code:
SpielIdee 2

Es gibt bis zu x Spieler
.
Es gibt ein 10x10 Spielfeld.
Jede Runde ist eine Person dran, die ein Feld bestimmen kannauf dem er eine "Bombe" o.äplaziert.
Er kann angeben wieviel Geld er auf dieses Feld setzt.
Die 
anderen Spieler setzen Geld daraufin welchem raum sich die "Bombe" befindet.
z.Bbeträgt der Radius des Feldes 5x5 Felder.
Wenn keiner die Bombe trifftbekommt der der die Bombe gesetzt hat sein Geld das Geld das die anderen gesetzt haben. (Hierfür evtleine Berechnung einbauensodass es ausgeglichen ist.)
Wenn jemand die Bombe trifftbekommt er das Geld der Person die die Bombe gesetzt hat. (Hierfür auch eine Berechnung sodass man auch gewinn macht.) 
PHP Code:
SpielIdee 3 (von Sh1Rum)

Es gibt ein vorgegebenes Spielfeld.
Auf diesem Spielfeld bewegen sich alle spieler bis auf einen als Fliegen.
Ein Spieler erhält eine Fliegenklatsche und muss die anderen Spieler "kaputt hauen"
11/09/2013 23:02 Sh1Rum#2
Hört sich sehr gut an ..ich kann gerne ein skype konfi machen
skype :SoulCr4ck

hier eine spielidee nicht die beste aber eine idee..


Code:
SpielIdee2

Fliegen Klatschen (Simple)
So man startet das spiel und daa Programm macht ein Screenshot vom BildSchirm und lässt es in einer neuen Gui auf dem FullScreen Zeigen. Darauf erscheinen dann fliegen und die muss man halt töten erklärt sich von selbst
und achja Datenbanken oder FTP Server?
11/09/2013 23:05 Crack-wtf#3
Quote:
Originally Posted by Sh1Rum View Post
Hört sich sehr gut an ..ich kann gerne ein skype konfi machen
skype :SoulCr4ck

hier eine spielidee nicht die beste aber eine idee..


Code:
SpielIdee2

Fliegen Klatschen (Simple)
So man startet das spiel und daa Programm macht ein Screenshot vom BildSchirm und lässt es in einer neuen Gui auf dem FullScreen Zeigen. Darauf erscheinen dann fliegen und die muss man halt töten erklärt sich von selbst
und achja Datenbanken oder FTP Server?
Wozu eine Datenbank/FTP-Server?
Der Master-Server wird mit sicherheit nicht mit 1000+ Räumen zu kämpfen haben.
Da reicht ein 2D Array aus.

Client sendet Request an MasterServer.
MasterServer verpackt das Array in Packets und schickt es an den Client.
Client listet alle räume auf.

Zu deiner SpielIdee.
Man könnte es ja so machen, dass ein Spieler eine "Fliegenklatsche" hat.
Er hat zwischen jedem schlag einen Delay von 3 Sekunden.
Die anderen Spieler sind die "Fliegen" und bewegen sich in einem vorgegebenen Feld.
11/09/2013 23:08 Sh1Rum#4
Quote:
Originally Posted by Crack-wtf View Post
Wozu eine Datenbank/FTP-Server?
Der Master-Server wird mit sicherheit nicht mit 1000+ Räumen zu kämpfen haben.
Da reicht ein 2D Array aus.

Client sendet Request an MasterServer.
MasterServer verpackt das Array in Packets und schickt es an den Client.
Client listet alle räume auf.
okay hört sich sehr gut an :> jetzt auf die faule Haut legen und auf spielidee warten btw. selber überlegen :}

Die verbesserung ist gar nicht so schlecht :> sogar sehr gut :} kann man ja mal gucken
11/09/2013 23:17 Crack-wtf#5
Wegen der Verbindung habe ich es mir folgendermaßen vorgestellt.
Vom Spiel an sich läuft die verbindung über den Client der den Raum erstellt hat.
Heißt:
Spieler A sendet an den RoomMaster z.B. Seine Position.
RoomMaster sendet an alle anderen die Position des Spielers.

Für Voip/Chat:
Spieler A sendet an jeden im Room selbst den Text/Voice Buffer.

Im ChatPacket senden wir nicht den Spielernamen, sondern nur die SpielerID.
Heißt: Spieler sendet beim Joinen seinen Namen und der RoomMaster vergibt selbst die SpielerID.
11/09/2013 23:22 Sh1Rum#6
Quote:
Originally Posted by Crack-wtf View Post
Wegen der Verbindung habe ich es mir folgendermaßen vorgestellt.
Vom Spiel an sich läuft die verbindung über den Client der den Raum erstellt hat.
Heißt:
Spieler A sendet an den RoomMaster z.B. Seine Position.
RoomMaster sendet an alle anderen die Position des Spielers.

Für Voip/Chat:
Spieler A sendet an jeden im Room selbst den Text/Voice Buffer.
du meinst denn Host des Raumes hat dann sein ersteller. Keine Schlechte Idee. Voice Chat müssen wir gucken ich schätze mal es wird ziemlich ruckeln. Zuerst brauchen wir eine Gute SpielIdee die wir umsetzten danach kann man die Details austauschen. Und natürlich brauchen wir auch jemand der Gut Designer kann.
ich würde sagen das kann man alles machen nach den spielideen :)
11/09/2013 23:32 Crack-wtf#7
Achwas.
Wenn man nen geiles Spielprinzip hat und es auch Spaß macht, braucht man keine geilen Grafiken oder so ^^
11/10/2013 12:48 Croco™#8
Ich weiß nicht ob ihr noch das alte Spiel iMafia für den IPod kennt.
Diese Idee hatte damals sehr viel anklang gefunden und ist auch sehr einfach um zu setzen.

Quote:
Das Prinzip:
Jeder Spieler startet mit einen gewissen Geldbetrag (10000€) und kann sich damit verschiedene Dinge kaufen die ihm einen vorteil verschaffen:
Immobilien: Geldeinnahmen (z.B 1000 pro Stunde)
Waffen, Autos: Stärker im Kampf gegen Gegner
etc.

Nun ist es möglich andere herauszufordern und so einen Prozentsatz ihres Geldes zu "erbeuten". Alle Spieler sind in einer art Ranking in dem der, mit dem meisten Geld und den meisten Gewonnenen Kämpfen auf Platz 1 ist.
Das ganze sollte man natürlich nicht 1zu1 übernehmen aber das Prinzip ist weder schwer umzusetzen noch benötigt man große Graphische Arbeit.
11/11/2013 15:01 lolkop#9
das erfolgreichste "Browsergame" Spielprinziep, welches sich in den letzten Jahren herauskristallisiert hat, ist das von Spielen wie "Die Stämme". Im Grunde handelt es sich hierbei um eine stark vereinfachte Version von alten Spielen wie "Age of Empires", "Die Siedler", ... Hierfür wurden nach und nach immer mehr vereinfachte Versionen entwickelt, welche von der Umsetzung her exponentiell einfacher sind, den Spielspass hierbei aber kaum einschränken.

Code:
Ausgangszustand:
  - ein Universum mit Spielern, NPCs, Rohstoffen
  - es gibt x Spieler mit je
    - 1 Lager/Basis/Stadt/Dorf/Planet (wie auch immer)
    - m x n Rohstoffen (Geld/Gold/Erz/Stein/Getreide/Brot/...)
Möglichkeiten:
  - Ausbau der Basis für
    - Rohstoffgewinnung, Angriffsstärkung (Armeeproduktion), Verteidigungsstärkung
  - Angriff von Spielern für
    - Rohstoffgewinnung, Erfahrungsgewinnung, Auszeichnungen
  - Zusammenschluss mit Spielern für
    - gegenseitige Unterstützung
  -  Erobern der Basis anderer Spieler
    - übernahme ihrer Bauten, erhöhte Rohstoffgewinnung/Armeeproduktion 
Ziel des Spiels:
  - Der größte, mächtigste Spieler von allen werden...
Wo Spiele wie "Die Stämme" noch sehr komplex sind, gibt es deutlich vereinfachte Versionen, wie z.B. "Clash of Clans". Hier wird auf eine große Karte, sowie auch NPCs verzichtet. Es gibt nur Spieler und ihre Basis. Zusätzlich wird auf ein kompliziertes Spieler-gegen-Spieler Kampfsystem verzichtet.

Will ein Spieler einen anderen angreifen, so wird auf Basis des Erfahrungsstandes des Spielers (welcher durch den Ausbau der Basis, oder durch Kämpfe steigt), ein möglichst ebenwürdiger Gegner ermittelt. Der Spieler kann also seinen Gegner nicht selbst wählen. Dies bringt einen Glücksfaktor mit ins Spiel, da weder bekannt ist, wie die Basis des Gegners aussieht, noch wieviele Rohstoffe dieser besitzt.

Zusätzlich wurde noch die möglichkeit der Übernahme fremder Basen eliminiert, sodass jeder Spieler stets nur eine Basis besitzen kann.

Mit diesem Prinziep kann man mit einem einfachen 4D-Array das gesamte Spiel abdecken, da Spieler=Basis gilt.

bsp:
Code:
$player[x][0][0][name,exp] //player data
$player[x][0][1+N][resourceN] //player data
$player[x][1][buildingType][lvl, count] //building data
$player[x][2][troopType][lvl, count] //troop data
ist die Anzahl der jeweiligen Typen bekannt, so ist auch entsprechend die Definitionsgröße des Arrays bekannt.

Vorteil bei diesem Aufbau ist, das abgesehen vom Spielername nur sehr kleine Zahlentupel im Traffic versand werden.
11/15/2013 21:33 FacePalmMan#10
also ich habe eine idee an der ich schon eine weile arbeite, und zwar ein 2D-Shooter welches so ein wenig in richtung GTA geht. der spieler muss auf bots schiessen, die aber dann auch zurückschiessen. pro erschossenen bot (im multiplayer dann auch spieler) kriegt man 5$. wenn man genug geld hat kann man sich bestimmte waffen kaufen. im multiplayer wäre das so dass man auch die waffen aus dem singleplayer benutzen kann.
meine idee habe ich zur zeit nur auf den singleplayer umsetzen können, da tcp mir manchmal einfach zu sehr aufm wecker geht und nicht funktioniert.
ein link zu der neuesten version meines spieles: [Only registered and activated users can see links. Click Here To Register...]
Virustotal link dazu: [Only registered and activated users can see links. Click Here To Register...]