nanos Just Cause 3 Multiplayer [von den Machern von GTA (V):MP]

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Doneasty schrieb:

      Hallo und willkommen zum 13. Dev Blog!

      In dieser Woche wollen wir ein wenig mehr ins Detail gehen und genau aufzeigen, an welchen Problemen wir in der letzten Woche gearbeitet haben und welche Probleme neu dazukamen, während wir an neuen Dingen gearbeitet haben. Neben dem Fixen von ein paar Problemen bei der Waffen Sync haben wir ein paar wichtige, noch fehlende Elemente (z.B. wingsuit und parachute) zu unserer Sync Implementierung hinzugefügt.

      Bem Fallschirm war es ziemlich einfach den Spieler in einen Zustand zu bekommen, in dem sich das controll movement replizieren lässt. Siehe hier:

      crix-dev.com/parachute.mp4

      Also was ist tatsächlich mit dem Fallschirm? Sagen wir so: es ist komplizierter als es sich anhört.
      Die Probleme die wir haben gehen von seltsamen Positionsverschiebungen, über eine nicht funktionierende Öffnung des Fallschirms bis hin zu einem sich leicht hinter dem Spieler schließenden Fallschirm. Hier könnt ihr euch das Ganze mal ansehen:

      crix-dev.com/notreally.mp4

      crix-dev.com/parachute_is_weird.mp4

      crix-dev.com/meh.mp4

      Einige dieser Probleme stehen vermutlich in Zusammenhang mit unserer Umsetzung zur player creation, was wir in der folgenden Woche zu untersuchen haben. Wir sind sehr zuversichtlich, dass wir die Probleme in den nächsten Tagen ausmerzen können und weitermachen können.
      Warum auch immer ist das korrekte Öffnen und Schließen des wingsuits derzeit nicht besonders schön anzusehen. Siehe hier:

      crix-dev.com/wingsuit_sucks.mp4

      Wir haben ebenso an ein paar Dingen zur internen Infrastruktur gearbeitet.

      Buildserver
      Wir haben eine Menge Zeit investiert um einen richtigen Build Service für unsere Produkte zu schaffen. So wie wir nightlies built für mehrere Linux Distributionen (bspw. Debian, Ubuntu, CentOS) haben wollten, so entschieden wir docker images als build container zu verwenden. Das Programm, das die automatisierten Builds steuert ist in Golang geschrieben. Wir sind zwar noch nicht ganz fertig, aber der Build Prozess an sich ist bereits fertig.

      Wir haben zudem nun ordentliche Build Benachrichtigungen für Slack:



      Automatisches deployment unserer Webseite
      Wir hatten einige Probleme mit der Art und Weise, wie wir unsere Webseite deployen.
      Bisher lagen die Files auf unserem Server und wurden manuell via SFTP connection geupdated.
      Da wir den Zugang zu unserem Server beschränken möchten, haben wir beschlossen die Webseite in Git-Repositories zu packen und den master branch automatisch zu deployen.
      Wir konnten kein passendes Tool finden, welches diesen Job ohne großen Aufwand seltsame Dinge zu installieren erledigt, weshalb wir uns dazu entschieden ein kleines Tool in Go zu schrieben, das diesen Prozess mit POST Webhooks automatisiert.
      Wir haben uns ebenso entschieden dieses kleine Tool Open Source zu gestalten (MIT-Lizenz). Zu finden hier: development.nanos.io/projects/NANOS/repos/hooker/browse

      Ich hoffe der Dev Blog dieser Woche hat euch gefallen und wir sehen euch nächste Woche zum Dev Blog 14 hoffentlich mit ein paar netten, funktionierenden Dingen wieder. Bis nächste Woche!
      "Cash rules everything around me: CREAM, get the Money Dollar, dollar bill y'all"
      Zertifizierter Ex-Satanisten-Nazi-Mod
      Follow me on fucking Twitter and Instagram
      PR-, Marketing- und Communitymanager bei nanos.io
    • Du weißt doch gar nicht, was ich von diesem Projekt wirklich halte. Aber Deine Aussage ist mal wieder ein repräsentativer Kommentar ;) - Hatte mich ehrlich gesagt gewundert, weil ich mich ein bisschen mehr über das Projekt informieren wollte, aber dann ist mir aufgefallen, dass ihr über google nicht zu finden seit.

      Du musst doch nicht immer so schnippisch sein :thumbsup: :thumbsup: :thumbsup:
      Chief Technology Officer (CTO)
      www.rage-multiplayer.de
    • Dass ich auf deine Kommentare so reagiere hast du dir selbst zuzuschreiben. Weitere Ausführungen spare ich mir mal.

      Googlest du uns findest du ein paar Presseartikel. Alles weitere auf nanos.io.
      "Cash rules everything around me: CREAM, get the Money Dollar, dollar bill y'all"
      Zertifizierter Ex-Satanisten-Nazi-Mod
      Follow me on fucking Twitter and Instagram
      PR-, Marketing- und Communitymanager bei nanos.io
    • Doneasty schrieb:

      Dass ich auf deine Kommentare so reagiere hast du dir selbst zuzuschreiben. Weitere Ausführungen spare ich mir mal.

      Googlest du uns findest du ein paar Presseartikel. Alles weitere auf nanos.io.
      Nur mal um das klarzustellen, repräsentierst Du das Projekt, und sowas kommt einfach nicht gut rüber. Gegenüber meiner Argumentation und Meinung auf den Seiten davor, hattet ihr sowieso nur spärliche Antworten. Genauso wie die jetztige. Aber nun gut.
      Chief Technology Officer (CTO)
      www.rage-multiplayer.de
    • Heute findet unser erster Workday statt, an welchem wir uns eine ganzen Tag dem Team und unserem Projekt widmen.

      Der Kaffee ist heiß, wir sind bereit. Erster Punkt der Tagesordnung: interne und externe Kommunikation!

      -> bit.ly/21BxQZf
      "Cash rules everything around me: CREAM, get the Money Dollar, dollar bill y'all"
      Zertifizierter Ex-Satanisten-Nazi-Mod
      Follow me on fucking Twitter and Instagram
      PR-, Marketing- und Communitymanager bei nanos.io

    • Doneasty schrieb:

      Heute findet unser erster Workday statt, an welchem wir uns eine ganzen Tag dem Team und unserem Projekt widmen.

      Der Kaffee ist heiß, wir sind bereit. Erster Punkt der Tagesordnung: interne und externe Kommunikation!

      -> bit.ly/21BxQZf
      Ich muss nicht verstehen, warum ihr einer aus Deutsch verfassten Frage mit Englisch antwortet, oder? :D
      Zum Verständnis internationaler Interessenten ist das ganz nett, aber was wenn der der fragte kein Englisch kann?
      Nur so ne Anmerkung für die Zukunft. ^^
      Weiter machen. :klugs:

      Beitrag von Scenzah ()

      Dieser Beitrag wurde von Trooper[Y] gelöscht ().
    • Doneasty schrieb:

      Hallo und herzlich willkommen zu unserem 14. Devblog!

      Zu allererst müssen wir euch etwas sagen, was nie hätte passieren sollen. Aufgrund eines technischen Fehlers bei XForces Development Setup haben wir die meisten Fortschritte dieser und letzter Woche zur Wingsuit und Parachute Sync verloren. Wir haben eine ganze Weile darüber diskutiert, ob wir diese Nachricht veröffentlichen, aber wie wir immer sagten: die Development Blogs sollen so transparent wie möglich sein. Die Ganze Situation hat natürlich zur Folge, dass wir die meisten unserer Meilensteine um 2 Wochen nach hinten verschieben müssen. Wir haben aus diesem Fehler gelernt und sind uns sicher, dass uns sowas nicht noch einmal passieren wird.

      In dieser Woche hat Jan an unserem Build Server weitergearbeitet, um das compilen und packing unserer Linux Builds für verschiedene Distributionen möglich zu machen. Die Änderungen dieser Woche machen es möglich unsere Builds in verschiedenen Channeln unseres Updaters (nightly, stable, rc...) zu fördern. Des Weiteren hat sich Jan darauf konzentriert, fehlende Funktionen, Eigenschaften und Events zur Scripting API hinzuzufügen (bspw. das Setzen der Fahrzeug-Health, was bereits gesynct, aber noch nicht zur Scripting API hinzugefügt wurde).

      In dieser Woche haben wir auch einiges an zeit in den Übergang von unserem Bitbucket Setup zur open source Software Gitlab investiert.

      Last but not least, wie viele vmtl. schon gestern gelesen haben, hatten wir gestern unseren ersten #nanos_workday. Als einer der Tagesordnungspunkte haben wir darüber diskutiert, was unsere erste Preview-Version enthalten soll. Das sind die geplanten Features:

      Synchronisation

      On-Foot-Synchronisation (Bewegung, Parachute, Wingsuit, Grappling Hook, Waffen)
      Waffen Synchronisation (+Fahrzeug Bewaffnung)
      Passagier Funktionalität

      Scripting API

      Clientside und serverside Scripting
      CEF
      Kontrolle über:
      • Spieler (+Waffen)
      • Fahrzeuge
      • Checkpoints
      • Map markers
      • Objekte
      • Nametags
      • Kamera
      In der ersten Version werden wir keine sticky-bombs, kein Zusammenhängen von Dingen via Grappling Hook und kein world damage (bspw. Wachtürme) synchronisieren.

      Wir sind uns sicher, dass wir mit den aufgelisteten Features die meisten essenziellen Dinge für Spieler und Serverbetreiber liefern können.

      So das wars wieder für diese Woche. Bis zum nächsten mal!;-)
      "Cash rules everything around me: CREAM, get the Money Dollar, dollar bill y'all"
      Zertifizierter Ex-Satanisten-Nazi-Mod
      Follow me on fucking Twitter and Instagram
      PR-, Marketing- und Communitymanager bei nanos.io
    • StiviK schrieb:

      Hallo und willkommen zum 15. Development Blog!

      Diese Woche war Ostern, die meisten aus unserem Team nutzten deren Zeit um ihre Freizeit mit deren Familien und geliebten zu verbringen.
      Dennoch konnten wir diese Woche einiges machen bzw. schaffen, daher der Fortschritt steigt stetig.

      Fallschirm/Wingsuit
      Nach den Technischen-Problemen der letzten Woche (Migration unserer Git Repos) hat XForce seinen ursprünglichen Fallschirm-Code fast neu-geschrieben. Wir sind nun auf dem Stand der Bereits in Woche 13 gezeigt wurde.

      Scripting API
      Jan hat bekommen an der Scripting-API zu-arbeiten, er hat damit bekommen die Server-seitigen Fahrzeug Methoden (functions) und Eigenschaften (properties) zu implementieren.
      Er hat auch mit der Implementierung der Funktionen begonnen um Server-seitige POIs (points of interest) zu erstellen und zu editieren. Diese POIs können auf dem Bildschirm des Clienten angezeigt werden.

      Scripting DOC
      Im Moment arbeiten wir an unseren automatisch generierten Scripting Dokumentationen. Wir polieren gerade die letzten Zeilen unseres Codes und beginnen bald damit diese automatisch in unserer API zu veröffentlichen. In den nächsten Stunden kannst du diese in unserem Repo sehen: gitlab.nanos.io/jc3mp/scripting-docs (Done: community.nanos.io/index.php?/…o=findComment&comment=723)


      Das war es für diese Woche.
      Und vergesst nicht zu liken und Kommentare zu hinterlassen

      Bis nächste Woche!
      Edit:

      Doneasty schrieb:

      Hallo und herzlich willkommen zu unserem 16. Development Blog!

      Parachute Synch
      Wir haben wieder einmal an der Synchronisation für den Fallschrim und den Grappling Hook gearbeitet.
      Leider konnten wir das Ganze noch nicht fertigstellen. Wir haben hier einen kleinen Clip, welcher eines der aktuellen Probleme ganz gut zeigt:

      crix-dev.com/kekse.mp4

      Script API
      Wie man an unserer aktualisierten Scripting Dokumentation sehen kann, haben wir ein paar Funktionen hinzugefügt, um Wetter, Zeit und Zeitskala zu verändern und zu steuern. Nachfolgend findet ihr zwei Clips, welche die neuen Funktionen zeigen:

      in.fkn.space/jc3mp/videos/2016-04-02/time_and_weather.mp4

      in.fkn.space/jc3mp/videos/2016-04-02/time_scale.mp4

      Das war es schon für diese Woche!
      Wir würden uns über ein Feedback zu unserem Devblog freuen. Bis nächste Woche!;-)

      /edit 2:

      Doneasty schrieb:





      Hallo und herzlich willkommen zu unserem 17 Development Blog!

      Erweiterte Waffen Synchronisation
      Bisher sendete der Client Informationen über die gehaltene Waffe, die Zielposition und ob der Spieler gerade schießt oder geschossen hat. Diese Information wurde dann über den Server allen anderen Spielern gesendet.

      In dieser Woche wurde dieser Synchronisationsprozess noch einmal gemacht: nun hat der Server volle Kontrolle und das volle Wissen über die Waffen. Beispielsweise ist es nun möglich nicht ausgerüstete Waffen zu bekommen und deren aktuellen Munitionsstand via Scripting Funktionen abzufragen. Es ist nicht nur möglich eine erweiterte Scripting API zu haben, sondern es ist auch möglich ein Event hinzuzufügen, welches ausgelöst wird, wenn der Spieler eine Waffe hat, die nicht vom Server erstellt wurde. Das hilft Serverbesitzern beim Aufdecken von Cheatern.

      Checkt aufjedenfall unseren kleinen Clip, in welchem wir versucht haben alle Waffenslots zu bekommen. Diesmal hat das allerdings nicht ganz wie gedacht funktioniert;-)

      in.fkn.space/i/223-5707cf9d3ba95-2016-04-08_17-13-58.mp4

      Clientside Scripting
      Diese Woche wurde die clientside Scripting-Funktionalität erweitert.

      Zunächst wurde eine globale localPlayer Variable hinzugefügt. Weiterhin wurden Kamera Funktionen inklusive der Eigenschaften zum Setzen von Rotation, Position und Blickfeld hinzugefügt. Der local player hat ebenfalls eine Kameraeigenschaft, durch welche es ziemlich leicht ist zwischen erstellten Kameras (oder der Hauptspielkamera) zu wechseln. Wie diese Kamerfunktionen zu nutzen sind, könnt ihr im Update unseres Default Packages sehen:

      gitlab.nanos.io/jc3mp/client-default-package/
      gitlab.nanos.io/jc3mp/server-default-package

      Weitere Änderungen
      Funktionen, um die player controls zu sperren, wurden zur Scripting API hinzugefügt. Ebenso wurde das Animationssystem reversed, um gewissen Problemen und Fragen vorallem bei der Parachute Synchronisation auf den Grund zu gehen.

      Das war es wieder für diese Woche. Falls ihr das kürzlich erschienene Interview mit uns noch nicht gecheckt habt, solltet ihr das aufjedenfall nocht nachholen: justcause3mods.com/nanos-jc3mp…e-multiplayer-experience/

      Übrigens: mitte dieser Woche startet die deutsche Community zu Nanos Just Cause 3 Multiplayer!

      Bis nächste Woche!
      "Cash rules everything around me: CREAM, get the Money Dollar, dollar bill y'all"
      Zertifizierter Ex-Satanisten-Nazi-Mod
      Follow me on fucking Twitter and Instagram
      PR-, Marketing- und Communitymanager bei nanos.io

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von dennismitzwein () aus folgendem Grund: Devblog 17 hinzugefügt

    • Wow, wieder ein interessanter Dev-Blog!
      Ich verfolge Nanos nun schon etwas länger und kenne mittlerweile auch die Jungs hinter den Kulissen ganz gut.
      Nun gibt es auch schon ein deutsches Forum zum JC3-MP (wurde das hier schon gepostet? Ich kann nämlich nichts finden...). Im Spoiler ist ein Screenshot von dem Forum, den ich von @Doneasty bekommen habe.


      Ich freue mich schon auf weitere Dev-Blogs und wünsche euch ein gutes Händchen beim Programmieren und uns allen einen hoffentlich schnellen Start. So langsam würde ich den MP schon mal ganz gerne ausprobieren. ;)
    • Doneasty schrieb:

      Hallo,

      in dieser Woche wird es keinen ausführlichen Development Blog geben, da die meisten unserer Entwickler in dieser Woche geschäftlich unterwegs waren.
      Einige Verbesserungen bezüglich der Waffen Hashes und Recording Parts auf unseren Web Services wurden getätigt, stellen allerdings keinen adäquaten Inhalt für einen ganzen Development Blog dar.

      Bleibt gespannt auf nächste Woche: da sollten wir in der Lage sein, mehr Neues und Verändertes zu zeigen;-)

      Edit:

      jhx schrieb:



      Hallo und Willkommen zum 19. Development Blog!

      In dieser Woche wollen wir euch ein paar Details zu den Problemen, mit denen wir uns zurzeit beschäftigen, verraten.

      Animationen
      Wir untersuchen gerade wie der Spielcharakter initialisiert wird und die Animationen mittels einer Zustandsübergangsmaschine im Spiel implementiert sind.
      Aus bisher unbekannten Gründen können einige Aktionen und Animationen unter bestimmten Bedingungen nicht ausgeführt werden. Sobald wir diese Bedingungen identifizieren können, werden wir eine ganze Reihe von Problemen bzgl. Animationen (z.B. bei der Verwendung des Fallschirms) lösen.



      Aufgrund der großen Anzahl an Fällen dieser Natur in Just Cause 3, ist das Debuggen eine sehr zeitaufwendige Aufgabe und kann daher zu leichten Verzögerungen in unserem allgemeinen Zeitplan führen.

      Andauerndes Problem bei der Waffen-Synchronisation
      Obwohl der größte Teil der Waffensynchronisation mittlerweile durch den Server kontrolliert werden (siehe Devblogs der letzten Wochen), sendet jeder Client weiterhin Werte über die Anzahl der Kugeln im Magazin an den Server. Wenn dem Spieler nun eine Waffe gegeben wird und das Wechseln zu dieser nicht erzwungen wird (d.h. dass die Waffe in das Inventar des Spielers gelegt wird), wird die Munition bisher nicht korrekt synchronisiert, bis der Spieler schließlich zu dieser wechselt.

      Beispiel: [...] (siehe community.nanos.io/index.php?/…blog-week-19/#comment-786)

      Eindeutige Nutzer-Identifizierung
      Einige Benutzer haben ihre Bedenken gegenüber der Möglichkeit Spieler über eine eindeutige ID zu identifizieren geäußert. Die naheliegendste Option ist das Bereitstellen der SteamID.
      Da wir jedoch den Wert des Datenschutzes schätzen, muss der Client gegenüber jedem Server einwilligen, dass Steam-Daten mit dem Server geteilt werden. Diese Entscheidung ist nicht verhandelbar.
      Wir möchten euch außerdem in diesem Zusammenhang darüber in Kenntnis setzen, dass es niemals möglich sein wird eine sichere und verlässliche ID zur Verfügung zu stellen. Vergesst darüber hinaus nicht, dass wenn euer Server die Steam ID zur Authentifizierung nutzt, ihr ein hohes Risiko eingeht, da Steam IDs manipuliert werden können.


      So, das war's für diese Woche! Wir hoffen, dass ihr den etwas anderen Stil des Development Blogs genossen habt und freuen uns auf die nächste Woche!


      Originalartikel und vollständige Version: community.nanos.io/index.php?/…blog-week-19/#comment-786
      "Cash rules everything around me: CREAM, get the Money Dollar, dollar bill y'all"
      Zertifizierter Ex-Satanisten-Nazi-Mod
      Follow me on fucking Twitter and Instagram
      PR-, Marketing- und Communitymanager bei nanos.io

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von dennismitzwein ()

    • Es geht wieder voran:
      twitter.com/justcause/status/725708261958254593

      Waffen mit normaler Munition werden überbewertet - dann doch lieber mit Tieren. :)

      //Edit 01.05.2016:


      Sebastian M. schrieb:

      Hallo und herzlich willkommen zum 20. Development Blog.


      Vergangene Woche haben wir große Fortschritte gemacht, weshalb wir uns nun direkt den näheren Details zuwenden wollen:


      Objekt Scripting


      Die größte Neuerung in diesem Development Blog ist das Objekt Scripting. Wir bieten nun Unterstützung hinsichtlich Positionierung und Erstellung von Objekten.
      Im Normalfall sollte man sich über ein existierendes Objektlimit keine Sorgen machen (bisher wurde bis 2048 getestet), da die Objekte vom Server dynamisch gestreamt werden.






      Schau dir außerdem diese kleinen Videos an, die wir vor ein paar Tagen auf Reddit und Twitter veröffentlicht haben:
      i.imgur.com/fcix7Rc.webm
      i.imgur.com/H4XVnOB.gifv



      Alle neuen Funktionen kann man nun schon in unseren Default Packages sehen:
      gitlab.nanos.io/jc3mp/server-default-package
      gitlab.nanos.io/jc3mp/client-default-package



      Kamera


      Es stellte sich heraus, dass Just Cause 3 nur drei Kameraperspektiven unterstützt, ohne direkt instabil zu laufen. Da wir denken, dass dieses Thema nicht so wichtig ist wie andere anstehende Arbeiten, haben wir unser Scripting so modifiziert, dass wir ab sofort keine Kameraobjekte mehr benutzen. Scripter können dies aber recht einfach umgehen. Die neue Prozedur, um eine Kameraeinstellung für einen Spieler zu erstellen, ist sehr einfach: es reicht, die Kamera vom Spieler zu entfernen und an eine neue Position zu setzen.



      Dies bedeutet auch, dass wir nun die Hauptkamera anstatt einer speziellen beim Wiederverbinden benutzen.


      Andere Änderungen


      Wir waren ebenfalls in der Lage, einen zufälligen Client-Crash, bedingt durch das übermäßige Erstellen von Entities, zu verhindern. Wir dachten zuerst, dass der Fehler am Hinzufügen von unserem Code in das Spiel an sich liegt, jedoch handelte es sich um einen Fehler in der STL unorderd_map in Visual Studio 201. Ein reproduzierbares Beispiel außerhalb des Projektes haben wir noch nicht, aber wir gedenken, den Fehler an Microsoft zu melden, damit er in einer zukünftigen Version von Visual Studio gefixt werden kann.


      Derzeit untersuchen wir eine Sperre im js-scripting, welche in einigen Shells/Terminals auftritt. Wir konnten die Fehlerquelle noch nicht identifizieren, jedoch arbeiten wir konzentriert an einer Lösung.


      Zum Schluss haben wir noch einige Fehler im Dateitransfer gefixt, da einige nicht übertragene Dateiverzeichnisse nicht


      Das war es nun für diese Woche. Falls ihr den gestrigen Post über Kommunikation und zwischen Client- und Serverscripts verpasst habt, dann schaut gerne hier:
      community.nanos.io/index.php?/…-communication-explained/


      Bis zum nächsten Mal!

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von shoxinat0r ()