[Projekt] CRON, ein Weltraumspiel (Browser) Prototyp

Hier könnt ihr euch selbst, eure Homepage, euren Entwicklerstammtisch, Termine oder eure Projekte vorstellen.
Forumsregeln
Bitte Präfixe benutzen. Das Präfix "[Projekt]" bewirkt die Aufnahme von Bildern aus den Beiträgen des Themenerstellers in den Showroom. Alle Bilder aus dem Thema Showroom erscheinen ebenfalls im Showroom auf der Frontpage. Es werden nur Bilder berücksichtigt, die entweder mit dem attachement- oder dem img-BBCode im Beitrag angezeigt werden.

Die Bildersammelfunktion muss manuell ausgeführt werden, die URL dazu und weitere Details zum Showroom sind hier zu finden.

This forum is primarily intended for German-language video game developers. Please don't post promotional information targeted at end users.
Antworten
Damocles
Beiträge: 7
Registriert: 25.01.2018, 15:51
Benutzertext: mehr Spiele machen

[Projekt] CRON, ein Weltraumspiel (Browser) Prototyp

Beitrag von Damocles »

Hallo Leute,

Ich bin der Damocles, und ich bin neu hier.

Ich erstelle schon seit einigen Jahren kleine Spielprojekte und Demos, und wollte mich mal ein eines dieser "Space Games" wagen.

Der Arbeitstitel lauten "CRON".

Vom Konzept her soll das Spiel eine Mischung aus Exploration und Handel werden, in einer sehr großen "Galaxie" (eher Sternen-Haufen), mit einigen hundert Sonnensystemen.
Im Augenblick arbeite ich an den technischen Systemen (zB Steuerung, Entity Management, LOD, Netzwerkanbindung & Server) und dem generellen Look & Feel.

Technisches Ziel ist es, dass das ganze auf einigermaßen "normalen" PCs (Win,Linux,Mac) im Browser läuft.

Ich habe schon einen frühen Prototypen zum testen erstellt, und würde mich über Feedback (Vorschläge, technische Probleme, Performance) freuen.

Also wer schon etwas rumtesten möchte, kann den Prototypen hier starten. (Ihr braucht kein Login oder Runterladen von Installern...)
Cron, Prototyp Demo


Die Steuerung ist in einem sehr frühen Stadium, und soll vom Konzept her ermöglichen das Schiff per Maus zu steuern, während die Maus aber weiterhin mit den Menüs interagieren kann. (ähnlich wie in WoW)

Steuerung:

Linke-Maustaste + Drag : freihes Schauen
recht-Maustaste + Drag : Flugrichtung setzen.
W und S : Geschwindigkeit steuern (in Metern/Sekunde)
A,D,Q und E sind steuern die Schubdüsen zum Manövrieren.
Leertaste: ein paar Raketen abfeuern (im Augenblick reine Testobjekte ohne Interaktion)


In der Demo gibt keine wirklichen Ziele (reiner technischer Test), aber es gibt ein paar verstreute Eastereggs.
Es sind etwa 2000 Asteroiden in dem Level verteilt, um auch die Performance etwas zu fordern. Später wird die Anzahl der Objekte sicher geringer ausfallen (müssen).

Was hier nicht enthalten ist, ist die Netzwerkkommunikation mit dem (Java) Server. Ich bin noch beim Testen wie groß der Datendurchsatz sein darf, und dabei die Stabilität gewährleistet bleibt, etc..


Und hier einige Impressionen:


Bild
Bild
Bild
Bild



Das Spiel setzt auf Unity auf, denn wie ich gemerkt habe ist das Entwickeln einer eigenen 3D Engine zwar interessant, aber man verbraucht sehr viel Energie und Zeit, für etwas das Andere schon besser gemacht haben.
.. Und reines Rumwerkeln an Basis-Systemen, ohne zur eigentlichen Spiellogik zu kommen ist auch nicht sehr motivierend.

