![]() |
Womit ein Online-Spiel erstellen?
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 ;) |
Re: Womit ein Online-Spiel erstellen?
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 :thumb: Flare |
Re: Womit ein Online-Spiel erstellen?
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:
Code:
-Die Felder "id" und "objektname" sind ja klar.
id objektname startzeit eventdauer
4 SonneScheint 2007-12-12 13:14:23 180 6 MusikSpielt 2007-12-12 13:14:23 420 -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ß |
Re: Womit ein Online-Spiel erstellen?
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:
|
Re: Womit ein Online-Spiel erstellen?
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]. |
Re: Womit ein Online-Spiel erstellen?
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 :P 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. |
Re: Womit ein Online-Spiel erstellen?
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 :
![]() Gruß tr909 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz