[Projekt] Shardcraft (MMO-RTS) - alpha released

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.
Benutzeravatar
xq
Establishment
Beiträge: 1438
Registriert: 07.10.2012, 14:56
Alter Benutzername: MasterQ32
Echter Name: Felix Queißner
Wohnort: Stuttgart & Region
Kontaktdaten:

Re: [Projekt] Shardcraft (MMO-RTS)

Beitrag von xq »

Um eine art Erd-Textur über die Gras-Textur zu blenden, nach welchem Begriff muss ich da suchen? Hab von Grafikprogrammierung bisher nicht wirklich viel Ahnung ;)
Üblicherweise ist das Multitexturing oder Texture Blending

Die neue Textur sieht echt cool aus, ich mag den Look. Ich finde so nen Hex-Cursor unter der Maus auch ganz angenehm, dann hat man direktes Feedback
War mal MasterQ32, findet den Namen aber mittlerweile ziemlich albern…

Wer checkt diese Shaderprogrammierung denn?
JCL: Kein Mensch zwingt Sie jedoch, mit Shadern oder ueberhaupt mit Gamestudio zu arbeiten. Es gibt schliesslich auch andere schoene Hobbies, wie zum Beispiel das Sammeln von Bierdeckeln – JCL quotes
LONy
Establishment
Beiträge: 137
Registriert: 29.09.2011, 10:04

Re: [Projekt] Shardcraft (MMO-RTS)

Beitrag von LONy »

Eigentlich wollte ich heute das Gebäude bauen fertig machen.
Wenn man ein neues Gebäude platziert wird jetzt zuerst ein "Bauplatz" angezeigt. Dafür gibt es jetzt für Gebäude eine neue Eigenschaft "Status". Da ich noch nicht genau weiß, wie ich jetzt das Ressourcen zum Bauplatz transportieren möglichst elegant umsetze hab ich angefangen mit Wolken herum zu Spielen... hier mal ein Screenshot um einen Eindruck zu vermitteln :)
2020_04_23_002.png
Theoretisch können die Inseln bei dem Wolken Asset auch in den Wolken sein. Damit das gut aus sieht ist aber wohl einiges an Fine tuning nötig :D
2020_04_23_004.png
LONy
Establishment
Beiträge: 137
Registriert: 29.09.2011, 10:04

Re: [Projekt] Shardcraft (MMO-RTS)

Beitrag von LONy »

Ein kurzes Update :)
Neue Funktionen gibt es eigentlich nicht, dafür hab ich viel am Backend umgeschrieben und um Hilfsklassen erweitert, so dass es jetzt deutlich einfacher sein sollte das Backend um neue Funktionen zu erweitern:

Da ich schnell voran kommen wollte, war die Rohstoff Herstellung und das Berechnen der Arbeiter alles in einer einzigen riesigen Klasse mit Datenbank Abfragen mitten in der Statemachine usw. - ein schneller Prototyp. Das ganze ist jetzt aufgeräumt:

- Nun gibt es eigene Scripte zum verwalten der Rohstoffe (incl. Datenbankzugriff und einfache Berechnungen und Logik vergleiche, z.B. ob die erforderlichen Rohstoffe für ein Gebäude <= der vorhandenen Rohstoffe bei der "Baustelle" sind.)
- Alle Einheiten sind nun auch in einer eigenen Klasse, die nur für das Verwalten von Einheiten zuständig ist, mit Hilfsmethoden wie z.B. GetItem(Baum), hier sucht die Einheit automatisch nach dem nähstem Item (z.B. "Baum"), holt das Item und meldet dem Gebäude, für das die Einheit arbeitet, wenn sie zurück ist...
- Alle Gebäude oder allgemein statische (nicht bewegliche) Objekte sind jetzt in einer Klasse, mit einer extra Statemachine um ihren eigenen Zustand zu verwalten, z.B. dem zugewiesenen Arbeiter sagen, welche Rohstoffe sie brauchen um gebaut zu werden, oder wenn sie fertig gebaut sind, welche Rohstoffe sie zum Verarbeiten brauchen usw.

Das ganze gefällt mir inzwischen recht gut und sollte jetzt auch flexibel erweiterbar sein. Für die Klasse zum Verwalten der Ressourcen habe ich auch einen automatischen Test geschrieben, der mir die Klasse auf richtige Funktion testet... Ich denke hier muss ich in Zukunft noch mehr Energie rein stecken, weil einem doch viele kleine Fehler passieren und im Zusammenspiel von Backend mit Client sind diese sonst schwer zu finden.

Mit der Darstellung der Wolken bin ich auch schon recht zufrieden. Gebäude können nun gebaut werden (hier hab ich im Frontend noch einen Bug, dass mir die Darstellung der Baustelle nicht gelöscht wird ;) )

Zwei Bilder vom Aufbau einer neuen Insel:
2020_04_28_001.png
Mit dem Kran soll man später neue Inselteile an der Insel befestigen... Wenn der Kran das Inselteil eine Zeit lang in Position hält, verwächst es quasi mit der Insel. Wenn der Kran nicht mehr am Rand ist hat er keine Funktion mehr und kann zurück gebaut werden. Ein Kran ist recht teuer, um damit auch ein Stück die Erweiterung der Insel zu steuern - das muss ich aber alles noch implementieren:
2020_04_28_002.png
LONy
Establishment
Beiträge: 137
Registriert: 29.09.2011, 10:04

Re: [Projekt] Shardcraft (MMO-RTS)

Beitrag von LONy »

Gerade haben wir gut drei Stunden zu dritt gespielt... mein Cousin, mein Bruder und ich, v0.0.3 war ganz lustig im Teamspeak ;)
Es gibt noch ein paar blöde Bugs, z.B. bauen auf anderen Inseln, aber das sind Kleinigkeiten.

Ich habe eine Todo Liste mit 10 Punkten, wenn ich die abgearbeitet habe werden wir v0.0.4 testen und wenn das Ganze so weit läuft, werde ich auch hier einen Link teilen.

Der Server ist dabei recht entspannt geblieben. Das Balancing und die Erstellung von neuen Inselteilen hat für uns 3 ganz gut gepasst, aber ich muss es linear mit der Anzahl der eingeloggten Spieler steigern, sonst sind es wohl viel zu wenig...

Hier ein Screenshot meiner Insel:
2020_05_01_006.png
u.a. steht auf der Todo Liste, dass man Gebäude (die nicht mehr gebraucht werden) abreißen kann. Momentan gibt es als Rohstoffe nur Stein und Holz. Inselbewohner/Arbeiter werden mit jedem neuen Gebäude automatisch erstellt. Trotz des sehr einfachen Prinzips hats schon viel Spaß gemacht.

Leider wurden weder Wolken noch Schatten im Unity Build dargestellt... da muss ich noch mal schaun an was es liegt.
Benutzeravatar
Tiles
Establishment
Beiträge: 1633
Registriert: 11.01.2003, 14:21
Kontaktdaten:

Re: [Projekt] Shardcraft (MMO-RTS)

Beitrag von Tiles »

xq hat geschrieben:
23.04.2020, 13:02
Um eine art Erd-Textur über die Gras-Textur zu blenden, nach welchem Begriff muss ich da suchen? Hab von Grafikprogrammierung bisher nicht wirklich viel Ahnung ;)
Üblicherweise ist das Multitexturing oder Texture Blending
Ergänzenderweis, der Fachbegriff heisst Texture Splatting https://en.wikipedia.org/wiki/Texture_splatting

Ich mag den Grafikstil. Weitermachen! :)
Free Gamegraphics, Freeware Games http://www.reinerstilesets.de
Die deutsche 3D Community: http://www.3d-ring.de
LONy
Establishment
Beiträge: 137
Registriert: 29.09.2011, 10:04

Re: [Projekt] Shardcraft (MMO-RTS)

Beitrag von LONy »

Danke! Ich hab mich mal versucht im Texture splatting... hier das erste Ergebnis von der Baustelle :)
2020_05_02_002.png
LONy
Establishment
Beiträge: 137
Registriert: 29.09.2011, 10:04

Re: [Projekt] Shardcraft (MMO-RTS)

Beitrag von LONy »

Nachdem sich gestern Shardcraft richtig nach einem Spiel angefühlt hat, obwohl es noch in einer so frühen Version ist, war ich heute total motiviert und hab ein kleines Video erstellt :D



Ich hab auch angefangen mich mit Audio zu beschäftigen, mir gleich mal ein Asset mit der epischen Musik vom Video gekauft und auch angefangen in Unity ein wenig Hintergrundmusik einzubauen und die Einheit spricht jetzt, wenn man ihr einen Befehl gibt ;)
Benutzeravatar
Tiles
Establishment
Beiträge: 1633
Registriert: 11.01.2003, 14:21
Kontaktdaten:

Re: [Projekt] Shardcraft (MMO-RTS)

Beitrag von Tiles »

Immer weiter machen, wir lurken mit :)
Free Gamegraphics, Freeware Games http://www.reinerstilesets.de
Die deutsche 3D Community: http://www.3d-ring.de
LONy
Establishment
Beiträge: 137
Registriert: 29.09.2011, 10:04

Re: [Projekt] Shardcraft (MMO-RTS)

Beitrag von LONy »

Version 0.0.4 ist fast fertig, so dass ich sie wohl auch auf itch.io veröffentlichen werde.
Unsere kleine Runde vor gut einer Woche zu dritt war mit der Client Version 0.0.3, die doch einige offensichtliche Schönheitsfehler hatte...

Neuerungen die bereits für die neue Version umgesetzt sind (im Vergleich zu v 0.0.3):
- Sound (Hintergrundmusik und Einheiten)
- kleines Optionsmenü zum Einstellen der Lautstärke
- Login Daten können gespeichert werden
- der node.js Server läuft jetzt als selbständiger "Task" - ich muss ihn nicht extra über SSH starten
- Anzeige Bugs beim hinzufügen von Inselteilen behoben
- Bug, dass auf Inseln anderer Spieler oder auf leeren Inseln Bauaufträge gestartet werden können wurde beseitigt
- Wolken werden nun dargestellt
- hübschere Baustellen
- Baustellen verschwinden nach Fertigstellung
- Bäume und Felsen ohne Rohstoffe werden nun als Baumstumpf bzw. kleiner Steinhaufen dargestellt
- Der Kran kann nicht mehr die eigene Insel an den Haken nehmen
- man kann ein leeres Inselteil auch wieder los lassen
- Fortschrittsanzeige für alle Baustellen (= Anzahl der Rohstoffe bei der Baustelle... z.B. sah man nicht, wie viel Holz schon beim Kran ist und konnte so nur raten, wie lange es noch bis zur Fertigstellung dauert. Ein Kran kostet 20 Holz, und das dauert eine Weile, bis es der Arbeiter hin getragen hat)
- Man kann auf Tiles mit abgeernteten Rohstoffen (z.B. Baumstumpf) nun ein neues Gebäude bauen
- Meldungen werden nur 1x generiert (z.B. wurde vorher eine Fehlermeldung mehrmals generiert, so dass man sie auch häufig weg klicken musste)
- neues Gebäude "Wohnhaus"
-...

Die Veröffentlichung des Youtube Videos ist ernüchternd, nur 20 Views (ich würde sagen 90% davon waren Freunde) und auf itch.io war seit über einer Woche keiner mehr auf der Seite. Aber gleichzeitig ist es auch gut, weil so kann ich mit einer Veröffentlichung einer sehr frühen Version nichts falsch machen... es spielen zuerst eh geschätzt max. 10-20 Personen, das reicht leicht um Feedback zu bekommen, die Stabilität zu testen und weitere Spielinhalte hinzu zu fügen.