Unity ist eine nette Engine (und in dieser Version sogar kostenlos!). Ich mag vor allem den grundlegenden Entity-Component-System Ansatz, was besser für diese Art von Spielen ist, as eine unhandliche tiefe Vererbungsstruktur.
(Entity->DynamicEntity->InteractableEntity->MovingEntity->NPCEntity->AnimalEntity->HundEntity->SchnueffelderHundEntity)
Und innerhalb einiger Wochen war die Engine und (C#, das zum Glück Java sehr ähnelt) auch schnell gelernt, um was produktives zu machen.


Früher habe ich übrigens einige 3D Gamestudio Demos erstellt. Und danach vor allem Java/Android Spiele.

(Twitter) https://twitter.com/TheDamocles

Gruß, Damocles
Benutzeravatar
Schrompf
Moderator
Beiträge: 4838
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: [Projekt] CRON, ein Weltraumspiel (Browser) Prototyp

Beitrag von Schrompf »

Schon auf TigSource gesehen, sehr cool. Läuft leider auf meinem Arbeitsrechner nicht, aber vielleicht kann ich es mal zu Hause in ner ruhigen Minute erproben.

Verstehe ich das richtig, dass das ein Multiplayer-Spiel werden soll? Exploration finde ich ganz toll, Handel interessiert mich wenig, aber ich frage mich, wie das im Multiplayer funktionieren soll.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Damocles
Beiträge: 7
Registriert: 25.01.2018, 15:51
Benutzertext: mehr Spiele machen

Re: [Projekt] CRON, ein Weltraumspiel (Browser) Prototyp

Beitrag von Damocles »

Die Demo hier ist vor allem ein Test-Bed für die Technik (Rendering, Sound, allgemeine Performance)
Es sind noch keine Netzwerkanfragen angeschaltet.

Der Multiplayer wird es dann den Spielern ermöglichen, verschiedene System zu erreichen (die Welt ist sehr viel größer) und dort auch gegen NPCs und andere Spieler zu kämpfen.
Für den Anwender soll es recht einfach sein das Spiel zu starten (eg im Browser), dann einzuloggen, und in einer persistenten Welt Missionen zu absolvieren.

Die Steuerung während des Kampfes wird eher indirekt (Ziel aufschalten, Kampfmittel aktivieren). Es ist kein hektischer Multiplayer, sondern eher ein taktischer. (und vor allem basierend auf der Schiffsausstattung, und welche Module aktiviert werden)

Da ich keine große Anzahl an gleichzeitig aktiven Spielern erwarten kann, wird vor allem genügend Singleplayer-content vorhanden sein, damit man auch ohne Spieler-Interaktion genügend zu tun / zu entdecken hat.
Benutzeravatar
xq
Establishment
Beiträge: 1581
Registriert: 07.10.2012, 14:56
Alter Benutzername: MasterQ32
Echter Name: Felix Queißner
Wohnort: Stuttgart & Region
Kontaktdaten:

Re: [Projekt] CRON, ein Weltraumspiel (Browser) Prototyp

Beitrag von xq »

Also erst mal: Willkommen im Forum!

Ich hab grade mal deinen Prototypen angespielt und bin positiv überrascht! Die Steuerung ist sehr angenehm und entspannt, wenn du das Spiel auf diesen Entspannheitsgrad hin entwickelst, fände ich das sehr geil.
Die Steuerung während des Kampfes wird eher indirekt (Ziel aufschalten, Kampfmittel aktivieren). Es ist kein hektischer Multiplayer, sondern eher ein taktischer. (und vor allem basierend auf der Schiffsausstattung, und welche Module aktiviert werden)
Finde ich sehr cool, ich mag entspannte Weltraumspiele. Darf ich mir das dann in etwa wie FTL vorstellen, wobei ich dann noch mein eigenes Schiff im Kampf positionieren kann?
Der Multiplayer wird es dann den Spielern ermöglichen, verschiedene System zu erreichen (die Welt ist sehr viel größer) und dort auch gegen NPCs und andere Spieler zu kämpfen.
Übernimm dich nicht mit der Welt, sorge lieber für wenig, dafür aber interessanten Content :)
Da ich keine große Anzahl an gleichzeitig aktiven Spielern erwarten kann, wird vor allem genügend Singleplayer-content vorhanden sein, damit man auch ohne Spieler-Interaktion genügend zu tun / zu entdecken hat.
Ebenfalls gute Einstellung, ich bin gespannt

