AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Womit ein Online-Spiel erstellen?

Ein Thema von Matt83 · begonnen am 27. Sep 2007 · letzter Beitrag vom 30. Sep 2007
Antwort Antwort
Matt83

Registriert seit: 21. Dez 2005
9 Beiträge
 
#1

Womit ein Online-Spiel erstellen?

  Alt 27. Sep 2007, 19:48
Hallo,

ich plane derzeit mit einem Bekannten ein Online-Browser Spiel zu entwickeln. Da ich Websites bisher nur mit PHP oder IntraWeb gemacht hab, bin ich da auch nicht so erfahren, was die heutigen Programmiersprachen und Umgebungen fürs Web so angeht.

Anfangs dachte ich noch an PHP, aber da es wahrscheinlich viele Hintergrundereignisse geben wird (Objekt kommtnach 3 Stunden an, der User hat sich aber schon ausgeloggt) wären da wohl einige Cronjobs oder so nötig. Also muss wohl etwas anderes her. IntraWeb wär eine Idee, aber irgendwie denk ich es gibt besseres.
Letztens hab ich irgendwo einen Thread über ASP.net gelesen, und werde mich darüber mal genauer informieren.

Daher hier meine Frage, was ihr mir empfehlen würdet, und vor allen Dingen - Warum? Evtl auch eine Mischung aus mehreren Systemen (Aber ich schätze, das würde erst ab einer gewissen Größe Sinn machen!)?