Ich überlege noch, ob ich in v 0.0.4 noch "Inselbewohner" richtig einführe - momentan wird einfach je Gebäude ein Bewohner generiert, der dann dort als Arbeiter ist... Ich möchte es so haben, dass man am Anfang mit einer gewissen Anzahl an Bewohnern startet und dann Wohnhäuser bauen muss, um zusätzliche Bewohner zu bekommen. Das ganze greift schon mehr in die Spielmechanik ein, aber wahrscheinlich hebe ich mir das trotzdem für die v 0.0.5 auf :)

Hier noch ein Screenshot vom neuen Gebäude und einem abgeholztem Baum ;)
2020_05_11_001.png
LONy
Establishment
Beiträge: 137
Registriert: 29.09.2011, 10:04

Re: [Projekt] Shardcraft (MMO-RTS)

Beitrag von LONy »

Moin,
da die Einheiten auf der Insel entscheidend beim Aufbau Einfluss nehmen, habe ich mich dazu entschieden für den ersten öffentlichen Release für Version 0.0.4 die Inseleinheiten noch zu implementieren. Aber wie so oft, unterschätzt man den Aufwand doch gewaltig und es dauert alles etwas länger ;)

Wenn man sich neu Anmeldet, werden 3 neue Inselbewohner generiert. Das hat sich aber schon als zuwenig heraus gestellt - gerade zu Beginn ist das Spiel noch viel zu zäh. Beim Bauen eines Wohnhauses gibts auch 3 neue Einheiten. Eine Einheit bekommt einen zufälligen, aus rund 200 Namen ausgewählten Namen und es gibt insgesamt 12 verschiedene Darstellungsformen.

Bei der Bewegung gibt es momentan noch einen Fehler, dass der AnimationController immer in die Richtung des Vektors von Start- zu Zielposition läuft (vom Server übertragene Positionen) unabhängig davon, wo sich die Einheit gerade tatsächlich befindet. Bisher hab ich nämlich nur den AnimationController für die Animation der Bewegung genutzt, die eigentliche Bewegung aber einfach zeitlich zwischen Start und Zielposition interpoliert, weshalb das immer gepasst hat, aber die Bewegungen weniger natürlich ausgesehen haben...

Hier noch ein Bild mit 3 Einheiten, die gerade aus dem Wohnhaus gekommen sind + Arbeiterin, die das Haus gebaut hat:
2020_05_16_003.png
LONy
Establishment
Beiträge: 137
Registriert: 29.09.2011, 10:04

Re: [Projekt] Shardcraft - Alpha released!

Beitrag von LONy »

Shardcraft v0.0.4 ist released! :)

Eben habe ich die erste öffentliche Alpha Version auf itch.io hochgeladen:
https://lonytoon.itch.io/shardcraft

Es hat jetzt doch noch viel länger gedauert ein paar nervige Bugs zu beseitigen. Jetzt sollte es aber mal so weit stabil laufen, dass man seine Insel mit Bewohnern bevölkern kann und mit neuen Inselteilen ausbauen kann.

Meine Liste, was ich noch alles implementieren möchte ist sehr lang... Aber ich habe mich dazu entschlossen eine frühe Veröffentlichung einer spielbaren Version zu versuchen. Die Wesentlichen Elemente sind Implementiert, so dass es keinen "Reset" des Spiels geben muss, wenn ich weitere Funktionen in den kommenden Wochen hinzu füge.

Wer mag, kann sich gerne die Zip-Datei runter laden, entpacken und Shardcraft ausprobieren :) Wenn irgend etwas hacken sollte, im Notfall einfach den Client neu starten...
LONy
Establishment
Beiträge: 137
Registriert: 29.09.2011, 10:04

Re: [Projekt] Shardcraft (MMO-RTS) - alpha released

