| | | | |
| |||||||
| Software-Design Diskussionen auf Profi-Niveau: PHP Lösungen auf konzeptioneller Ebene |
|
| | LinkBack | Themen-Optionen | Bewertung: |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Erfahrener Benutzer Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() | Zusatz: Worum es mir eigentlich geht ist, das man eine Definition zu treffen hat. Das bei Egoshootern wirklich "Runden" abgearbeitet werden ist natürlich Quatsch, dort laufen Realzeit und Spielzeit immer synchron - aber im Detail ist so etwas absolut wichtig, will man z.B. physikalische Gegenheiten im Computer simulieren: Ein Schuss wird abgefeuert zum Zeitpunkt X von einer Position A. Richtung und Geschwindigkeit der Kugel sind bedeutend. Ziel B befindet sich aber in Bewegung von Position B, mit einer eigenen Geschwindkeit und Richtung. Man kann ausrechnen, ob die Kugel das Ziel trifft oder nicht, kennt man alle Variablen... und im Computer kennt man diese und kann, entgegen zur Realtiät, diese Variablen beeinflussen. Der Programmierer legt fest, wie schnell die Kugel fliegt, wie schnell sich eine Person in "seiner" Welt bewegen kann. Und sein Programm - seine Welt - folgt seinen programmierten Regeln (Physik).
__________________ Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot. |
| | |
| | ||||||||
| Moderator¹ Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Zitat:
Zitat:
Zitat:
Zitat:
Dass du die eine oder andere Definition des Fortschrittes einer Aktion für „realistischer“ halten magst, hat mit der grundsätzlichen Technik überhaupt nichts zu tun. In der Realität wird der Bauherr auch nicht für jeden auf der Baustelle eingeschlagenen Nagel den „Fertigstellungs-Status“ des Hauses um 0,0[...]001% erhöhen. Nein, im Gegenteil - es werden bestimmte „Milestones“ definiert, und deren Erreichen wird im voraus zeitlich geplant und im Nachhinein mit dieser Planung abgeglichen. Zitat:
Einen Fortschritt in Prozent rein zu Informationszwecken kann man ggf. zusätzlich angeben - aber eine gestaffelte Punktevergabe hat trotzdem ihre Berechtigung. Ein komplett fertig gestelltes Hausdach bietet vielleicht einen bestimmten Schutzfaktor bei einem Angriff. Aber zu sagen, ein „zu 73,125% fertiggestelltes Haus“ bietet auch einen Schutzfaktor von 73,125% o.ä. ist kaum „realistisch“, sondern ganz trockene und langweilige Mathematik. Aber, noch mal: Das sind eher Überlegungen hinsichtlich der Regeln bzw. Spielphilosophie - für die Implementierung haben die weniger Relevanz, wenn man so vorgeht, dass man Zeitintervalle im System hinterlegen kann, in denen etwas bestimmtes fertiggestellt/abgeschlossen wird. Den Umfang dieses Zeitintervalls im Einzelfall für bestimmte Aktionen auf der kleinsten Basiseinheit „Sekunde“ zu setzen, ist möglich und denkbar. Aber es muss nicht pauschal für alle Aktionen so sein. Zitat:
Bei multi player muss der Zeitmaßstab aber für alle der gleiche sein, sonst haut das nicht hin. Zitat:
Eine „Basiseinheit“ sollte es geben. Aber die stellt eben auch nur die Basis dar, und muss deshalb nicht für alles die kleinste Unterteilung darstellen.
__________________ RGB is totally confusing - I mean, at least #C0FFEE should be brown, right? | |||||||
| | |
| | ||
| Moderator¹ Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Du meinst den, in dem du dich darüber beklagst, dass die meisten „ich will ein Browsergame programmieren“-Threads in Foren wenig gehaltvolles bieten, weil den Fragern noch die Grundlagenkenntnisse und darüber hinausgehenden Erfahrungen fehlen, um selber entsprechende Konzepte entwickeln zu können ...? Nein, den habe ich nicht übersehen. Nur wo da jetzt der Unterschied zwischen dem, was du kritisierst, und dem, was du selber hier zeigst, liegen soll - das müsstest du mir bitte noch mal erklären. Zitat:
Von so unspezifischen Fragen erwarte ich generell kaum, dass sie jemanden weiter bringen Zu deiner ursprünglichen Frage, nach Events und deren Abhängigkeiten, kamen doch schon mehrere direkt darauf bezogene Beiträge. Was für ein Fazit du bisher aus diesen ziehen kannst, und welche Fragen ggf. noch offen sind - das musst doch in erster Linie du selber wissen.
__________________ RGB is totally confusing - I mean, at least #C0FFEE should be brown, right? | |
| | |
| | ||||
| Erfahrener Benutzer Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() | Zitat:
Zitat:
Das Spiel als solches muss also einer zeitlichen Synchronisierung folgen (das Leben geht weiter), Ereignisse können ausserplanmässig eintreten, müssen aber in den Zeitrahmen eingefügt werden. Beteiligte des Ereignisses müssen darüber informiert werden (Client-Update), so das jeder sich auf die neue Situation einstellen kann. Aktionen können nur anhand der aktuellen Situation ausgeführt werden, die Übrprüfung der Gültigkeit bleibt aber dem Server überlassen. Er ist "Gott" sozusagen und muss jedem sagen, was Sache ist @ChrisB: Zitat:
__________________ Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot. | |||
| | |
| | |
| Erfahrener Benutzer | Die Diskussion ob Echtzeit oder nicht ist irrelevant. Wichtig ist nur der Zeitpunkt eines Events. Wenn du nicht die Möglichkeit hast ein Programm im Hintergrund laufen zu lassen, dass die Events zum punktgenauen Zeitpunkt auszuführen, wirst du die Events bei jedem User-Seitenaufruf (+ eventuelle Cronjobs) berechnen müssen. In der ersten Version meines Browsergame hat es eine Tabelle "events" gegeben. In der wurden alle Möglichen "Events" eingefügt. Code: table events: event_id event_type type_event_id time done Neben der `events`-Tabelle gab es noch `troop_movement_events`, `building_events`, `merchant_events` usw. Jede dieser Tabellen entsprach einem event_type aus der Haupt-Event-Tabelle und der type_event_id war hier mit der Event-Tabelle verbunden. Es wurde nicht analysiert, welche Daten in Verbindung mit welchen anderen Daten standen, es wurden für alle aktuell berechneten Events die nötigen Daten jedes Mal berechnet. Das klingt zwar serverlastig, ist es aber bei < 830 Events pro Minuten überhaupt nicht. Worauf auf jeden Fall aufgepasst werden muss sind Transaktionen. Wenn ein Problem auftritt, sofort Exception throwen und Fehlerbehandlung machen + rollback. Ist in 6 Monaten Laufzeit bei 230 aktiven Benutzern nur dreimal (einmal war's meine Schuld) aufgetreten, aber es rettet Leben, bzw. in dem Fall Truppen |
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [Erledigt] jquery fullcalendar events nach oben verschieben | Thorus | JavaScript, Ajax und mehr | 2 | 24.01.2011 11:38 |
| Scriptsuche Anmeldetool für Events | JK_89 | Scriptbörse | 1 | 23.12.2010 13:03 |
| MySQL Events automatisch starten | Todeshügel | Datenbanken | 2 | 10.11.2010 17:40 |
| Select Feld: Reihenfolge ändern und auswerten | monk | JavaScript, Ajax und mehr | 3 | 17.02.2010 20:05 |
| Reihenfolge der Tabellen-Spalten durch User wählbar? | RoDa | PHP Tipps 2006 | 4 | 18.06.2006 16:40 |
| Falsche Reihenfolge | Chrescht | PHP Tipps 2006 | 7 | 26.01.2006 18:15 |
| [Erledigt] Daten aus MySQL in einer zufälligen Reihenfolge ausgeben | PHP-Fortgeschrittene | 2 | 31.07.2005 12:42 | |
| [Brainstorming] Userdefinierte Reihenfolge | PHP Tipps 2005-2 | 14 | 06.07.2005 18:31 | |
| sortierverfahren mit selbst festgelegter reihenfolge | PHP Tipps 2004-2 | 2 | 18.12.2004 03:04 | |
| templates werden in der falschen reihenfolge angezeigt | PHP-Fortgeschrittene | 5 | 29.10.2004 04:16 | |
| template blöcke werden in falscher Reihenfolge angezeigt | PHP Tipps 2004 | 4 | 28.10.2004 16:42 | |
| template blöcke werden in falscher reihenfolge angezeigt! | PHP Tipps 2004 | 0 | 26.10.2004 17:39 | |
| [Erledigt] Bestimmte Zahlen in zufälliger Reihenfolge ausgeben | PHP Tipps 2004 | 12 | 15.09.2004 20:04 | |
| [Erledigt] Reihenfolge des Resultset bei Verwendung von ..WHERE a IN () | Datenbanken | 3 | 29.07.2004 16:02 | |
| post reihenfolge im apboard ew2 (v2.02) | PHP Tipps 2004 | 2 | 01.07.2004 09:05 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| wieviel zeit vergeht von der ausschreibung bis zur ersten einstellung, jquery reihenfolge von events beeinflussen? |