ZweiDe

Übersicht Sonstiges Smalltalk

Gehe zu Seite Zurück  1, 2, 3 ... 14, 15, 16 ... 18, 19, 20  Weiter

Neue Antwort erstellen

 

Ava

Gast

BeitragDi, März 30, 2010 4:38
Antworten mit Zitat
Sieht doch super aus. Der Frachter ist klasse! Smile
Und Du kommst auch mal ein bisschen weg vom Code, etwas Abwechslug. Wink *hehe*

Fetze

BeitragDi, März 30, 2010 21:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke Smile

Habs mal texturiert und testweise eingebaut. Ingame:
user posted image

Ist allerdings bisher bloß eine "Leere Hülle", in keinster Weise konfiguriert. Hab auch mal die Specular-Berechnung im Shader angepasst, kommt jetzt etwas besser zur Geltung.

mpmxyz

BeitragDi, März 30, 2010 21:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Meine Bedenken wegen eventuell zu kleinem Stauraum sind verflogen. Smile
Mal technische Fragen:
Was ist die Maximalanzahl an Lichtern in StarTrade2?
Wenn es mehr als die von den Shadern unterstützte Anzahl ist:
Wie suchst du die passenden Lichter heraus?
mfG
mpmxyz
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer

Fetze

BeitragDi, März 30, 2010 21:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Standardmäßig sind bis zu vier pro Objekt erlaubt, darunter das statische, direktionale Levellicht und drei dynamische Punktlichter.

Es gibt ein UpdateGrid (so eine Art QuadTree, aber flach / wie ein dynamisches, zweidimensionales Array), in das alle Lichter eingeordnet werden, so kann man sie sehr schnell auf Basis ihrer Position heraussuchen. Für jedes dynamisch beleuchtete Objekt suche ich also erstmal alle in der Nähe befindliche Lichter heraus. Wenn es mehr als drei sind, werden sie auf Basis ihrer Entfernung zum Objekt und Lichtstärke priorisiert und die drei für dieses Objekt wichtigsten ausgewählt.
 

vanjolo

BeitragMi, März 31, 2010 7:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Klasse Fetze - absolut Top*
***************************
in Entwicklung:
Tank Battles - Panzeraction
Pacific Battles - Rundenstrategie
abgeschlossenes Projekt: Harrier Assault

Fetze

BeitragSa, Apr 03, 2010 16:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Heute 6 Stunden in die Choreographie eines Frachter-Ablebens gesteckt und jetzt recht zufrieden. Einige Eindrücke für euch:
user posted imageuser posted imageuser posted image

Starwar

BeitragSa, Apr 03, 2010 16:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Wumm! Very Happy
Das will ich in bewegten Bildern! Sofort!
Sieht echt klasse aus! Weiter so!
(Wurde auch schon alles vor mir gesagt, aber das ist wirklich so toll, dass ich es nochmal erwähnen muss)
MFG
 

Ava

Gast

BeitragSa, Apr 03, 2010 17:33
Antworten mit Zitat
Wuiiuuuiii, das fetzt! Sieht echt krass aus! Very Happy

Fetze

BeitragMo, Apr 05, 2010 12:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke Very Happy

Habe auf Anfrage eines interessierten Programmierers mal einen Artikel über das Partikelsystem in Nullpunkt geschrieben. Hier zu finden, Feedback erwünscht Smile

ozzi789

BeitragMo, Apr 05, 2010 12:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Super Lektüre, thnx!
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Skabus

BeitragMo, Apr 05, 2010 13:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für den Artikel,Fetze!

Sehr interessant.Werd mir sicher mal das eine oder andere zu Herzen nehmen,
wenns soweit ist.


Weiter so!


MfG Ska
"In einer so verrückten Welt, kann man um in ihr zu überleben nur eines tun, nämlich eben jenes werden: Ein Verrückter!" -Selbstzitat

aktuelles Projekt: Aves Certim - Der Galgen ist nicht weit!
Ein SNES-RPG mit Handels- und Wirtschaftselemente.
Infos?Hier: http://www.blitzforum.de/worklogs/234/
Besucht meine Seite:
www.seelenfriedhof.de.vu

aMul

Sieger des Minimalist Compo 01/13

BeitragMo, Apr 05, 2010 13:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Kann mich nur anschließen.
Ist jetzt zwar keine Offenbarung, aber die Sache mit zwei/mehreren Partikelebenen war mir zum Beispiel neu.

Ansonsten ist der Artikel imho sehr gut geschrieben und die Zeit ihn zu lesen es auf alle Fälle wert.

Danke dafür. Smile


EDIT:

Was vielleicht interessant wäre, wenn du mehr auf die Wirkung und den Nutzen von Effekten(abgesehen von "ui, sieht cool aus") eingegangen wärst(aus der Gamedesign-Perspektive), aber das ist ja nicht der Fokus des Artikels gewesen.
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans!
Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver

Fetze

BeitragDi, Apr 06, 2010 18:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab mal wieder an der Steuerung herumgetweaked und ein kleines FLugassistenzsystem eingebaut, das aktiv wird, wenn man einen anvisierten Gegner verfolgt. Es greift einem nicht ins Lenkrad (lenkt also nicht in die richtige Richtung), dämpft aber vom Spieler ausgehende Lenksignale, die definitiv in die falsche Richtung zeigen. Die Assistenzstärke wird dynamisch variiert, je nach dem wie exakt die Spielsituation auf die für die Assistenz vorgesehene Situation passt.

Die bisherigen zwei Tester (Ich und meine Freundin) sind sich einig, dass es sich "irgendwie besser" fliegt. Die Steuerung bleibt anspruchsvoll, hat aber imho etwas an Frustfaktor verloren. Weiteres wird dann die nächste Alpha Demo zeigen müssen.

Fetze

BeitragDo, Apr 08, 2010 21:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Arbeite jetzt erstmal wieder am Editor, einer der Hauptvoraussetzungen für eine vernünftige erste Mission. Im Speziellen muss ich leider gerade eine Menge Zeit damit verbringen, MultiSelection einzubauen, die ich in geistiger Umnachtung bei der Erstkonzeption völlig vergessen hab, aber ihr Fehlen bremst den Workflow einfach zu sehr aus.

Danach stehen einige Usability-Tweaks an, zB. die Möglichkeit, Skripte direkt im Editor zu öffnen und bearbeiten und eventuell ein Test-Button der das Spiel im Fenstermodus startet und den aktuellen Level lädt. Playtesting direkt im Editor wäre zwar denkbar (Ist schließlich ein echtes "Fenster ins Spiel"), halte ich jedoch für keine gute Idee, da die Zahl möglicher Probleme den gewonnenen Mehrwert bei weitem übersteigt.

Schlussendlich gibts dann noch ne neue Objektkategorie, die sogenannten "Pivots". Ein Pivot ist im Grunde erstmal nur eine Position, die man im Editor wie ein Objekt herumschieben kann. Es wird jedoch diverse Ableitungen geben, die dann jeweils bestimmte Zusatzfunktionalität mitbringen, zum Beispiel Waypoints, CameraPivots oder ScriptPivots. Jeden Waypoint in letzter Konsequenz dann also mit einer eigenen Id zu versehen, wirkt zwar auf den ersten Blick etwas zu "mächtig", aber letztendlich ist das eine gute Möglichkeit zur Bearbeitung im Editor und macht die Sache etwas flexibler. Im Script könnte man einfach sagen: "Erstelle ein Geschwader Jäger an Pivot X und weise ihnen die Waypoints A, B und C zu". Wenn sich der Level räumlich ändert, muss man nur die entsprechenden Pivots auswählen und herumschieben und nicht tonnenweise Scripte und Objekteigenschaften ändern.

Fetze

BeitragFr, Apr 09, 2010 22:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Done:
Arrow MultiSelection in Objektbrowser, IngameView (Strg + Click / Dragbox) und Objekteigenschaften (Man kennt ja diese PropertyGrids, wenn sie mehrere Objekte gleichzeitig bearbeiten)
Arrow Interaktion mit mehreren Objekten: Gruppe herumschieben, Gruppe um ihr Zentrum rotieren, Gruppe löschen, Gruppe klonen
Arrow ScriptEditor: Scripte wie zB. das LevelScript lassen sich jetzt direkt im Editor bearbeiten, inklusive Test-Kompilation mit Fehleranzeige und Syntax-Highlighting.
Arrow "Run Level"-Menüpunkt, mit dem man vom Editor aus eine Instanz des Spiels in einem separaten Prozess starten kann und direkt zum Missionsbriefing des aktuell geladenen Levels gelangt.

Für den ScriptEditor verwende ich Scintilla.Net, eine ausgesprochen geniale und ausgesprochen unterdokumentierte Library für Code-Textboxen. Mit wenigen Zeilen war sie implementiert und kannte C#-Code, aber auch nach stundenlanger Arbeit ist es mir nicht gelungen, das Ding so zu konfigurieren wie ich es haben will. Ich habs jetzt im 50%-Fabrikneuen Zustand belassen, wenigstens Zeilennummerierung und Markierung von Fehlerzeilen hab ich hinbekommen. Falls jemand eine vernünftige Dokumentation für Scintilla.Net kennt: Her damit! Die offizielle Doku fürs Originalscintilla lässt sich nur sehr schwer auf die .Net-Version anwenden und ist zudem imho nur schlecht lesbar.