Beitrag von LONy »

Drei weitere (reallife) Freunde haben sich angemeldet und sind schon fleißig am Zocken. Es gab noch einen kleine Bug mit dem Wohngebäude, den ich aber schnell beheben konnte.

Momentan mache ich mir Gedanken, wie ich das Inselwachstum im späteren Spielverlauf begrenzen kann. Mir schwebt so eine art Gravitationsmaschine vor, die die Inselteile zusammen hält aber gleichzeitig der Energiebedarf mit der Anzahl der Inselteile (exponentiell) steigt. Da es natürlich mehr Spaß macht eine Gravitationsmaschien zu entwickeln, als an der Narungsmittelproduktion für die Inselbewohner zu arbeiten, hab ich erst mal da etwas rum gespielt :D

Den Kran könnte man dann zu Gravitationsmaschinen ausbauen (der Drehkranz vom Kran ist übrig geblieben). In einem ersten Schritt wird man sich wohl einfach einen Gravitationsstein bei einem Händler kaufen (Ausbaustufe 1) und später dann noch mit Energie die Wirkung des Gravitationssteins verstärken. Hier ein Bild der Maschine:
2020_05_26_001.png
Benutzeravatar
Thoran
Establishment
Beiträge: 206
Registriert: 15.05.2009, 12:51
Wohnort: Stuttgart
Kontaktdaten:

Re: [Projekt] Shardcraft (MMO-RTS) - alpha released

Beitrag von Thoran »

Glückwunsch zur Veröffentlichung. Deine 3D-Modelle sind hübsch.
Wer Rechtschreibfehler findet, darf diese gerne behalten.
Mein Entwicklertagebuch
Aktuelle Projekte: Universum: Domination (ehemalig AlphaOmega),Universum: Sternenjäger
Spieleengine Unreal 4
LONy
Establishment
Beiträge: 137
Registriert: 29.09.2011, 10:04

Re: [Projekt] Shardcraft (MMO-RTS) - alpha released

Beitrag von LONy »

Danke Thoran :) Die ganzen Modelle sind allerdings Prefabs die ich entsprechend kombiniere... das Lob hat also jemand anderes verdient ;)

Ich arbeite an v0.0.5, vielleicht werde ich heute fertig. Damit es mehr Spielinhalte gibt, habe ich mich dazu entschlossen als nächstes die Nahrungsmittelproduktion zu implementieren.

Es wird 5 neue Gebäude geben, wovon 3 fertig sind:
1.) Karottenfarm, 2. )Sonnenblumenfarm und 3.) Feld. Karotten stellen Nahrung für die Inselbewohner dar. Da es nicht von Anfang an Essen gibt, müssen Bewohner die Nahrung zu sich nehmen irgend einen Bonus bekommen, z.B. schnelleres laufen. Mal sehen wie ich das ins Gameplay einbinde...
Jeder Farm muss (mindestens) ein Feld zugewiesen werden, an dem die Pflanzen angebaut werden. Dabei kann ein Feld nur eine maximale Anzahl an Früchten tragen.
Sonnenblumen sind nicht als Nahrung gedacht, sondern werden zu Öl weiter verarbeitet (4. Gebäude), dass dann mit einer art Rakete (5. Gebäude) die Insel bewegt werden kann. Das Sonnenblumenöl wird dann später auch für weitere "Industriegebäude" benötigt.

Somit konkurriert die Nahrungsmittelproduktion mit der Ölproduktion - evtl. ergibt es dadurch im späteren Spielverlauf eine Spezialisierung, ob man eher mit Muskelkraft die Rohstoffproduktion usw. ablaufen lässt oder durch Industrialisierung.

