Side-scrolling game
lima-city → Forum → Programmiersprachen → Basic
aussehen
basteln
code
doofen kommentare
double
fertigstellen
frage
geeignete sprache
grafik
grundlage
kontrollfunktion
lernen
performance
sache
server
sicherheit
teil
verbringen
verschiedene wege
versuchen
-
Hallo,
ich arbeite schon lange mit VB und möchte mich jetzt mal an ein Game versuchen. Viele meinen VB ist nicht die geeignete Sprache für Spiele, aber ich möchte es trotzdem gerne versuchen. Ich möchte ein kleines MMORPG Game basteln, was zumindest die Grundlagen eines MMORPG enthält. Ich kenne das vbGore Engine, das auch in VB.NET geschrieben ist, möglich ist es. Ich werde mir für das Projekt viel Zeit nehmen und es vielleicht in einigen Jahren fertigstellen.
Ich habe mich schon etwas erkundigt und herausgefunden dass ich mit Sicherheit eine Network und Grafik Library verwenden muss. Allerdings habe ich dazu 2 Fragen.
Zur Grafik Library: Wie teile ich dem Programm mit eine Grafik darzustellen? Ich könnte es natürlich mit PictureBoxen machen, aber bei so vielen Grafiken die ein Game benötigt wäre dies wahrscheinlich nicht sinnvoll.
Zur Network Library: Wenn ich, z. B. mit WinSock, eine Verbindung von Client zu Server aufbaue, wie teile ich dem Server am besten mit dass ich meinen Character bewegt habe?
Bitte keine doofen Kommentare, ich weiß dass ich noch vieles Lernen muss. Diese 2 Sachen interessieren mich jetzt erstmal am meisten. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Der Nächste.
Um deine Fragen zu beantworten: Ye nachdem, ob du DIrectX, OpenGL oder sonstwas verwendest, gibt es da verschiedene Wege Grafiken darzustellen. Beim Movement gibt es allerdings nur wenige wirklich sinnvolle Codes. Einer davon könnte so aussehen:
Client:
sub MovePos(NewPos() as Double) call SetPlayerChar(NewPos()) wskServer.sendData NewPos() end function Handler Event (MouseMove, KeyPress etc.) call MovePos(NewPosition)
mit ner Kontrollfunktion:
Handler Event (Get Server Data) call MovePos(ServerPosition)
Server:
Handler Event(Get Client Data) if DataType(Data) = L_TYPE_MOVEMENT then call MovePlayerChar(ClientID, ThisPosition()) sub MovePlayerChar(ClientID as Double, NewPos() as Double) if Collision(ClientID, NewPos()) = C_COLLISION_NONE then call MoveChar(ClientID, NewPos()) wskClient.SendData GameData(NewPos(), L_TYPE_MOVEMENT) end if end sub
Ist nur pseudocode, aber so oder ähnlich könnte das aussehen.
Trotzdem rate ich dir, die ersten yahre deiner Programmierung damit zu verbringen, Programmieren zu lernen. Und dann am besten direkt C oder C++. Denn abgesehen davon, dass das elementarste Sachen sind, fehlt dir bei VB einfach ein ganzes Stück Performance.
Liebe Grüße
- VampireSilence
Beitrag zuletzt geändert: 2.4.2009 6:06:20 von vampiresilence -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage