[Pre-Alpha] The Ability to Reproduce + Source Code

    • Beta

    Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von larserik98.

      [Pre-Alpha] The Ability to Reproduce + Source Code



      "The Ability to Reproduce" ist ein von mir entwickeltes (MMORPG) Spiel.
      Ich gebe die Weiterentwicklung auf, da ich die Spielidee nicht an Visual Basic (btw ich liebe VB ;D) oder an GDI+ verschwenden möchte.
      Ich fang' die Entwicklung neu an. Entweder mit C++ und DirectX oder mit Java und OpenGL.
      Ihr dürft das Spiel gerne dekompilieren und den Quellcode benutzen. Lieber allerdings wäre mir, wenn ihr es zusammen weiterentwickeln würdet.

      Zum Spiel
      Viel werde ich nicht dazu sagen. Ich möchte es vorerst geheim halten ;)
      Es sollte eigentlich ein MMORPG werden, indem man einen Hacker spielt. Doch anstatt sich mit nervigem Code rumschlagen zu müssen, versetzt man sich in diesem Spiel in die Rolle des Viruses. Man kann gegen andere Viren, die sich in der Welt von TAR aufhalten, mit seinen eigen-gebauten Waffen (oder Codesegmente) kämpfen und sich Actionreiche Gefechte liefern.
      Allerdings ist das alles nur Zukunft. Im Moment habe ich nur das Grundgerüst entwickelt, bin bei der Socketprogrammierung hängen geblieben und habe aufgehört (übrigens danke für EasyTCPLib ;) ).

      Zur Technik
      Als ich angefangen habe es zu entwickeln, habe ich eine Grundregel festgelegt: Niemals den Designer benutzen. Und daran habe ich mich auch gehalten. Alles was man ich Spiel sieht ist im Code entstanden. Alles ist GDI+. Das betone ich extra, weil ich hier viele Spiele gesehen habe, bei denen man eindeutig erkennt, dass das eine Windows Form ist. Und ich persönlich mag es nicht, wenn man das erkennt ;D
      Ich war oder bin mir nicht sicher, ob die Techniken die ich in diesem Spiel zum rendern benutze, die besten sind. Das heißt, ganz ganz viele "For"-Schleifen in einer Frame. Deswegen denke ich benötigt das Spiel einiges an leistung von der CPU. So kommen wie gleich mal zu den Systemanforderungen.

      Systemanforderungen
      Da GDI+ nur mit der CPU zeichnet und meines Wissens nach, wenn man mehrere Kerne besitzt, nur einen davon verwendet, braucht ein Kern die entsprechende leistung. Ich besitze einen Quad-Core Prozessor bei dem jeder Kern 2,3 Ghz besitzt. Das Spiel läuft bei mir eigentlich recht flüssig, aber auch knapp an der Grenze. Deswegen:

      CPU: 2,3 Ghz (Empfohlen)

      .NET Framework: 3,5

      (Und da das Spiel in den Vollbild-Modus wechselt) Mindestauflösung: 1280 x 1024

      Screenshots



      Hier sehen wir das Menü. Nur die Buttons Login und Quit haben eine Funktion. Ein klick auf Login (ohne einen Benutzernamen oder sonstiges) und man kommt ins Spiel:



      Hier sehen wir den Spieler (rot) und drei Gegner (gelb). Der Rest gehört zur Map.
      Wenn ihr möchtet, gebe ich euch das Projekt. Dann könnt ihr besser damit rumspielen ;)

      So, das wars. Es fällt mir ehrlich gesagt nicht leicht, es einfach so zu veröffentlichen. Doch weniger will ich das Spiel auf der Festplatte verstauben lassen. Macht was draus. Wenn was aus dem Quellcode benutzt oder so, wäre es nett, wenn ihr mich in die Credits schmeißt. Sowas wie: "XXX von RenX" :D


      So, nun zum Download:

      Source Code:



      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „RenX“ ()

      Ich habs mir nicht geladen aber auf dem Ersten Blick sehen die Screens ein wenig Nackt aus

      Ja, ich habe auch keine Grafiken oder sonst etwas reingemacht. Es ist in einem sehr, sehr frühem Stadium.
      Ich habe das hier eigentlich nicht hochgeladen, damit man das Spiel bewundern kann. Eher die Technik die dahinter steckt und das man es weiterentwickelt ;)
      Ich will auf keinen Fall das ihr denkt, ich habe das Spiel hochgeladen und warte nun auf: "Wow, das bestausehenste und funktionsreichste Spiel aller zeiten" ;D Ich hab es hochgeladen, in der hoffnung das es einer von euch weiter macht oder einfach nur das Spiel in seine einzelteile zerlegt ;D

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „RenX“ ()

      Falls du denne mal bei Directx Opengl o.ä. angekommen bist und den vorherigen Quellcode ansehen willst, musst du nach einem Bug suchen der irgendwas mit arithmetik zu tun hat ^^

      Edit: Entweder liegt es an meinem PC oder deine Anwendung benutzt das Icon vom VM Ware Player



      mfg Twerpyfie

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Twerpyfie“ ()

      Hmm, so wie das für mich bisher aussieht, sollte das ganze machbar sein, dass es auf einem 1 GHz Prozessor flüssig läuft^^

      Ich fang' die Entwicklung neu an. Entweder mit C++ und DirectX oder mit Java und OpenGL.

      Mit welche Begründung C++ oder gar noch Java, ich kann mir kaum vorstellen, dass du Geschwindigkeitsvorteile von C++ gegenüber VB .Net rausbekommst...oder Java und .Net...
      Ich wollte auch mal ne total überflüssige Signatur:
      ---Leer---
      hi, ich habs mal getestet und versteh das Spielprinzip nicht.
      Ich kann nur mit "W" Die gesamte Karte bis auf das Rote Dreieck bewegen.
      Das Dreieck kann ich mit der Maus drehen und in die jeweilige richtung bewegt sich die Map mit W dann.
      Bei der Kllisin mit den "Gegnern" passiert jedch nichts.
      Ich fang' die Entwicklung neu an. Entweder mit C++ und DirectX oder mit Java und OpenGL.

      Du könntest auch bei VB und .Net bleiben und mit XNA arbeiten.


      Lg
      Bekomme nach dem Intro-Filmchen(hamma gemacht :thumbup: ) einen fehler:
      Spoiler anzeigen
      System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
      bei Infinity.World.CheckCollision()
      bei Infinity.World.CheckMovementKeys(KeyEventArgs e)
      bei Infinity.Game.CheckMovementKeys(KeyEventArgs e)
      bei The_Ability_to_Reproduce.main.main_KeyDown(Object sender, KeyEventArgs e)
      bei System.Windows.Forms.Control.OnKeyDown(KeyEventArgs e)
      bei System.Windows.Forms.Control.ProcessKeyEventArgs(Message& m)
      bei System.Windows.Forms.Control.ProcessKeyMessage(Message& m)
      bei System.Windows.Forms.Control.WmKeyChar(Message& m)
      bei System.Windows.Forms.Control.WndProc(Message& m)
      bei System.Windows.Forms.ScrollableControl.WndProc(Message& m)
      bei System.Windows.Forms.ContainerControl.WndProc(Message& m)
      bei System.Windows.Forms.Form.WndProc(Message& m)
      bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
      bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
      bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


      ************** Geladene Assemblys **************
      mscorlib
      Assembly-Version: 2.0.0.0.
      Win32-Version: 2.0.50727.4961 (win7RTMGDR.050727-4900).
      CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll.
      ----------------------------------------
      The Ability to Reproduce
      Assembly-Version: 1.0.0.0.
      Win32-Version: 1.0.0.0.
      CodeBase: file:///C:/Users/Pascal%20Gesell/Downloads/TAR/The%20Ability%20to%20Reproduce.exe.
      ----------------------------------------
      Microsoft.VisualBasic
      Assembly-Version: 8.0.0.0.
      Win32-Version: 8.0.50727.4927 (NetFXspW7.050727-4900).
      CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll.
      ----------------------------------------
      System
      Assembly-Version: 2.0.0.0.
      Win32-Version: 2.0.50727.4957 (win7RTMGDR.050727-4900).
      CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll.
      ----------------------------------------
      System.Windows.Forms
      Assembly-Version: 2.0.0.0.
      Win32-Version: 2.0.50727.4961 (win7RTMGDR.050727-4900).
      CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll.
      ----------------------------------------
      System.Drawing
      Assembly-Version: 2.0.0.0.
      Win32-Version: 2.0.50727.4927 (NetFXspW7.050727-4900).
      CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll.
      ----------------------------------------
      System.Runtime.Remoting
      Assembly-Version: 2.0.0.0.
      Win32-Version: 2.0.50727.4927 (NetFXspW7.050727-4900).
      CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll.
      ----------------------------------------
      Infinity
      Assembly-Version: 1.0.0.0.
      Win32-Version: 1.0.0.0.
      CodeBase: file:///C:/Users/Pascal%20Gesell/Downloads/TAR/Infinity.DLL.
      ----------------------------------------
      EasyTCPLib
      Assembly-Version: 1.0.0.2.
      Win32-Version: 1.0.0.2.
      CodeBase: file:///C:/Users/Pascal%20Gesell/Downloads/TAR/EasyTCPLib.DLL.
      ----------------------------------------
      System.Configuration
      Assembly-Version: 2.0.0.0.
      Win32-Version: 2.0.50727.4927 (NetFXspW7.050727-4900).
      CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll.
      ----------------------------------------
      System.Xml
      Assembly-Version: 2.0.0.0.
      Win32-Version: 2.0.50727.4927 (NetFXspW7.050727-4900).
      CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll.
      ----------------------------------------
      Microsoft.DirectX.AudioVideoPlayback
      Assembly-Version: 1.0.2902.0.
      Win32-Version: 5.04.00.2904.
      CodeBase: file:///C:/Windows/assembly/GAC/Microsoft.DirectX.AudioVideoPlayback/1.0.2902.0__31bf3856ad364e35/Microsoft.DirectX.AudioVideoPlayback.dll.
      ----------------------------------------
      Microsoft.DirectX
      Assembly-Version: 1.0.2902.0.
      Win32-Version: 5.04.00.2904.
      CodeBase: file:///C:/Windows/assembly/GAC/Microsoft.DirectX/1.0.2902.0__31bf3856ad364e35/Microsoft.DirectX.dll.
      ----------------------------------------
      Microsoft.DirectX.DirectDraw
      Assembly-Version: 1.0.2902.0.
      Win32-Version: 5.04.00.2904.
      CodeBase: file:///C:/Windows/assembly/GAC/Microsoft.DirectX.DirectDraw/1.0.2902.0__31bf3856ad364e35/Microsoft.DirectX.DirectDraw.dll.
      ----------------------------------------
      mscorlib.resources
      Assembly-Version: 2.0.0.0.
      Win32-Version: 2.0.50727.4961 (win7RTMGDR.050727-4900).
      CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll.
      ----------------------------------------
      System.Windows.Forms.resources
      Assembly-Version: 2.0.0.0.
      Win32-Version: 2.0.50727.4927 (NetFXspW7.050727-4900).
      CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_de_b77a5c561934e089/System.Windows.Forms.resources.dll.
      ----------------------------------------

      ************** JIT-Debuggen **************
      Um das JIT-Debuggen (Just-In-Time) zu aktivieren, muss in der
      Konfigurationsdatei der Anwendung oder des Computers
      (machine.config) der jitDebugging-Wert im Abschnitt system.windows.forms festgelegt werden.
      Die Anwendung muss mit aktiviertem Debuggen kompiliert werden.

      Zum Beispiel:

      <configuration>
      <system.windows.forms jitDebugging="true" />
      </configuration>

      Wenn das JIT-Debuggen aktiviert ist, werden alle nicht behandelten
      Ausnahmen an den JIT-Debugger gesendet, der auf dem
      Computer registriert ist, und nicht in diesem Dialogfeld behandelt.



      woran liegt das?

      mfg
      Ich will mit C++ und DirectX Arbeiten, weil es erstens für C++ viel mehr Dokumentation mit DirectX gibt. Und ich will nicht mit XNA Arbeiten, weil ich mich dann so "schlecht" fühle. Ich möchte eher alles selbst machen ;)

      @gfcwfzkm
      Versuch das Spiel einfach nochmal zu starten ;)
      Ich bitte dich, bei 2D gibt es für VB .Net und ManagedDirectX mehr als genug, du musst doch nur wissen, wie man etwas zeichnet, der Rest ist überall gleich...
      Außerdem sollte es doch noch mehr eine Herausforderung sein, dies ohne diese Hülle und Fülle an Dokumentationen zu schaffen...
      Ich wollte auch mal ne total überflüssige Signatur:
      ---Leer---
      gpwiki.org/index.php/DirectX:T…ls:VBNET:DX9:Introduction
      Was ist denn mittendrinne? Was brauchst du denn mehr als zeichnen von 2D Objekten?
      Die restliche Logik die dahinter steckt ist in GDI+, OpenGL, XNA, MDX und WPF komplett gleich

      gpwiki.org/index.php/DirectX:D…board_Handling_Immediatea
      Dann noch hier für die Tastatur z.B.

      Und kannst auch mal bei riemers.net vorbeigucken...
      Ich wollte auch mal ne total überflüssige Signatur:
      ---Leer---