Rakete und Ölpresse existieren noch nicht, aber die anderen 3 Gebäude sind fertig und man kann schon den Karotten und Sonnenblumen beim Wachsen zu sehen :) Die Farm wird einfach durch einen Blumenkasten am Balkon unterschieden, welche Früchte produziert werden können...
2020_05_30_001.png
2020_05_30_002.png
Wenn man ein Gebäude anklickt, werden nun die zugewiesenen Arbeiter angezeigt. Man kann nicht mehr alle Gebäude von Anfang an bauen, sondern es gibt einen Techtree und die Gebäude hängen voneinander ab.
Es ist nämlich passiert, dass Spieler zuerst ein Wohnhaus (benötigt viel Stein) gebaut haben, bevor sie einen Steinmetz gebaut haben. Der Steinmetz benötigt aber auch etwas Stein und so ist es vorgekommen, dass man allen Stein verbaut hatte, bevor man einen Steinmetz hatte.
Techtree: Erst wenn man einen Steinmetz hat, kann man ein Wohnhaus bauen ;)
LONy
Establishment
Beiträge: 137
Registriert: 29.09.2011, 10:04

Re: [Projekt] Shardcraft (MMO-RTS) - alpha released

Beitrag von LONy »

Shardcraft v0.0.5 ist released :)

Es gibt vom Gameplay her eigentlich nur eine kleine Neuerung: Die Insel kann jetzt bewegt werden... aber das hat mehr Arbeit gemacht als gedacht. Um die Insel zu bewegen braucht man Steinturbinen. Diese werden mit Öl betrieben. Wenn das Öl aus geht, schaltet sich die Turbine ab. Wenn neues Öl durch einen Arbeiter gebracht wird, schaltet sich die Turbine wieder zu. Es können mehrere Turbinen gebaut werden und jede Turbine trägt zur Inselbewegung bei (wenn sie Öl hat). Hierdurch musste ich Eigenschaften etlicher Klassen verknüpfen und mit der Implementierung bin ich nicht so recht zufrieden, da hierdurch etliche Abhängigkeiten entstanden sind.
Zum Glück ist das alles im Backend, und ich kann ein Update einspielen und das etwas sauberer machen ohne dass ein neuer Client herunter geladen werden muss. Nur ich weiß nicht recht wie ich das besser / sauberer in meinem Quellcode organisieren soll.

Hier noch ein Screenshot der Steinturbine in Aktion. Weitere Details zu den neuen Funktionen gibts auf itch.io. Hier will ich mehr auf das Programmiertechnische eingehen.
2020_06_09_001.png
Grüße,
LONy
Benutzeravatar
marcgfx
Establishment
Beiträge: 1575
Registriert: 18.10.2010, 23:26

Re: [Projekt] Shardcraft (MMO-RTS) - alpha released

Beitrag von marcgfx »

Der Steinmetz benötigt aber auch etwas Stein und so ist es vorgekommen, dass man allen Stein verbaut hatte, bevor man einen Steinmetz hatte.
Das würde ich ganz schnell ändern. Es sollte nicht möglich sein, dass der Spieler festhängt weil er keine Möglichkeit mehr hat an Ressourcen zu kommen die eigentlich vorhanden sind. Macht doch wenig Sinn, der Steinmetz sollte seine Hütte doch selber bauen können oder nicht? :) Kannst es ja evtl. so lösen, dass es länger dauert, wenn man keinen Stein auf Vorrat hat?

edit: Ich gehe davon aus, dass man seine Gebäude auch verlieren kann. Wenn das nicht so ist und man auch nur einen einzigen Steinmetz braucht, dann geht deine Lösung absolut. Sonst könnte ja sein, dass man den Steinmetz verliert und zu wenig Stein hat um einen neuen zu bauen.
LONy
Establishment
Beiträge: 137
Registriert: 29.09.2011, 10:04

Re: [Projekt] Shardcraft (MMO-RTS) - alpha released

Beitrag von LONy »

