ZweiDe
Übersicht

Gehe zu Seite Zurück 1, 2, 3 ... 14, 15, 16 ... 18, 19, 20 Weiter
AvaGast |
![]() Antworten mit Zitat |
|
---|---|---|
Sieht doch super aus. Der Frachter ist klasse! ![]() Und Du kommst auch mal ein bisschen weg vom Code, etwas Abwechslug. ![]() |
||
![]() |
Fetze |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke ![]() Habs mal texturiert und testweise eingebaut. Ingame: ![]() 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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Meine Bedenken wegen eventuell zu kleinem Stauraum sind verflogen. ![]() 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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Klasse Fetze - absolut Top* | ||
***************************
in Entwicklung: Tank Battles - Panzeraction Pacific Battles - Rundenstrategie abgeschlossenes Projekt: Harrier Assault |
![]() |
Fetze |
![]() Antworten mit Zitat ![]() |
---|---|---|
Heute 6 Stunden in die Choreographie eines Frachter-Ablebens gesteckt und jetzt recht zufrieden. Einige Eindrücke für euch:
![]() ![]() ![]() |
||
![]() |
Starwar |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wumm! ![]() 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 |
||
AvaGast |
![]() Antworten mit Zitat |
|
---|---|---|
Wuiiuuuiii, das fetzt! Sieht echt krass aus! ![]() |
||
![]() |
Fetze |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke ![]() Habe auf Anfrage eines interessierten Programmierers mal einen Artikel über das Partikelsystem in Nullpunkt geschrieben. Hier zu finden, Feedback erwünscht ![]() |
||
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Super Lektüre, thnx! | ||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
Skabus |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() |
aMulSieger des Minimalist Compo 01/13 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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. ![]() 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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Done:
![]() ![]() ![]() ![]() 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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 ![]() |
||
![]() |
Fetze |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bilderzeit!
![]() 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. ![]() Auch neu: Man kann jetzt bestimmte Objektkategorien explizit ausblenden, hier zum Beispiel ohne BgObjects. ![]() Gut daran demonstrierbar: Die neue Mehrfachauswahl. Man kann die gesamte Objektgruppe verschieben, um ihren gemeinsamen Mittelpunkt drehen, löschen oder klonen. ![]() 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. ![]() 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. ![]() Außerdem kann er das Script testweise kompilieren und zeigt dann ggf. Fehlerstellen direkt an. ![]() 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. ![]() 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. ![]() 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 ![]() |
||
![]() |
ComNik |
![]() Antworten mit Zitat ![]() |
---|---|---|
Boah richtig professionell oO
Sieht wirklich gut aus. lg ComNik |
||
WIP: Vorx.Engine |
Sliver |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group