Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

03.05.2012, 16:28

Web-Entwicklung mit C#

Hallo zusammen,

Ich hab momentan einen Knoten im Gehirn und bin darum für etwas Hilfe/Aufklärung dankbar. Kurz zum Hintergrund:

Wir sind ein Team von 5 Leuten und wollen ein Browser-Game entwickeln. Das Ganze hat den Hauptzweck des Lernens, sprich sich in neue Probleme und deren Lösungen einzuarbeiten. Das ganze ist eine Art Wirtschaftssimulation und wird bis auf Illustrationen keine Grafik benötigen (wobei wir die Grafiken am Anfang sowieso komplett ignorieren und allenfalls Platzhalter verwenden). Angedacht ist ein Server-Teil, der die ganze Logik enthält und ein Client-Teil, der selber eigentlich nur als etwas inteligentere Eingabemaske fungieren soll. Diese Struktur wollen wir so wählen, um ein debugging, aber auch ein hacking zu erschweren. Ein Beispiel, wie ich mir das gedacht habe:

Der Benutzer hat einen Wert für Stärke (z.B. 10) und möchte den Trainieren. Er geht dazu in ein Trainingsstudio und sieht, dass er dort den Wert für Stärke auf 11 erhöhen kann. Das kostet ihn 10 Geld und dauert 2 Std. -> Klickt der Spieler nun auf einen Button, dann soll der Server-Teil das Geld von seinem Vermögen abziehen und das Training starten. Es soll aber für den Client nicht möglich sein, z.B. ein Training direkt auf 50 zu starten (z.B. durch Hacken des Codes). Eine Plausi im Serverteil würde feststellen, dass er vom aktuellen Wert in der DB (10) nur auf 11 steigen kann. Ich hoffe, das macht in etwa Sinn :)

Nun weiss ich nicht genau, wie ich den Server-Teil programmieren soll. Ein Programm zu schreiben, dass die DB verändert etc. ist nicht das Problem. Und wir würden das Ganze gerne in C# machen. Aber das Programm müsste ja parallel von 1-n Leuten "bedient" werden können. Geht das überhaupt so? Oder könnte ich damit nur einen C# Programm erstellen, dass via Internet die DB ändert? Dann hätte ich wieder Code beim User, was ich nicht will. Alternativ könnte ich das Ganze in PHP programmieren, aber ist das auch sicher genug?

Was ich noch anmerken sollte.. wir haben angedacht, später einen Smart-Phone Client dafür zu entwickeln. Auch deshalb wäre es ideal, wenn die ganze Logik und Steuerung auf dem Server läuft.

Kurz gesagt: ich weiss nicht, welche Technologie ich wo einsetzen soll (kann/muss), um ein Multiplayer Web-Game zu entwickeln, dass wirklich sicher vor Hacking ist.

Hat irgendjemand einen Tip? ;)

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

2

03.05.2012, 16:55

Du solltest dich mal in Webservices einlesen. Das geht unter C# recht einfach. Dann kannst du die ganze Logik auf dem Server lassen, und die Webservices sind die Schnittstelle zum Client. Ob du jetzt einen WP7-Client oder was auch immer schreibst ist da relativ egal. Bei der arbeit haben wir zum Beispiel im letzten Projekt einen C# Server implementiert und die Clients waren für Android und für den Browser geschrieben. In welcher Sprache du den Client dann selbst umsetzt ist erst mal dir überlassen. Ob es nun ein extra Programm oder direkt im Browser ist spielt da ja auch erst mal keine Rolle.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

3

04.05.2012, 13:48

Vielen Dank, dann mache ich mich da mal schlau.

4

05.05.2012, 17:11

Kleiner Tipp: In C# wird die Implementierung von Webservices de iure/facto mit dem WCF umgesetzt: http://msdn.microsoft.com/de-de/library/bb907578.aspx. Deshalb solltest du dir das unbedingt anschauen ;)

Werbeanzeige