Eine der nächsten Punkte auf meiner Todo Liste sind NPC-Händler bei denen man Wahren kaufen/verkaufen kann... so könnte man aus einer Sackgasse wieder heraus kommen.
Momentan gibt es keinen Kampf. Somit reicht momentan ein Steinmetz, und den Bau des Steinmetzes muss man auf jeden Fall starten, bevor man andere Gebäude bauen kann, die Viel Stein benötigen
Wie ich den Kampf mal umsetze weiß ich noch nicht. Das Spiel läuft ja ständig weiter. Ich habe mir überlegt, es langsam angehen zu lassen... z.B. wilde Tiere auf neuen Inselteilen. Man muss dann das Tier töten, bevor man das Inselteil an die Insel anfügt, sonst würde es die Inselbewohner anfallen (ähnlich wie die wilden Tiere in Age of Empires).
LONy
Establishment
Beiträge: 137
Registriert: 29.09.2011, 10:04

Re: [Projekt] Shardcraft (MMO-RTS) - alpha released

Beitrag von LONy »

Ich arbeite an der Begrenzung des "Noob Gebiets". Hier wird es keine oder nur eingeschränkte Kämpfe gegen leichte NPCs geben (um sich mit dem Kampfsystem vertraut zu machen). So kann sich jeder in Ruhe aufbauen. Zur Begrenzung gibt es eine Felsformation und in der Mitte jeweils ein großes Tor. Im späteren Spielverlauf sollen die Spieler durch lösen von Aufgabe die Tore öffnen können um dann eine größere Spielwelt erkunden zu können mit neuen Rohstoffen und Gebäuden.

Momentan will ich nur vermeiden, dass ein Spieler mit seinem Schiff irgend wo hin fliegt, wo es keine Inselteile gibt. Ist mir selbst schon beim Testen passiert und ich hab schon einen Bug im Shard Generator vermutet :D

Hier noch ein Screenshot von einem Tor (von außen):
2020_06_12_001.png
LONy
Establishment
Beiträge: 137
Registriert: 29.09.2011, 10:04

Re: [Projekt] Shardcraft (MMO-RTS) - alpha released

Beitrag von LONy »

Shardcraft 0.1.0 ist released.
https://lonytoon.itch.io/shardcraft/dev ... 10-release

Mit der neuen Version gibts ne neue Versionsprüfung auf Seite des Servers. Die Revisionsnummer spielt jetzt keine Rolle mehr. So kann ich kleine Updates einführen, ohne dass sich alle Spieler einen neuen Client herunterladen müssen.

Man kann nun einige Gebäude abreißen (momentan den Kran und das Lager) und bekommt 30% der Baukosten zurück. Es gibt ein neues Gebäude, den Kundschafter. Dieses Gebäude schaltet die Weltkarte frei.
Wenn man mit seinem Schiff oder der Insel herum fliegt, werden alle statischen NPC Objekte dauerhaft gespeichert (z.B. Grenze des Anfangsgebiets). Inseln anderer Spieler werden auch angezeigt, allerdings nur so lange diese in Sichtweite sind:
2020_06_21_001.png
Einige Spieler waren schon fleißig und haben schon recht große Inseln gebaut:
2020_06_21_002.png
Es gibt einen kleinen Chat, wodurch man mit allen Spielern die gerade auf dem Server online sind chatten kann.

Als nächstes möchte ich ein Gebäude "Diplomat" hinzu fügen. Mit dem Diplomanten soll es dann möglich sein zuerst einmal "Freundschaften" mit anderen Spielern zu schließen (Deren Inseln sind dann auf der Weltkarte dauerhaft sichtbar) und später auch das Beitreten in Allianzen bzw. das Gründen von Allianzen.
Ich möchte anfangen kleine Kämpfe gegen NPCs zu ermöglichen, die Zufällig am Rand der bisherigen Spielwelt auftauchen.
Auf der Todo Liste stehen auch weiterhin, dass man mit anderen Spielern und NPCs handeln kann und es soll ein Quest System geben, das am Anfang als Leitfaden gilt und später auch Coop Missionen enthält für kleine Teams von spielern...
LONy
Establishment
Beiträge: 137
Registriert: 29.09.2011, 10:04

Re: [Projekt] Shardcraft (MMO-RTS) - alpha released

Beitrag von LONy »

Ein kleines großes Update:
Da es sehr mühselig war die Nahrungsmittelaufnahme für die Inselbewohner einzubauen (etliche Statemachines die voneinander abhängen in verschiedenen Klassen z.B. die Gebäude für das der Arbeiter gerade arbeitet, den zustand wie viel Hunger der Arbeiter hat, die Verwaltung der Inselrohstoffe (Nahrung vorhanden?), was passiert wenn der Arbeite auf dem Weg ist etwas zu essen aber ein anderer Arbeiter kurz vorher die "letzte Mahlzeit" verspeist usw.) bin ich gerade dabei die Serverarchitektur grundlegend neu zu schreiben.

Prinzipiell ist die aktuelle Architektur nicht so schlecht und ich könnte wohl meine Klassen entrümpeln, sauberer trennen und versuchen Statemachines zusammen zu fassen (teilweise verhacken sie sich, Arbeiter bleiben stehen und tun nichts mehr). Aber wenn ich weitere Funktionen einbau, komm ich trozdem früher oder Später wieder an den Punkt, wo ich jetzt bin, dass ich sehr lange brauche um Kleinigkeiten zu Implementieren, weil ich viel zu viel Quellcode lesen muss um alle Abhängigkeiten zu berücksichtigen.

Also will ich jetzt ein Entity Component System implementieren. Momentan hab ich schon ne art Hybrid System. Server und Client kommunizieren ja komplett über Events. Nur meine klassen Untereinander kommunizieren ähm naja über Spagetticode - quick & dirty schnell zum Ziel ;)

Ich hab ein paar Speedtests gemacht und kann richtig schnell über Maps in Javascript meine Daten als Components der Entities organisieren. Es ist gerade dabei "klick" zu machen, wie ich meine Daten (Components) und Funktionen (Systems) organisieren muss und wie der Datenaustausch (Events) statt findet und welche Sprachmittel mir Javascript dafür bereit stellt damit das alles gut läuft :)

Die 10 Spieler warten zwar dringend auf neue Inhalte und sind hungrig nach mehr, aber da es sich komplett um Leute aus meinem Freundeskreis handelt müssen die sich jetzt etwas gedulden^^

Ich halte euch weiter auf dem Laufenden...
LONy
Establishment
Beiträge: 137
Registriert: 29.09.2011, 10:04

Re: [Projekt] Shardcraft (MMO-RTS) - alpha released

Beitrag von LONy »

Ich wollte mal wieder neben dem passiv im Forum mit lesen ein Lebenszeichen von mir geben ;)

In den letzten Wochen hab ich weiter am bzw. mit dem neuen Entity Component System gearbeitet. Momentan schreibe ich die Inselbewohner KI neu und mir gefällt der Code jetzt viel besser. Wahrscheinlich währe es auch ohne ECS möglich gewesen die Statemachine für die Inselbewohner aufzuräumen, mit fällt es mir aber einfacher. Evtl. denkt man über Problemstellungen anders nach.

Was ist neu unter der Haube?
Bisher hatte ein Inselbewohner einfach für jede Tätigkeit einen anderen State z.B.:
- zu Rohstoff laufen
- Rohstoff aufnehmen
- zurück zu Gebäude laufen
- Rohstoff verarbeiten
- ...

Jetzt gibt es nur noch 3 States: etwas tun / idle / laufen
Alles andere wird situationsabhängig der äußeren Umstände entschieden (hat der Arbeiter was in der Hand, wird das Gebäude gerade Gebaut,...).

Hier die momentane Logik eines Inselbewohners (wobei die sicherlich noch größer wird ;) )
Erstellt mit Microsoft Code...
Dateianhänge
2020_10_31_001.PNG
Antworten