Kleiner Anhang noch: Ich bin erfolgreich auf dem Mond gelandet! Naja, eigentlich auf dem rießigen Asteroiden... Hat Spaß gemacht und ging auch gut von der Hand, was den präzisen Teil angeht
Bild

Und da ich es grade lese:
Früher habe ich übrigens einige 3D Gamestudio Demos erstellt.
Bist du dann auch Damocles ausm Forum?
War mal MasterQ32, findet den Namen aber mittlerweile ziemlich albern…

Programmiert viel in ⚡️Zig⚡️ und nervt Leute damit.
Damocles
Beiträge: 7
Registriert: 25.01.2018, 15:51
Benutzertext: mehr Spiele machen

Re: [Projekt] CRON, ein Weltraumspiel (Browser) Prototyp

Beitrag von Damocles »

Ja, der selbe Damocles (Wasteland/XSpire KI..)

Die Welt wird in großen Teilen eine Mischung aus Proc-Gen und manueller Nacharbeit.
EG, der Prozedural-Generator wird mit passenden Daten für die Systemklasse gefüttert (Asteroidenfeld, Trümmer, ein Groß-Asteroid/Minimond usw, verschiedenste Hintergründe wie Planeten, Monde, Doppelsterne ...)
und erstellt ein großes Spielfeld. Manuell können da dann noch Objekte, Trigger und NPCs verschoben, gelöscht und addiert werden.
Der Arbeitsfluss ist sehr viel schneller als reines manuelles Editieren.

Der Spieler soll eine wirklich große Welt besuchen können, ohne ihn aber dazu zu zwingen (es gibt Systeme mit Hotspots, die man regelmäßig anlaufen kann)

Vom Kampf her schwebt mir eher etwas wie eine Mischung aus EvE und WoW vor. Also Ziel+Aktion-basierter Kampf, wobei es darauf ankommt welche Fähigkeiten (Module) man hat, in welcher Reihenfolge man sie einsetzt, und welchen Status der Kontrahent hat.
Über den Einfluss der Position des Schiffes und der Geschwindigkeit bin ich mir noch nicht sicher, und inwieweit es zu Line-of-Sight Problemen kommen kann. Da muss ich testen was robust ist, aber Spass macht.

Da es ein Onlinespiel ist, und keine Updatefrequenz wie ein Shooter haben wird, werden die Kämpfe auch keine Geschicklichkeitsübung (eg, kein direktes Zielen wie in Arcade-Weltraumshootern).
Es wird eher darum gehen die Situation zu erkennen, und die Passenden System auszurüsten. (Also wer gerade Erze abbauen möchte, ist entsprechend ausgerüstet, und sollte keine Piratenflotte nebenbei angreifen)
joeydee
Establishment
Beiträge: 1039
Registriert: 23.04.2003, 15:29
Kontaktdaten:

Re: [Projekt] CRON, ein Weltraumspiel (Browser) Prototyp

Beitrag von joeydee »

Die Steuerung ist tatsächlich gut bedienbar. Schönes Projekt!
Und willkommen im Forum!
Damocles
Beiträge: 7
Registriert: 25.01.2018, 15:51
Benutzertext: mehr Spiele machen

Re: [Projekt] CRON, ein Weltraumspiel (Browser) Prototyp

Beitrag von Damocles »

Wie in jedem Spacegame haben die Astronauten hier ebenfalls Laser eingekauft.
Bild
Bild
Bild
Benutzeravatar
Krishty
Establishment
Beiträge: 8229
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: [Projekt] CRON, ein Weltraumspiel (Browser) Prototyp

Beitrag von Krishty »

Sehr gute Arbeit! Ich fand’s toll, ein Wrack und ein anderes Raumschiff zu finden.

Durch das andere Raumschiff fliege ich aber immer durch:

Untitled.png


Außerdem musste ich meinen Skriptblocker komplett abschalten (nicht nur alle Skripts erlauben), sonst kam

Code: Alles auswählen

UnityLoader.js:1 Invoking error handler due to
Uncaught TypeError: navigator.mediaDevices.enumerateDevices(...).then is not a function
blob:http://crongame.com/b592b43b-a901-4663-bdff-2b5bb0db937d:2

Uncaught TypeError: navigator.mediaDevices.enumerateDevices(...).then is not a function
    at enumerateMediaDevices (blob:http://crongame.com/b592b43b-a901-4663-bdff-2b5bb0db937d:2)
    at blob:http://crongame.com/b592b43b-a901-4663-bdff-2b5bb0db937d:2
    at callRuntimeCallbacks (blob:http://crongame.com/b592b43b-a901-4663-bdff-2b5bb0db937d:2)
    at preRun (blob:http://crongame.com/b592b43b-a901-4663-bdff-2b5bb0db937d:2)
    at run (blob:http://crongame.com/b592b43b-a901-4663-bdff-2b5bb0db937d:4)
    at runCaller (blob:http://crongame.com/b592b43b-a901-4663-bdff-2b5bb0db937d:4)
    at removeRunDependency (blob:http://crongame.com/b592b43b-a901-4663-bdff-2b5bb0db937d:2)
    at applyMemoryInitializer (blob:http://crongame.com/b592b43b-a901-4663-bdff-2b5bb0db937d:4)
    at useRequest (blob:http://crongame.com/b592b43b-a901-4663-bdff-2b5bb0db937d:4)
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Damocles
Beiträge: 7
Registriert: 25.01.2018, 15:51
Benutzertext: mehr Spiele machen

Re: [Projekt] CRON, ein Weltraumspiel (Browser) Prototyp

Beitrag von Damocles »

Krishty hat geschrieben:Sehr gute Arbeit! Ich fand’s toll, ein Wrack und ein anderes Raumschiff zu finden.

Durch das andere Raumschiff fliege ich aber immer durch:
...

Außerdem musste ich meinen Skriptblocker komplett abschalten (nicht nur alle Skripts erlauben), sonst kam

Code: Alles auswählen

UnityLoader.js:1 Invoking error handler due to
Uncaught TypeError: navigator.mediaDevices.enumerateDevices(...).then is not a function
...
Uncaught TypeError: navigator.mediaDevices.enumerateDevices(...).then is not a function
[/quote]

Bei der Kollisionserkennung muss ich mir eh noch einige Gedanken machen. Bei statischen Objekten (Asteroiden, Stationen usw) wird sie ganz klassisch direkt sein.
Bei dynamischen Objekten wie Schiffen usw is es komplizierter, und hängt vom Status des Objektes ab.
Da das Spiel von der Architektur her ein Onlinespiel wird, müssen Server und Clients sich bei Kollisionen einigen können, obwohl ihr Worldstate zeitlich auseinander liegen kann.
Eg: zwei Client sehen den jeweils anderen an unterschiedlichen Positionen. Dann könnte eine gemeldete Kollision bei einem oder beiden Cients plötzlich das eigene Schiff ohne sichtbaren Grund "Rumsnappen" lassen, da die Clients in der Bewegung nie komplett synchron laufen können. (sowas geht nur in einem Lan-Spiel ohne nennenswerte Latenz)
Mir ist hier wichtig, dass die Spielsteuerung sich möglichst direkt anfühlt, wobei die Bewegung und Aktionen des eigenen Schiffes Priorität haben. (Ein Rumsnappen anderer Objekte wirkt hier weniger schlimm, als das des eigenen Schiffes)

Es wird wahrscheinlich ähnlich wie bei WoW sein, wo NPCs und Spieler keine direkte Kollision haben, es sei denn einer der beiden ist im deaktivierten Zustand (eg Bewegt sich nicht). Bei "parkenden" Schiffen lässt der Server die Clients "auseinanderdriften", wenn sie zu dicht beieinander sind.

---

Uncaught TypeError: navigator.mediaDevices.enumerateDevices
https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/enumerateDevices
Da kann ich leider nicht viel machen. Den Code an der Stelle kann Stelle kann ich nicht direkt beeinflussen, und die Zugiffsrechte auf mediaDevices vorher prüfen.
Das ist einer der Nachteile bei einer Engine mit automatisierten Build.
Damocles
Beiträge: 7
Registriert: 25.01.2018, 15:51
Benutzertext: mehr Spiele machen

Re: [Projekt] CRON, ein Weltraumspiel (Browser) Prototyp

Beitrag von Damocles »

Mockup für ein modulares Schiffsdesign. (die kleinste Schiffsklasse.. sehr unbequem auf längeren Reisen)
Bild
Bild
Antworten