Anyway, soweit bin ich zufrieden mit dem Fortschritt. Als nächstes kommt wohl der BlueprintInspector, ein globaler Blueprinteditor, mit dem man alle registrierten Blueprints bearbeiten kann, für die es noch keine spezialisierten Editoren gibt. Dies wird natürlich nur eingeschränkt möglich sein, da das PropertyGrid nicht alle Daten von sich aus korrekt behandelt; der BlueprintInspector ist mehr eine permanente Übergangslösung, so dass man im Editor "schnell mal" nen neuen Projektiltyp erstellen oder nen existierenden klonen kann, auch wenns dafür noch keinen Editor gibt.

Danach kommt dann vermutlich diese Pivot-Geschichte, aber erstmal schauen, wie lange ich für den BlueprintInspector brauche.

Fetze

BeitragSo, Apr 11, 2010 18:46
Antworten mit Zitat
Benutzer-Profile anzeigen
So, Tageswerk mal wieder vollbracht. Konkret ist der "Blueprint Inspector" fertig, mit dessen Hilfe ich dann sämlichen existierenden Blueprints mal vernünftige Namen gegeben hab, sprich alle 118 existierenden Content-Datensegmente umbenannt. Dabei hat mir das automatische Umbenennen aller Referenzen im Editor nicht unwesentlich gute Dienste geleistet - alle Referenzen kann das Tool aber natürlich nicht umbenennen: Scriptdateien sind für den Editor hinsichtlich eventueller Objektreferenzen nicht eindeutig interpretierbar, hier muss ich also doch noch von Hand ran, so zum Beispiel im Levelscript.
A propos Script: DeathSequences habe ich mal über "echte" Skripte umgeleitet, da ich keinen Grund gesehen hab, neben dem vollwertigen Script auch noch eine abgespeckte und deutlich eingeschränkte "Miniversion" nur für diesen einen Zweck bereitzustellen. Ingame hat sich dadurch nichts geändert, aber eine DeathSequence sieht jetzt eben zum Beispiel so aus:

Code: [AUSKLAPPEN]

public static ScriptReturn DeathSeq0(Ship obj, ScriptEventArgs args)
{
   // Init
   ParticleEffectBlueprint explo    = BlueprintManager.Current.FindBlueprint<ParticleEffectBlueprint>("ParticleFxBP_ExploMedium1");
   ParticleEffectBlueprint debris    = BlueprintManager.Current.FindBlueprint<ParticleEffectBlueprint>("ParticleFxBP_DebrisHumanShip");
   // DeathSequence
   obj.NoControls = true;
   obj.DeathSeqCreateEffect(explo, 0, 0, 0.8f, 1.25f);
   obj.DeathSeqCreateEffect(debris, 0, 0, 0.8f, 1.25f);
   yield return new WaitTime(0.5d);
   obj.DeathSeqFadeOut();
   obj.NoScanTarget = true;
   yield return null;
}


Referenziert wird das Script dort, wo zuvor klobige Auflistungen von zu interpretierenden DeathSequence-Script-Einzelzeilen zu finden waren. Jetzt gibt man einfach Datei und Methodenname an und kann dort "richtig" scripten.

Next: Pivot-Geschichte (s.O.)

Fetze

BeitragMo, Apr 19, 2010 18:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Durch Studium und Co komme ich leider in letzter Zeit zu relativ wenig. Ich befasse mich derzeit hauptsächlich mit dem Editor und Core-Funktionalität im Hinblick auf die Umsetzung einer ersten echten Mission.

Die Pivot-Geschichte ist mittlerweile komplett fertig und funktioniert tadellos. Es gibt damit nun einen vernünftigen Weg, Wegpunkte für Schiffe zu setzen oder generell Referenzpunkte auf der Karte, die man später im Script verwenden kann - beispielsweise als "Position, an der zum Zeitpunkt X Verstärkungen auftauchen" oder sowas.

Darauf aufbauend bastle ich an Spline-Interpolierten Kamerafahrten durch ebensolche Pivots. Dafür wird das ScriptVars-Datensystem missbraucht, indem ich zu jedem Pivot zusätzliche Daten zum Kamerapfad ablege (Welcher kommt als nächstes, wie weich wird hier gerade interpoliert, etc.). Im Idealfall wird man die Interpolationskurve dann schön im Editor bestaunen können und sollte so durch WYSIWYG-Verhalten schöne Kamerafahrten erstellen können. Das tolle daran, dass Pivots als Referenzpunkte verwendet werden ist, dass diese auch relativ zu einem anderen Objekt stehen können: Man kann problemlos einen Pivot an ein Raumschiff, ein BgSprite oder ein abgefeuertes Projektil hängen und die Kamera weich in die Verfolgerperspektive schwenken lassen.