Zum Spiel nur so viel: Ich plane ab Mitte Oktober damit anzufangen und eine (zugegebenermaßen "billige" Version gegen Weihnachten "online" gehen zu lassen. Voraussichtlich mit 5-10 Spielern. Ab Juli nächsten Jahres würde ich dann - angenommen, es wurden bis dahin genügend Ideen implementiert - den allgemeinen Zutritt erlauben, und wäre nächstes Jahr zu Weihnachten mit 5000 Spielern - davon wohl maximal 250 gleichzeitig online - sehr zufrieden.

Falls Fragen sind, immer her damit. Ich freu mich aber besonders auf Antworten.

Grüße
Matt

PS: Zum Spiel-Inhalt will und kann ich noch nicht viel verraten
  Mit Zitat antworten Zitat
Flare

Registriert seit: 26. Jan 2006
Ort: Leipzig
529 Beiträge
 
Delphi 7 Professional
 
#2

Re: Womit ein Online-Spiel erstellen?

  Alt 27. Sep 2007, 19:55
Ich arbeite in allen Fällen mit PHP und MySQL (und in dem Zusammenhang natürlich mit HTML, CSS und JavaScript).

Deine im Hintergrund laufenden Prozesse kannst du über Pseudo-Cronjobs laufen lassen. Also jedes mal wenn die Seite aufgerufen wird wird geschaut, ob ein Prozess überfällig war und wird dann ausgeführt. Ich glaube das ist auch eine gängige Alternative zu Cronjobs.

Ich arbeite ja auch selber derzeit an einem Online-Spiel und wenn du in einem Jahr wirklich 5000 user hast, würde ich dich dafür beneiden


Flare
Willy Scheibel
  Mit Zitat antworten Zitat
Benutzerbild von borncrush
borncrush

Registriert seit: 18. Dez 2005
Ort: Berlin
115 Beiträge
 
Delphi XE7 Enterprise
 
#3

Re: Womit ein Online-Spiel erstellen?

  Alt 27. Sep 2007, 20:01
Hallo,

also ich hab zwar noch nie Spiele programmiert und in PHP kenne ich mich erst recht nicht aus, aber das folgende Problem wäre wohl mit jeder Sprache machbar:

Zitat:
Anfangs dachte ich noch an PHP, aber da es wahrscheinlich viele Hintergrundereignisse geben wird (Objekt kommtnach 3 Stunden an, der User hat sich aber schon ausgeloggt) wären da wohl einige Cronjobs oder so nötig.
Also speicher doch einfach ab, wann das Objekt ausgelöst wurde und ab welchen Zeitraum ein Event eintreten müsste, etwa könnte dies so aussehen (Tabellenstruktur):

Code:
id   objektname   startzeit           eventdauer
4     SonneScheint 2007-12-12 13:14:23  180
6     MusikSpielt  2007-12-12 13:14:23  420
-Die Felder "id" und "objektname" sind ja klar.
-Startzeit ist der Moment der Auslösung
-Eventdauer ist die Dauer des "Events" in Minuten

Dein PHP-,Delphi-,etc-Programm merkt also momentan ist es 17:23:21, dass heißt die "SonneScheint nicht mehr", aber die "MusikSpielt noch".

Dies ist nur ein Beispiel, dies muss noch bei weitem ausgebaut werden.

Gruß
  Mit Zitat antworten Zitat
Matt83

Registriert seit: 21. Dez 2005
9 Beiträge
 
#4

Re: Womit ein Online-Spiel erstellen?

  Alt 27. Sep 2007, 20:29
Ok, an die Pseudo-Cronjobs hab ich auch gedacht, allerdings ist mir das nicht wirklich recht. Da gibt es bestimmt einiges an Fehlervermeidung - gerade bei zeitabhängigen Aktivitäten - zu beachten. In dem Fall würd ich dann lieber ein externes Programm laufen haben, was alle Events zugeschcikt bekommt, und dann bei jeder Ereigniszeit halt etwas macht.
Die Methode würde ich davon noch am ehesten Favorisieren, zumal der Cronjob dann nie leerläuft, bzw ein User nicht auf einmal auf x-tausend Ereignisse warten muss, für die er nichts kann. Gut man könnte auch die Ereignisse beschränken pro PHP Aufruf, aber das würde sogar einen Überlauf provozieren, wenn genügent zusammenkommen, aber kaum Aufrufe sind.
Und eine Mischung im richtigen Gleichgewicht finden, ist bestimmt auch nciht so einfach.

Und zu guter letzt: Eine neue Sprache lernen wär doch auch mal wieder was

Zitat:
Ich arbeite ja auch selber derzeit an einem Online-Spiel und wenn du in einem Jahr wirklich 5000 user hast, würde ich dich dafür beneiden
Ich sagte doch ein Jahr und 3 Monate Aber ich glaub kaum, dass ich das schaffen werde. Und wenn doch bin ich sogar mehr als "nur" sehr zufrieden
  Mit Zitat antworten Zitat
Florian H

Registriert seit: 30. Mär 2003
Ort: Mühlacker
1.043 Beiträge
 
Delphi 6 Professional
 
#5

Re: Womit ein Online-Spiel erstellen?

  Alt 27. Sep 2007, 20:39
Die PHP-MySQL-Kombination wäre auch meiner Ansicht nach das Naheliegendste.

Was spricht denn gegen einen Cronjob? Gibs doch für 0,50Eur/Monat bei jedem vernünftigen Hoster [jedenfalls zahle ich so viel und der wird zuverlässig und pünktlich alle 5 Minuten ausgeführt ]

Edit: und nicht ganz so zuverlässig aber dafür kostenlos gibts die ja bei cronjob.de [oder auf anderen free-CJ-Seiten].
Florian Heft
  Mit Zitat antworten Zitat
Matt83

Registriert seit: 21. Dez 2005
9 Beiträge
 
#6

Re: Womit ein Online-Spiel erstellen?

  Alt 27. Sep 2007, 20:51
Hi, ja wenn es um alle 5 Minuten geht, dann mag das vielleicht ok sein. Ich habe auch im allgemeinen nichts dagegen. Aber wie gesagt geht es um ein Spiel. Und wenn (ich bin jetzt mal bei diestaemme) mein Dorf angegriffen wurde, und zwischen diesem Angriff und dem nächsten (Pseudo-)Cronjob schickt der Gegner alle seine Einheiten weg, ist das schon nicht mehr schön, wenn man niemanden zum zerstören hat. Gut man könnte die Zeit zurückdrehen, aber dann ist der Gegner wieder benachtteiligt, weil er doch denkt, seine Einheiten sind auf einem Feldzug und nicht im Grabe.

MySQL werd ich wohl als Datenbank nehmen, aber bei PHP bin ich mir wie gesagt aus solchen Gründen zumindest unsicher. Nur einen eigenen http-server werd ich bestimmt nicht bauen

Der Server und die Preise spielen erstmal noch keine Rolle, da ich erstmal nur Dynamic DNS zu mir nach Hause benutzen werde, solange wir weniger als 10 Spieler sind.
  Mit Zitat antworten Zitat
tr909

Registriert seit: 5. Nov 2004
193 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Womit ein Online-Spiel erstellen?

  Alt 30. Sep 2007, 13:12
Also ich denke mal für das was du willst brauchst solltest du eine Server-Software entwickeln. Die läuft dann ständig und kümmert sich um alle Ereignisse und generiert den Output für die Clients. (Entweder Client-Software oder Browser). Kannst ja mal hier gucken : http://www.worldforge.org/ (ein Open Source MMORPG)

Gruß
tr909
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz