Laden...

Ein Browsergame mit .net?

Erstellt von KirKone vor 17 Jahren Letzter Beitrag vor 17 Jahren 14.848 Views
KirKone Themenstarter:in
45 Beiträge seit 2004
vor 17 Jahren
Ein Browsergame mit .net?

Hallo,

Durch etwa 8,5 Minuten Langeweile bin ich auf die verschiedensten Browsergames gestoßen. Dabei ist mir aufgefallen, dass diese eigentlich alle nichts mit .net zu tun haben.
Eifriger Codebastler wie ich nun mal einer bin stellte sich mir dauernd die Frage:
Wie würde ich das mit aspx, atlas und all den tollen sachen machen.

Jetzt zu dem Grund warum das in diesem Bereich des Forums steht:

Nach einigen Überlegungen zu dem Thema bin ich zu dem Schluss gekommen: das wird nix aleine.
Hier im Forum gibt es mindestens 23 Leute die von den Dingen die man für so ein Projekt braucht Ahnung haben.

Also:

Wer Lust hat sowas mal in Angriff zu nehmen ist hiermit aufgefordert dies zu tun!

Damit die Diskusionen über das WAS nicht länger dauern als die über das WIE hier meine kleine Vorstellung der Idee:

Technik:

  1. Das Ding sollte im Browser laufen
  2. aspx mit c# währe meine Wahl
  3. wenn sich jemand findet der atlas in das Projekt einbringen kann, dann auch das
  4. sql Datenbank
  5. es sollte Wert darauf gelegt werden, das der Client nur feinstes xhtml1.1 erhält

Spiel:

  1. der Weltraum, unendliche Weiten...
  2. eigentlich sowas wie z.B. OGame

So, ich hoffe es findet sich der, oder die andere die hier erstmal Ideen und Grundlagen sammeln können um dann das ultimatieve mmossbg (massivly multiplayer online space simulation browsergame) zu erstellen.

Bis dahin

KirK

}{4/3 |=|.[||

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo KirKone,

es sollte Wert darauf gelegt werden, das der Client nur feinstes xhtml1.1 erhält

also ich kenn nun ASP.NET nicht so gut. Aber wenn ich es richtig verstehe, hat man da relativ wenig mit dem HTML-Code zu tun. Man muss als nehmen, was ASP.NET an Code erzeugt.

um dann das ultimatieve mmossbg zu erstellen

also ich denke, ein einfaches mmossbg kann man an einem Wochenende erstellen (wenn man schon ein bisschen ASP.NET kann). Für das ultimative mmossbg wird man wohl eine Aufand im zweistelligen Personenjahrsbereich veranschlagen müssen.

Für potentielle Interessenten wäre noch wohl noch wichtig zu wissen, mir welchem Ziel das Projekt angegangen werden soll. Steht eher der Lerneffekt oder das fertige Spiel im Vordergrund? Um welche weiteren Aspekte geht es?

Siehe auch ASP .net Webgame

herbivore

KirKone Themenstarter:in
45 Beiträge seit 2004
vor 17 Jahren

hi,

man kann aspx seiten schon auch so bauen dass der zurückgegebene code xhtml1.1 ist nur halt nicht mit den vorgegebenen controls.

Das mit dem Wochenende halte ich bei den schon erwähnten Zielen für etwas knapp bemessen. ich sage immer: Fertig ist wenn man zu faul ist weiter zu machen.

Der andere von dir angesprochene Punkt ist das gesammte Ziel. Dazu sage ich: der Weg ist das Ziel! Mir geht es hauptsächlich um den Lerneffekt bei der Sache.

Meine Idee war:
Die Herrausforderung ist hoch genug, es wird von allen bekannten Techniken etwas benötigt, es gibt einfache und komplexe Teile und jeder könnte ewas dazu beitragen.

ich bin gespannt auf weitere posts

KirK

}{4/3 |=|.[||

369 Beiträge seit 2006
vor 17 Jahren

In Asp.Net 2 sollten sich die Controls eigentlich weitestgehend nach XHTML richten - das Layout wird allerdings größtenteils mit Tabellen gestaltet. Ändern kann man das u.a. mit den CSS Control Adapters: http://www.asp.net/cssadapters/

564 Beiträge seit 2005
vor 17 Jahren

Ob XHtml 1.1 bzw. 1.0 Strict die richtige Wahl ist 🤔

Transitional ist sicher einfacher zu realisieren, und übel nimmt dir das bestimmt auch keiner 🙂.

Hast du schon genaue vorstellungen was du machen willst? Ich war schonmal bei einem Browsergame in PHP beteiligt, was sich dann aber im Sand verlaufen hat.

KirKone Themenstarter:in
45 Beiträge seit 2004
vor 17 Jahren

hi,

ich glaube die html Version ist nicht das entscheidende Feature.

Vom Spielprinziep dachte ich an soetwas wie z.b. ogame (www.ogame.de).

Wenn du schon mal sowas gemacht hast kannst du ja vielleicht noch ein paar Vorschläge posten.

bis denn

KirK

}{4/3 |=|.[||

564 Beiträge seit 2005
vor 17 Jahren

Ist schon länger her und ich weiss auch nicht mehr worums ging. Naja meine "Partner" hatten es auch eher als Einstiegspunkt in die objektorientierte Programmierung gesehen. Nichts richtig ernstes.

Willst du auf ASP.NET 2.0 oder 1 setzen?

KirKone Themenstarter:in
45 Beiträge seit 2004
vor 17 Jahren

aspx 2.0

}{4/3 |=|.[||

1.130 Beiträge seit 2005
vor 17 Jahren

Wenn sich tatsächlich ein paar Leute finden, die es ernst mit diesem Spiel meinen und tatsächlich der Lerneffekt im Vorderung steht, würde ich auch mitmachen.

KirKone Themenstarter:in
45 Beiträge seit 2004
vor 17 Jahren

hallo,

das würde mich freuen.

Bin gerade dabei ein psr grundlegende Dinge zu testen.
Irgendwo muss man ja anfangen.

bis dahin

KirK

}{4/3 |=|.[||

M
97 Beiträge seit 2004
vor 17 Jahren

Hört sich interessant an, wobei etwas kreativeres als OGame sollte es schon sein finde ich 🙂

564 Beiträge seit 2005
vor 17 Jahren

Hast du schon ein genaueres Konzept?

Also was kann der User wann, wie wo machen, welche Einheiten gibt es etc.

Willst du Javascript stark einsetzen? Wenn ja: Auf asp.net gibt es schöne Videos zu Atlas.

Und hast du dir schon Gedanken über Architektur gemacht? Hier gibt es eine 5-Teilige Webcastserie zum Thema "Pragmatische Web-Architektur".

L
1 Beiträge seit 2006
vor 17 Jahren

Ich plane grad auch etwas. Es soll ein RPG werden. Zur Zeit stecke ich und ein Freund aber noch voll in der Planungsphase so das ich noch nicht wirklich was dazu sagen kann.

KirKone Themenstarter:in
45 Beiträge seit 2004
vor 17 Jahren

hallo,

leider habe ich noch keinen Plan wie das ganze genau aussehen sollte.

Ich habe mir ein paar dieser Games angeschaut und mir ist aufgefallen dass man so etwas mit heutiger Technik besser machen können sollte.

was meiner Meinung als erstes gemacht werden sollte ist eine solide Grundlage schaffen und dazu alles zu verwenden was sinn macht. So zu sagen ein Browsergameframework.

Wie schon gesagt würde ich als Haupttechnologien würde ich .net 2.0, aspx, SQL 2005 und Ajax (wenn es nichts besseres gibt dann Atlas) verwenden. Alles was dazu benötigt wird gibt es umsonst von Microsoft.

Über die genauen Spielinhalte sollte man später nachdenken. Wichtig sind die grundlegenden Spielmechaniken. Zum Beispiel: was wird auf dem Server gemacht. was macht der Client, macht der Client überhaupt etwas? Was kann man die DB machen lassen und was sollte vom Serverprogramm gemacht werden.

Um gleich mal das erste Thema zur Diskussion zu stellen hier eine Frage:

Man geht davon aus, dass man gewisse Dinge, unabhängig davon ob der User angemelset ist oder nicht, berechnen muss. Z.B. die Anzahl der Rohstoffe. Diese werden anhand eines Produktionsfaktor pro Zeiteinheit berechnet.

jetzt stellt sich die Frage:
Berechnet man dies in einem vorgegebenen Rythmus immer für alle User durch und speichert dies in der DB. Dies hat eine erhebliche belastung des Servers zur Folge.

oder:

Man merkt sich den letzten Zeitpunkt der Berechnung und immer wenn nötig werden die Berechnungen für den Differenzzeitraum durchgeführt. Dadurch müssen nur die Daten von den zur Zeit angemeldeten Usern berechnet werden.
Vielleicht kann man diese Berechnung auch direkt als gespeicherte Prozedur in die DB einbauen.

Welche Zeiteinheit haltet Ihr für sinnvoll? millisec, sec oder min.

Ich binn gespannt auf die Beiträge

KirK

}{4/3 |=|.[||

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo KirKone,

Man geht davon aus, dass man gewisse Dinge, unabhängig davon ob der User angemelset ist oder nicht,

die Daten müssen nur berechnet werden, wenn sie jemand braucht. Deine Annahme, dass sie ständig aktualisiert werden müssen, ist daher falsch.

herbivore

KirKone Themenstarter:in
45 Beiträge seit 2004
vor 17 Jahren

gut,

So habe ich mir das auch gedacht.
Also die 2. Variante.

Jetzt die 2. Teilfrage:
Macht man das Programmseitig oder ist das auch mit einer abfrage Sinnvoll zu lösen.

cu

KirK

}{4/3 |=|.[||

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo KirKone,

du schreibst in Variante zwei:

Dadurch müssen nur die Daten von den zur Zeit angemeldeten Usern berechnet werden.

das ist aber auch nicht richtig. 🙂 Es müssen immer nur die Daten der User berechnet werden, deren Daten benötigt werden, ob sie nun angemeldet sind oder nicht.

Ich denke, dass kann man in einer Abfrage lösen

herbivore

KirKone Themenstarter:in
45 Beiträge seit 2004
vor 17 Jahren

damit hast du recht.

Da werde ich mich mal hinsetzen und versuchen eine vernünftige Abfrage zu gestalten.

ich melde mich wieder wenn es Fortschritte gibt.

KirK

}{4/3 |=|.[||

P
70 Beiträge seit 2006
vor 17 Jahren

Ich hab auch mal ein ASP-Net game gemacht ... leider nie ganz fertig. Macht aber Spass

Nur schade das das Hosting nicht billig ist )o:

Grüße

plucked

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo plucked,

naja, 7 Euro im Monat sind mehr als nichts, aber andererseits auch nicht gerade teuer: ASP.NET Webspace mit Rabatt für myCSharp.de Benutzer

herbivore

KirKone Themenstarter:in
45 Beiträge seit 2004
vor 17 Jahren

hi,

ein Webserver steht mit zur Verfügung.

cu

KirK

}{4/3 |=|.[||

G
38 Beiträge seit 2006
vor 17 Jahren

Hallo KirKone,

ich finde das Thema sehr interesant, beschäftige mich auch gerade mit diesem Gedanken. Bei der Wahl der Technologien sind wir uns ja schon mal einig 😉

Zu den Ressourcen: Am User-Record merkt man sich den Zeitpunkt der letzten Ausschüttung für diesen User. Die Gebäude haben jeweils einen Eintrag Res./sec. Wenn es nun notwendig ist, d.h. der Benutzer ruft eine Seite ab, die die aktuell vorhandenen Res. anzeigt, berechnet man die Anzahl der seit der letzten Ausschüttung vergangen sec. und multipliziert diese mit Res./sec.

Das sollte wunderbar funktionieren und wird wirklich nur dann gemacht wenn es notwendig ist.

Mein Problem: Um 13 Uhr fand für Benutzer X die letzte Ausschüttung statt. Um 14 Uhr meldet er sich wieder an und will seine Res. sehen. Dummerweise wurde um 13:30 das Upgrade der Mine von Level 4 auf 5 fertig. Unsere Formel liefert also zu wenig Res. Darüber grübele ich gerade nach.

Edit: Zu deinen ursprünglichen Fragen: Ich würde soviel wie möglich in der DB über Stored Procedures machen, den Rest auf dem Server. Der Client sollte möglichst dumm sein, vielleicht ein paar JavaScripts zur Anzeige der verbleibenden Bauzeit o.ä.
Grüße
Gimley

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo Gimley,

berechnet man die Anzahl der seit der letzten Ausschüttung vergangen sec. und multipliziert diese mit Res./sec.

deine Ausschüttungsfunktion ist eben keine Gerade, sondern auch noch von den Fertigstellungszeitpunkten der Upgrades abhängig. Diese müssen in die Berechnung mit einfließen.

herbivore

G
38 Beiträge seit 2006
vor 17 Jahren

Original von herbivore
deine Ausschüttungsfunktion ist eben keine Gerade, sondern auch noch von den Fertigstellungszeitpunkten der Upgrades abhängig. Diese müssen in die Berechnung mit einfließen.

Hallo herbivore,

danke für die Antwort! Würde heissen, ich merke mir pro Fertigstellung pro Spieler die genaue Zeit!? Würde funktionieren, muss ich mal ausprobieren.

S
55 Beiträge seit 2006
vor 17 Jahren

Huhu =)

Ich habe auch mal ein BrowserGame programmiert, das leider auch nicht ganz fertig wurde. Dies waren Teilbereiche und das Notwendigste, wie z.B. Bauscript, Ressourcenberechnung, LoginSystem, Rassenwahl (je nach Rasse natürlich auch andere Boni) etc. Das ganze hat auch soweit funktioniert, war jedoch mein erstes größeres Projekt und somit auch sehr viel abgeguckt und wenn ich mir jetzt den Code angucke, dann hätte ich so einiges anders gemacht 😁 . Naja, es hat genau einen Grund, wieso das Browsergame nicht fertig wurde - ich habe nämlich umüberlegt und beschlossen, daraus ein echtes Spiel zu machen. Tja und jetzt bin ich die ganze Zeit dabei, meine Fähigkeiten auszuüben und habe sogar schon das ein oder das andere vorerst fertig (Bauscript, Schiffsbau) wobei das ganze erst Proto ist und das ganze sicherlich noch umstrukturiert wird. Das Spiel schreibe ich natürlich in C#.

|Was man bekommt, wenn man nicht bekommt, was man will, ist Erfahrung|

44 Beiträge seit 2003
vor 17 Jahren

Hi

ich hab mit einem Bekannten auch ein Browsergame http://www.p-o-t.net erstellt.

ASP.NET (jetzt ASP.NET 2) + MYSQL und im Hintergrund läuft ein Dienst der die Berechnungen macht (das ganz Spiel ist mit Ticks aufgebaut).

Derzeit sind um die 200 Spieler, es waren schon mal 500 aber dann sind wir aus Zeit Gründen offline gegangen. Jetzt mach ich alleine weiter.

Wir haben uns dafür einen eigenen Server um dir 60 € pro Monat gemietet mit PremiumAccounts und Werbung bekommen wir einen Teil der Kosten wieder zurück (alles geht sich leider noch nicht aus 😉 ).

Um aber ein etwas komplexeres Spiel zu erstellen sitz man sehr lange das sollte man nicht unterschätzen. Es ist ja nicht nur dir Programmierung und das Design. Wichtig ist auch das ganze Spiel Konzept und das nimmt schon sehr viel Arbeit in Anspruch

lG Bacardi Adi
http://www.p-o-t.net/

T
19 Beiträge seit 2005
vor 17 Jahren

hallo zusammen

ich hätte sicher Interesse und würde gerne mitcoden. Gibt es schon eine Community und ist schon ein Team erstellt worden?

N
67 Beiträge seit 2006
vor 17 Jahren

gelöscht

A
61 Beiträge seit 2005
vor 17 Jahren

Schade dass kein Interess besteht heul

KirKone Themenstarter:in
45 Beiträge seit 2004
vor 17 Jahren

Hallo,

Entschuldigt meine lange Abwesenheit.

Aber jetz bin ich wieder da ;-p

Mittlerweile gibt es einen 2. Thread der um das selbe geht.
Sollte ich Interesse an einem Gemeinsamen Projekt bestehen werde ich mich schnellstmöglich um eine Webseite kümmern (Forum und alles was dazugehört).

Ich wünsche Euch erstmal tolle Weihnachten!

bis dahin

KirK

}{4/3 |=|.[||