Leider stellt sich so langsam mal wieder das ein, was wohl jeder Programmierer kennt und vielen Hobbyprojekten schon den Todesstoß versetzt hat: Hackige Codewucherungen von Dingen, die ursprünglich zu klein waren, um Abstraktion oder eigene Logik zu rechtfertigen, dann aber unerwartet und ganz subtil immer weiter angewachsen sind und jetzt in Zahlen und Ausmaßen gestärkt meinen einst so schönen Quellcode verunstalten. Für Refactoring ist es in den meisten Fällen leider auch schon zu spät, da viele sich bereits tief im Code verwurzelt haben und ihr alle kennt ja die Ausspruch "Never change a running system". Jetzt werde ich wohl bis Projektende damit leben müssen. Das schlimme daran ist aber: Es ist je-des-mal so und scheint völlig unabhängig davon zu sein, wie ausgeklügelt das Enginekonzept anfangs ist. Seinerzeit war ich auch von der StarTrade-Engine sehr überzeugt, aber in drei Jahren kann sich viel tun. Ich habe mir jedem Projekt einen Schritt nach vorn gemacht, befürchte aber fast, dass es egal ist, wie weit vorne ich bin - das oben beschriebene Verhalten scheint sich einfach immer irgendwann einzustellen. Vielleicht ist genau das die Entropie des Codedesigns.

Naja, will euch nicht langweilen. Bis zum nächsten Post dann Wink

Fetze

BeitragDo, Apr 22, 2010 20:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Bilderzeit!

user posted image
Nach einem Doppelklick auf St2Editor.exe ploppt das Fenster hier auf und das SDK ist bereit. Neu hier zu sehen: Das Grid im IngameView, dessen Kästchengröße automatisch dem Kamerazoom angepasst wird.
user posted image
Auch neu: Man kann jetzt bestimmte Objektkategorien explizit ausblenden, hier zum Beispiel ohne BgObjects.
user posted image
Gut daran demonstrierbar: Die neue Mehrfachauswahl. Man kann die gesamte Objektgruppe verschieben, um ihren gemeinsamen Mittelpunkt drehen, löschen oder klonen.
user posted image
Extra für Camera Animations wird bei der Auswahl eines an einem Kamerapfad beteiligten Pivots der zugehörige Interpolations-Spline eingeblendet. Man kann also direkt beobachten, wie sich die Kamera-Animation verändert, wenn man die zugehörigen Referenzpunkte herumschiebt.
user posted image
Wählt man den Level aus und schaut in die Object Properties, steht da unter anderem auch das Levelscript. Ein Klick darauf öffnet den Scripteditor, in dem man eine Scriptdatei unter vorhandenen auswählen, neue erstellen und bearbeiten kann.
user posted image
Außerdem kann er das Script testweise kompilieren und zeigt dann ggf. Fehlerstellen direkt an.
user posted image
Als kleine Hilfe gibt es mit einem Klick auf das Infosymbol im Scripteditor eine komplette (Wenn auch lange nicht komplett kommentierte) Referenz zum Engine Core. Hier im Bild: Ein Ausschnitt der GameObject-Klassenmember.
user posted image
Der Blueprint-Inspector. Bisher taugt er nur zur Übersicht und zum systematischen Umenennen, aber eventuell wird man darin später auch Blueprint-Eigenschaften bearbeiten können.
user posted image
Zu guter letzt: Das ist der "Run Level"-Menüpunkt, mit dem man eine Instanz des Spiels starten kann, die direkt den gerade bearbeiteten Level lädt. Ist keiner geladen, kommt man eben normal ins Hauptmenü.


Alles in allem so die bildhafte Zusammenfassung meiner kommentarlosen letzten Tage Smile

ComNik

BeitragDo, Apr 22, 2010 20:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Boah richtig professionell oO
Sieht wirklich gut aus.

lg
ComNik
WIP: Vorx.Engine
 

Sliver

BeitragDo, Apr 22, 2010 22:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Was mich ein wenig stört an dem SDK-Screenshot ist, das deutsch und englisch gemische:

Open
Run Level
TestLevel2.ini speichern

Sonst super Arbeit!

Gehe zu Seite Zurück  1, 2, 3 ... 14, 15, 16 ... 18, 19, 20  Weiter

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group