Showroom - Aktuelle Arbeiten und Projekte
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.
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.
- xq
- Establishment
- Beiträge: 1581
- Registriert: 07.10.2012, 14:56
- Alter Benutzername: MasterQ32
- Echter Name: Felix Queißner
- Wohnort: Stuttgart & Region
- Kontaktdaten:
Re: Showroom - Aktuelle Arbeiten und Projekte
Ja, aber das wird grade erst mal ein kleiner Test für die Production Line :P
Also wie geht man stilistisch vor?, wie setzt man die Engine um? Ich denke wir werden bei dem handgezeichneten Stil (also auf Papier und dann gescanned) bleiben, ich find das auch unkoloriert schon schick :)
Um mal ein wenig zu spoilern: Die Story soll an dem vorletzten Staffelfinale von Dr. Who angelehnt sein
Also wie geht man stilistisch vor?, wie setzt man die Engine um? Ich denke wir werden bei dem handgezeichneten Stil (also auf Papier und dann gescanned) bleiben, ich find das auch unkoloriert schon schick :)
Um mal ein wenig zu spoilern: Die Story soll an dem vorletzten Staffelfinale von Dr. Who angelehnt sein
War mal MasterQ32, findet den Namen aber mittlerweile ziemlich albern…
Programmiert viel in Zig und nervt Leute damit.
Programmiert viel in Zig und nervt Leute damit.
Re: Showroom - Aktuelle Arbeiten und Projekte
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
- Max Gooroo
- Establishment
- Beiträge: 341
- Registriert: 08.12.2012, 23:16
- Wohnort: Dresden
- Kontaktdaten:
Re: Showroom - Aktuelle Arbeiten und Projekte
Jetzt habe ich echt nochmal die Struktur neu modelliert, weil ich so ein model-noob bin, aber keine fleckige Stadt mehr haben wollte ...
vielleicht auch weil mir aus unerfindlichen Gründen langweilig war.
Aber Blut gibt es jetzt ein wenig, was ungemein wichtig ist :D
vielleicht auch weil mir aus unerfindlichen Gründen langweilig war.
Aber Blut gibt es jetzt ein wenig, was ungemein wichtig ist :D
- xq
- Establishment
- Beiträge: 1581
- Registriert: 07.10.2012, 14:56
- Alter Benutzername: MasterQ32
- Echter Name: Felix Queißner
- Wohnort: Stuttgart & Region
- Kontaktdaten:
Re: Showroom - Aktuelle Arbeiten und Projekte
Geil :D Nur ist mir das ein wenig zu viel Bloom und ein wenig zu wenig Blut :D
Du musst mal schauen, wie viel Aufwand es ist, ne richtige Ragdoll damit zu basteln, das sollte mit Unity relativ einfach gehen. Eventuell kann man auch nen Backface-Shader schreiben, welcher dir an den Rissstellen (die ja im Modell ein Loch wären) eine Fläche mit Gore hinzaubert :D
Du musst mal schauen, wie viel Aufwand es ist, ne richtige Ragdoll damit zu basteln, das sollte mit Unity relativ einfach gehen. Eventuell kann man auch nen Backface-Shader schreiben, welcher dir an den Rissstellen (die ja im Modell ein Loch wären) eine Fläche mit Gore hinzaubert :D
War mal MasterQ32, findet den Namen aber mittlerweile ziemlich albern…
Programmiert viel in Zig und nervt Leute damit.
Programmiert viel in Zig und nervt Leute damit.
- Max Gooroo
- Establishment
- Beiträge: 341
- Registriert: 08.12.2012, 23:16
- Wohnort: Dresden
- Kontaktdaten:
Re: Showroom - Aktuelle Arbeiten und Projekte
Immer diese Bloom Diskussion :D ...
Ich glaube ich mache einfach einen Michael Bay Haken und dann soll es jeder so machen, wie er will :P
Am Ende habe ich am Bloom aber gar nichts gemacht, sondern nur die Szene etwas heller gedreht, weil man auf Screenshots auf den üblichen Hellen Hintergründen immer eher wenig sieht.
Und ne richtige Ragdoll ist eigentlich ziemlich wenig Aufwand, ich habe nur noch keine eingebunden, weil Ich ja erst einmal die Stadt auf ein geeignetes Tileset bringen musste, was ne Schweinearbeit ist, wenn man es selbst machen muss :(
Naja ... erst ma gucken ... Ich denke ma Ragdoll oder Stadtdetail wird dann das nächste ... beides in etwa gleich wichtig.
Und das Blutgelumpe habe Ich ja sowieso auch wegen meinem "eigentlichen" Spiel gemacht, da Blut im Dungeon irgendwie noch fehlte.
Ich glaube ich mache einfach einen Michael Bay Haken und dann soll es jeder so machen, wie er will :P
Am Ende habe ich am Bloom aber gar nichts gemacht, sondern nur die Szene etwas heller gedreht, weil man auf Screenshots auf den üblichen Hellen Hintergründen immer eher wenig sieht.
Und ne richtige Ragdoll ist eigentlich ziemlich wenig Aufwand, ich habe nur noch keine eingebunden, weil Ich ja erst einmal die Stadt auf ein geeignetes Tileset bringen musste, was ne Schweinearbeit ist, wenn man es selbst machen muss :(
Naja ... erst ma gucken ... Ich denke ma Ragdoll oder Stadtdetail wird dann das nächste ... beides in etwa gleich wichtig.
Und das Blutgelumpe habe Ich ja sowieso auch wegen meinem "eigentlichen" Spiel gemacht, da Blut im Dungeon irgendwie noch fehlte.
- xq
- Establishment
- Beiträge: 1581
- Registriert: 07.10.2012, 14:56
- Alter Benutzername: MasterQ32
- Echter Name: Felix Queißner
- Wohnort: Stuttgart & Region
- Kontaktdaten:
Re: Showroom - Aktuelle Arbeiten und Projekte
Hier mal ein kleiner Screenshot und ein bisschen Snippets zu meinem Kram vom langen Wochenende:
Deklaratives UI Framework mit Layouting Engine für C#, OpenTK:
Layout-Code:
Interface-Skin-Code:
Deklaratives UI Framework mit Layouting Engine für C#, OpenTK:
Layout-Code:
Code: Alles auswählen
Widget
{
Panel(VerticalAlignment=Center, HorizontalAlignment=Center, Margin=16)
{
Table(Rows=4, Columns=3, Margin=16, Padding=8)
{
Button(Table.Row=0, Table.Column=0) {
Label(Text="1");
}
Button(Table.Row=0, Table.Column=1) {
Label(Text="2");
}
Button(Table.Row=0, Table.Column=2) {
Label(Text="3");
}
Button(Table.Row=1, Table.Column=0) {
Label(Text="4");
}
Button(Table.Row=1, Table.Column=1) {
Label(Text="5");
}
Button(Table.Row=1, Table.Column=2) {
Label(Text="6");
}
Button(Table.Row=2, Table.Column=0) {
Label(Text="7");
}
Button(Table.Row=2, Table.Column=1) {
Label(Text="8");
}
Button(Table.Row=2, Table.Column=2) {
Label(Text="9");
}
Button(Table.Row=3, Table.Column=0) {
Label(Text="*");
}
Button(Table.Row=3, Table.Column=1) {
Label(Text="0");
}
Button(Table.Row=3, Table.Column=2) {
Label(Text="#");
}
}
}
}
Code: Alles auswählen
Skin
{
Button : Style(Width=48, Height=48, Padding="4;0;0;10") {
Default : Texture(Source = "button-normal.png");
Hovered : Texture(Source = "button-hovered.png");
Active : Texture(Source = "button-clicked.png");
}
Label : Style(Font="kenvector_future.ttf", FontSize=24, FontColor=Black);
Panel : Style {
Default : TextureBox(EdgeWidth = 10) {
TopLeft : Texture(Source = "panel.png", Rect = "0;0;10;10");
TopRight : Texture(Source = "panel.png", Rect = "90;0;10;10");
BottomLeft : Texture(Source = "panel.png", Rect = "0;90;10;10");
BottomRight : Texture(Source = "panel.png", Rect = "90;90;10;10");
TopMiddle : Texture(Source = "panel.png", Rect = "10;0;80;10");
MiddleLeft : Texture(Source = "panel.png", Rect = "0;10;10;80");
MiddleRight : Texture(Source = "panel.png", Rect = "90;10;10;80");
BottomCenter : Texture(Source = "panel.png", Rect = "10;90;80;10");
Center : Texture(Source = "panel.png", Rect = "10;10;80;80");
}
}
}
War mal MasterQ32, findet den Namen aber mittlerweile ziemlich albern…
Programmiert viel in Zig und nervt Leute damit.
Programmiert viel in Zig und nervt Leute damit.
- xq
- Establishment
- Beiträge: 1581
- Registriert: 07.10.2012, 14:56
- Alter Benutzername: MasterQ32
- Echter Name: Felix Queißner
- Wohnort: Stuttgart & Region
- Kontaktdaten:
Re: Showroom - Aktuelle Arbeiten und Projekte
Kleiner Nachtrag zu obigem:
Habe mittlerweile Bindings vervollständigt, jetzt hat das das User Interface auch Interaktivität:
Die Attribute mit den eckigen Klammern sind Bindings, welche Werte aus einem ViewModel lesen oder auch zurückschreiben können.
Der Code-Behind für die gesamte UI-Logik sieht wie folgt aus:
Zudem habe ich ein Image-Widget implementiert:
Das Widget zeichnet im Moment ein Bild auf der vollen Größe des Widgets und wendet (noch) keine sinnvolle Skalierung an. Dafür ist der Code für einen neuen Widget-Typ durchaus kurz:
Habe mittlerweile Bindings vervollständigt, jetzt hat das das User Interface auch Interaktivität:
Die Attribute mit den eckigen Klammern sind Bindings, welche Werte aus einem ViewModel lesen oder auch zurückschreiben können.
Code: Alles auswählen
Widget
{
Panel(VerticalAlignment=Center, HorizontalAlignment=Center, Margin=16)
{
DockPanel(Margin=16) {
Panel(DockPanel.Dock=Top) {
Label(HorizontalAlignment=Left, Text=[DisplayText], Margin=10);
}
Table(Rows=4, Columns=3, Padding=8)
{
Button(Table.Row=0, Table.Column=0, Click=[Input1]) {
Label(Text="1");
}
Button(Table.Row=0, Table.Column=1, Click=[Input2]) {
Label(Text="2");
}
Button(Table.Row=0, Table.Column=2, Click=[Input3]) {
Label(Text="3");
}
...
Code: Alles auswählen
namespace Solid.UI.Demo
{
using System;
using System.ComponentModel;
public sealed class GameViewModel
{
private string displayText = "";
public event PropertyChangedEventHandler PropertyChanged;
public GameViewModel()
{
this.Input0 = new KeypadCommand(this, 0);
this.Input1 = new KeypadCommand(this, 1);
this.Input2 = new KeypadCommand(this, 2);
this.Input3 = new KeypadCommand(this, 3);
this.Input4 = new KeypadCommand(this, 4);
this.Input5 = new KeypadCommand(this, 5);
this.Input6 = new KeypadCommand(this, 6);
this.Input7 = new KeypadCommand(this, 7);
this.Input8 = new KeypadCommand(this, 8);
this.Input9 = new KeypadCommand(this, 9);
}
private void InputNumber(int number)
{
Console.WriteLine("Input: {0}", number);
this.DisplayText += number.ToString();
}
public string DisplayText
{
get { return this.displayText; }
private set
{
this.displayText = value;
this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(DisplayText)));
}
}
public Command Input0 { get; private set; }
public Command Input1 { get; private set; }
public Command Input2 { get; private set; }
public Command Input3 { get; private set; }
public Command Input4 { get; private set; }
public Command Input5 { get; private set; }
public Command Input6 { get; private set; }
public Command Input7 { get; private set; }
public Command Input8 { get; private set; }
public Command Input9 { get; private set; }
private class KeypadCommand : Command
{
private readonly GameViewModel vm;
private int value;
public KeypadCommand(GameViewModel gameViewModel, int value)
{
this.vm = gameViewModel;
this.value = value;
}
public override void Execute() => this.vm.InputNumber(this.value);
}
}
}
Code: Alles auswählen
Button(Table.Row=3, Table.Column=2) {
Image(Source = "green_checkmark.png");
}
Code: Alles auswählen
namespace Solid.UI
{
using Solid.Layout;
public class Image : UIWidget
{
public static readonly SolidProperty SourceProperty = SolidProperty.Register<Image, Texture>(nameof(Source));
public override Size SizeHint => this.Source?.Size ?? base.SizeHint;
private TextureBrush brush = new TextureBrush();
protected override void OnDrawPreChildren()
{
base.OnDrawPreChildren();
var rect = GetClientRectangle();
if(this.Source != null)
{
this.brush.Texture = this.Source;
this.UserInterface.RenderBrush(this.brush, rect);
}
}
public Texture Source
{
get { return Get<Texture>(SourceProperty); }
set { Set(SourceProperty, value); }
}
}
}
War mal MasterQ32, findet den Namen aber mittlerweile ziemlich albern…
Programmiert viel in Zig und nervt Leute damit.
Programmiert viel in Zig und nervt Leute damit.
Re: Showroom - Aktuelle Arbeiten und Projekte
Ein Codefeld - etwa für's Adventure? :)
Bei mir waren auch UI-Tage, da nehme ich deinen Beitrag doch gleich mal zum Anlass.
Mein altes Framework eines Immediate Mode Gui habe ich über's lange Wochenende komplett neu aufgesetzt. Ursprünglich war es nur fürs Prototyping, um schnell ein paar Standard-Controls auf den Bildschirm zu bringen, inzwischen schafft es komplexe Layouts mit dynamischer Screenanpassung und nested Controls/Apps, alles mit möglichst wenig Definitions-Overhead. Layout vs. Funktion wird getrennt (was bei Im-Guis ja normalerweise nicht der Fall ist), kommt trotzdem ohne Binding aus.
Damit bin ich auch komplett weg von der Flash-Anzeigeliste und Events, alles passiert auf einem einzigen transparenten Bitmap und rechteckigen Hotspot-Bereichen. Nur die Text-Renderengine benutze ich noch im Hintergrund zum Beschriften, wird aber auch aufs Bitmap gerendert.
Fehlt noch Skinning, war aber jetzt nicht Prio. Ein paar Bugs sind zwar noch drin und es fehlt auch noch einiges, aber läuft, wird auch bei komplexeren Oberflächen nicht zum Bottleneck und stört sich nicht mit GPU-Bereichen.
Das Codefeld habe ich zum Vergleich mal nachgebaut, sieht dann bei mir so aus:
Layout:
Funktion:
Aussehen:
swf:
Hier nochmal eingebunden in eine etwas komplexere (sinnfreie) Testumgebung mit Flex-Layout und weiteren mehrfach verschachtelten Apps. Dabei sind die Nummerntasten des obigen Pads testweise ebenfalls flexibel, während andere Element feste Höhen haben, das kann man mischen.
Bei mir waren auch UI-Tage, da nehme ich deinen Beitrag doch gleich mal zum Anlass.
Mein altes Framework eines Immediate Mode Gui habe ich über's lange Wochenende komplett neu aufgesetzt. Ursprünglich war es nur fürs Prototyping, um schnell ein paar Standard-Controls auf den Bildschirm zu bringen, inzwischen schafft es komplexe Layouts mit dynamischer Screenanpassung und nested Controls/Apps, alles mit möglichst wenig Definitions-Overhead. Layout vs. Funktion wird getrennt (was bei Im-Guis ja normalerweise nicht der Fall ist), kommt trotzdem ohne Binding aus.
Damit bin ich auch komplett weg von der Flash-Anzeigeliste und Events, alles passiert auf einem einzigen transparenten Bitmap und rechteckigen Hotspot-Bereichen. Nur die Text-Renderengine benutze ich noch im Hintergrund zum Beschriften, wird aber auch aufs Bitmap gerendert.
Fehlt noch Skinning, war aber jetzt nicht Prio. Ein paar Bugs sind zwar noch drin und es fehlt auch noch einiges, aber läuft, wird auch bei komplexeren Oberflächen nicht zum Bottleneck und stört sich nicht mit GPU-Bereichen.
Das Codefeld habe ich zum Vergleich mal nachgebaut, sieht dann bei mir so aus:
Layout:
Code: Alles auswählen
override public function build(parent:String):void {
surface.divide(parent, "v", "numpad app:area/title-|display:title.|a.|b.|c.|d.");//vertical
surface.divide("a", "h", "1:nbt.|2:nbt.|3:nbt.");
surface.divide("b", "h", "4:nbt.|5:nbt.|6:nbt.");
surface.divide("c", "h", "7:nbt.|8:nbt.|9:nbt.");
surface.divide("d", "h", "X:xbt.|0:nbt.|#:xbt.");
}
Code: Alles auswählen
override public function handle(spot:Hotspot):void {
if(spot.click){
if (spot.type == "nbt"){//number button
msg="";//clear message
if(code.length < 4)code += spot.name;//add number to code
}
if (spot.name == "#") msg = (code.length==4?"WRONG CODE":"NEED 4 NUMBERS");//enter
if (spot.name == "X")code = "";//clear
}
if (spot.name == "display") spot.caption = (code == ""?"[ENTER CODE]":msg+"\n"+code);//display
if (spot.type == "nbt" || spot.type=="xbt")spot.type = "area/button/title";//prepare for default rendering
}
swf:
- xq
- Establishment
- Beiträge: 1581
- Registriert: 07.10.2012, 14:56
- Alter Benutzername: MasterQ32
- Echter Name: Felix Queißner
- Wohnort: Stuttgart & Region
- Kontaktdaten:
Re: Showroom - Aktuelle Arbeiten und Projekte
Ich spüre eine gewisse Konkurrenz :P Ne Spaß, sieht relativ gut aus, aber die Usability und Readability finde ich bei dir etwas gering, ich hab ne ganze Weile gebraucht, um zu verstehen, was genau die Codezeilen beim Erstellen eigentlich machen...
Ich bin gespannt, wie sich das letzte komplexe Feature auf die Usability auswirkt: Templating für List Items und ähnliches. Die Widgets bekommen eine Option, die Kinder an eine Collection zu binden, wobei für jedes Collection-Objekt ein Kind aus einem Template erzeugt wird.
Wenn das gut klappt, kann ich anfangen, mein Adventure auf die neue GUI zu portieren.... :)
Ich bin gespannt, wie sich das letzte komplexe Feature auf die Usability auswirkt: Templating für List Items und ähnliches. Die Widgets bekommen eine Option, die Kinder an eine Collection zu binden, wobei für jedes Collection-Objekt ein Kind aus einem Template erzeugt wird.
Wenn das gut klappt, kann ich anfangen, mein Adventure auf die neue GUI zu portieren.... :)
War mal MasterQ32, findet den Namen aber mittlerweile ziemlich albern…
Programmiert viel in Zig und nervt Leute damit.
Programmiert viel in Zig und nervt Leute damit.
Re: Showroom - Aktuelle Arbeiten und Projekte
Klar muss einem das so vorkommen, einmal ist "-:|/.|-" etc. eine selbstentwickelte responsive Layoutsprache die sich nicht gerade vom Anschauen erklärt, und zum anderen ist der Umgang mit Immediate Mode (IM) eine ganz andere Philosophie als mit handfesten Control-Objekten.
Beides hat sich für mich aber längst bewährt, ist gerade bei komplexeren Layouts am wenigsten sperrig zu schreiben, gut zu warten, ich kann es auch nach Monaten Pause noch lesen, und IM lässt sich gerade für's Prototyping mal eben schnell überziehen um Objekte direkt zu manipulieren und auch genauso schnell wieder spurlos entfernen, ohne dass man sich um eventuelle DeepLinks, verwaiste Eventhandler u.a. kümmern muss (habe da in der Vergangenheit schon einiges ausprobiert).
Beides hat sich für mich aber längst bewährt, ist gerade bei komplexeren Layouts am wenigsten sperrig zu schreiben, gut zu warten, ich kann es auch nach Monaten Pause noch lesen, und IM lässt sich gerade für's Prototyping mal eben schnell überziehen um Objekte direkt zu manipulieren und auch genauso schnell wieder spurlos entfernen, ohne dass man sich um eventuelle DeepLinks, verwaiste Eventhandler u.a. kümmern muss (habe da in der Vergangenheit schon einiges ausprobiert).
- xq
- Establishment
- Beiträge: 1581
- Registriert: 07.10.2012, 14:56
- Alter Benutzername: MasterQ32
- Echter Name: Felix Queißner
- Wohnort: Stuttgart & Region
- Kontaktdaten:
Re: Showroom - Aktuelle Arbeiten und Projekte
Ich muss hier nochmal zum Verständnis nachhaken:
Immediate Mode wäre Unitys OnGUI. Ich zeichne die GUI, prüfe gleichzeitig auf Events und führe die Befehle bei Bedarf aus. Und das mach ich, solange ich die GUI sehen will, wenn ich nichts aufrufe, sehe ich nichts?
Immediate Mode wäre Unitys OnGUI. Ich zeichne die GUI, prüfe gleichzeitig auf Events und führe die Befehle bei Bedarf aus. Und das mach ich, solange ich die GUI sehen will, wenn ich nichts aufrufe, sehe ich nichts?
War mal MasterQ32, findet den Namen aber mittlerweile ziemlich albern…
Programmiert viel in Zig und nervt Leute damit.
Programmiert viel in Zig und nervt Leute damit.
Re: Showroom - Aktuelle Arbeiten und Projekte
Ja, das hört sich ganz danach an.
Hier war der Thread der mich dazu inspiriert hatte (2104, von CodingCat): http://zfx.info/viewtopic.php?f=7&t=3317&p=41788
Im dritten Post kann man erahnen, dass ich den IM-Ansatz nunmehr seit gut 2 Jahren nutze :)
Ich mache da allerdings einen mehrfachen Pass, sonst geht das mit responsiven Layouts nicht (d.h. Größe/Position des ersten Buttons kann auch von späteren Elementen noch beeinflusst werden) - das ist aber eine eigene Geschichte.
Das zentrale und direkte Prinzip der Objektmanipulation bleibt aber dasselbe.
Hier war der Thread der mich dazu inspiriert hatte (2104, von CodingCat): http://zfx.info/viewtopic.php?f=7&t=3317&p=41788
Im dritten Post kann man erahnen, dass ich den IM-Ansatz nunmehr seit gut 2 Jahren nutze :)
Ich mache da allerdings einen mehrfachen Pass, sonst geht das mit responsiven Layouts nicht (d.h. Größe/Position des ersten Buttons kann auch von späteren Elementen noch beeinflusst werden) - das ist aber eine eigene Geschichte.
Das zentrale und direkte Prinzip der Objektmanipulation bleibt aber dasselbe.
- xq
- Establishment
- Beiträge: 1581
- Registriert: 07.10.2012, 14:56
- Alter Benutzername: MasterQ32
- Echter Name: Felix Queißner
- Wohnort: Stuttgart & Region
- Kontaktdaten:
Re: Showroom - Aktuelle Arbeiten und Projekte
Ja, ich denke, wir haben auch völlig unterschiedliche Einsatzzwecke. Ich finde, bei so immediate mode UIs hat man halt doch einen höheren aufwand bei der erstellung und ist imho auch nicht so superflexibel im neu anlegen oder objekte verschieben (hängt natürlich auch stark von der verwendeten API der UI ab).
Bei mir ist es jetzt auf jeden Fall möglich, Binding Sources neu zu binden, damit kann ich jetzt mit großen Schritten auf ein Template-System zulaufen
Bei mir ist es jetzt auf jeden Fall möglich, Binding Sources neu zu binden, damit kann ich jetzt mit großen Schritten auf ein Template-System zulaufen
War mal MasterQ32, findet den Namen aber mittlerweile ziemlich albern…
Programmiert viel in Zig und nervt Leute damit.
Programmiert viel in Zig und nervt Leute damit.
Re: Showroom - Aktuelle Arbeiten und Projekte
Das ist eines meiner aktuellen Projekte. Ein kleiner Platformer bzw. Labyrinthspiel im klassischen 2.5D-Iso-Look. Die Basislogik ist gemacht, im Moment mache ich mir Gedanken über Sammelobjekte, Schalter etc., mal sehen wozu ich Lust habe und wie lange ich durchhalte. Aktuell gibt es nur verschiedenfarbige Pillen (die große blaue ist der Spieler) und als Levelelement nur Würfel in verschiedenen Grautönen, mit irgendwas muss man ja anfangen. Und heute mal ein Platzhalterbild als BG platziert, um zu sehen wie sich das Ganze als Space-Theme macht. Der spartanisch-abstrakte Level-Look gefällt mir irgendwie.
Mein UI ist aktuell auch hier im Einsatz: Ein kleiner, mit den jeweils zu testenden Features mitwachsender Leveleditor, um ein paar Testlevel direkt im Game-Modus anhalten, Dinge umplatzieren, Parameter verändern und die Auswirkungen testen zu können.
Nein, das UI ist hier nicht wirklich hübsch, aber funktional und unkompliziert anzupassen. Lässt sich auch skinnen, also am Ende auch Ingame-tauglich. Brauche dann nur einen neuen Textrenderer.
Ein größerer Levelausschnitt. Das ZFX-Logo lässt bei genauerem Hinsehen grüßen ;)
Sich in einer Escher-Realität bewegen und immer wieder umdenken müssen ist beim Gameplay eine der Herausforderungen.
Hört sich reißerischer an als es ist, und wahrscheinlich überfordere ich den Spieler wiedermal gnadenlos. Egal, Hauptsache experimental und mir macht's Spaß und ich hab was zu tun ;)
Re: Showroom - Aktuelle Arbeiten und Projekte
@joeydee: sieht cool aus. ich nehme an die escher-realität hat nicht nur kosmetischen einfluss, ich frage mich nur grad wie es funktioniert :)
kann die welt gedreht werden? hätte dieses projekt keinen eigene thread verdient?
kann die welt gedreht werden? hätte dieses projekt keinen eigene thread verdient?
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: Showroom - Aktuelle Arbeiten und Projekte
Ich finde auch das es cool aussieht...und die Idee finde ich auch interesant.
Mich würde nur mal so rein aus neugier interessieren was du für Werkzeuge/Libs/Sprache und so benutzt...
Mich würde nur mal so rein aus neugier interessieren was du für Werkzeuge/Libs/Sprache und so benutzt...
Re: Showroom - Aktuelle Arbeiten und Projekte
@marcgfx: ja, kann gedreht werden :) Irgendwann gibts sicher mal eine Demo, und falls ich tatsächlich regelmäßig dranbleibe auch einen eigenen Thread.
@joggel: Das Ganze läuft als AIR-Anwendung, Sprache ist AS3, als Entwicklungsumgebung FlashDevelop (hat prinzipiell nichts mehr mit der Adobe Flash-IDE und Timeline-Animationen zu tun, nur die Basis-API ist dieselbe). Zielplattformen sind erstmal Desktop Windows und Mac OSX.
Inzwischen benutze ich nur noch die nötigsten Flash-eigenen API-Klassen, die eigentliche Funktionalität basiert auf einem über die Jahre selbstentwickelten Framework, das ich vor kurzem generalüberholt habe. Dazu gehören inzwischen eine Immediate-UI, eine GPU-Schnittstelle welche die LowLevel-API kapselt (welche etwa auf dem Stand von OGL ES 2 ist), eine 3D-Mathelib, Timing, File-/Asset-Funktionen etc. - alles gerade nur so weit entwickelt wie es unbedingt sein muss.
@joggel: Das Ganze läuft als AIR-Anwendung, Sprache ist AS3, als Entwicklungsumgebung FlashDevelop (hat prinzipiell nichts mehr mit der Adobe Flash-IDE und Timeline-Animationen zu tun, nur die Basis-API ist dieselbe). Zielplattformen sind erstmal Desktop Windows und Mac OSX.
Inzwischen benutze ich nur noch die nötigsten Flash-eigenen API-Klassen, die eigentliche Funktionalität basiert auf einem über die Jahre selbstentwickelten Framework, das ich vor kurzem generalüberholt habe. Dazu gehören inzwischen eine Immediate-UI, eine GPU-Schnittstelle welche die LowLevel-API kapselt (welche etwa auf dem Stand von OGL ES 2 ist), eine 3D-Mathelib, Timing, File-/Asset-Funktionen etc. - alles gerade nur so weit entwickelt wie es unbedingt sein muss.
- Trommelfell.mb
- Beiträge: 50
- Registriert: 09.01.2015, 10:51
- Kontaktdaten:
Re: Showroom - Aktuelle Arbeiten und Projekte
joeydee hat geschrieben:@marcgfx: ja, kann gedreht werden :) Irgendwann gibts sicher mal eine Demo, und falls ich tatsächlich regelmäßig dranbleibe auch einen eigenen Thread.
@joggel: Das Ganze läuft als AIR-Anwendung, Sprache ist AS3, als Entwicklungsumgebung FlashDevelop (hat prinzipiell nichts mehr mit der Adobe Flash-IDE und Timeline-Animationen zu tun, nur die Basis-API ist dieselbe). Zielplattformen sind erstmal Desktop Windows und Mac OSX.
Inzwischen benutze ich nur noch die nötigsten Flash-eigenen API-Klassen, die eigentliche Funktionalität basiert auf einem über die Jahre selbstentwickelten Framework, das ich vor kurzem generalüberholt habe. Dazu gehören inzwischen eine Immediate-UI, eine GPU-Schnittstelle welche die LowLevel-API kapselt (welche etwa auf dem Stand von OGL ES 2 ist), eine 3D-Mathelib, Timing, File-/Asset-Funktionen etc. - alles gerade nur so weit entwickelt wie es unbedingt sein muss.
Biiiitteee lass es so werden wie Kula World (vom Spielprinzip), das ist einer meiner Ps1 Lieblingsspiele!!!!!
[youtube]Ol1usmZs9r8[/youtube]
Wenn du Musik brauchst ich bin dabei ;-) (auch wenn nicht, bin dein Fan ;-))
Re: Showroom - Aktuelle Arbeiten und Projekte
Wegen Musik hatte ich tatsächlich schon angedacht dich zu fragen, daher danke für das Angebot :) dauert aber noch eine Weile bis ich mich darum kümmern kann.
Im Vergleich zu Kula: es wird natürlich nicht Ego-3D, die Ansicht bleibt 2.5D und das Bewegungsprinzip ist etwas anders. Aber prinzipiell auf Würfelbalken entlangrollen, Wege finden, Sachen sammeln, damit Hindernisse freischalten und Levelausgänge finden - ja, so irgendwas wird's wohl werden :)
Im Vergleich zu Kula: es wird natürlich nicht Ego-3D, die Ansicht bleibt 2.5D und das Bewegungsprinzip ist etwas anders. Aber prinzipiell auf Würfelbalken entlangrollen, Wege finden, Sachen sammeln, damit Hindernisse freischalten und Levelausgänge finden - ja, so irgendwas wird's wohl werden :)
- Trommelfell.mb
- Beiträge: 50
- Registriert: 09.01.2015, 10:51
- Kontaktdaten:
Re: Showroom - Aktuelle Arbeiten und Projekte
joeydee hat geschrieben:Wegen Musik hatte ich tatsächlich schon angedacht dich zu fragen, daher danke für das Angebot :) dauert aber noch eine Weile bis ich mich darum kümmern kann.
Im Vergleich zu Kula: es wird natürlich nicht Ego-3D, die Ansicht bleibt 2.5D und das Bewegungsprinzip ist etwas anders. Aber prinzipiell auf Würfelbalken entlangrollen, Wege finden, Sachen sammeln, damit Hindernisse freischalten und Levelausgänge finden - ja, so irgendwas wird's wohl werden :)
Es muss nicht 3d sein :-) es geht nur ums ruhige Kugel schieben ;-) sammeln und lösen.
Also wennst willst mach ich dir die Muse, wenn es soweit ist → sag bescheid ← (ein paar Monate für "finale" sachen werd ich schon brauchen).
Lg Matz
Re: Showroom - Aktuelle Arbeiten und Projekte
Mach ich :) Ich muss mir erst über den Stil klar werden den ich erreichen will, also in welche Richtung das Polishing gehen wird. Sonst kann ich nicht beurteilen ob die Muse passt oder nicht. Ich habe da auch keine Deadline.
Hier noch ein paar aktuelle Details:
Im Moment teste ich folgendes Spielprinzip auf Herz und Nieren: Es gibt verschiedenfarbige Pillen, die eingesammelt werden. Es gibt dazu passende Keystones; ein Keystone kann mit einer farblich passenden Pille aus dem Inventar freigeschaltet werden, ansonsten kann er nicht betreten werden. Läuft dann z.B. so ab: Der Weg zum Zielstein ist von insgesamt 6 blauen Keystones versperrt. Der Weg zum Levelbereich mit den blauen Pillen ist aber von zwei gelben Keystones versperrt. Also erst 2 gelbe Pillen finden, gelbe Keystones damit freischalten, dahinter 6 blaue Pillen sammeln, blaue Keystones freischalten, auf die Zielplattform wandern. Dieses Prinzip ist in den Grundzügen von "Descent" abgeschaut und passt hier sehr gut ins Konzept. Auf der ToDo-Liste sind noch weitere State-gesteuerte Ideen, vielleicht kommt davon noch zusätzlich was rein.
Daneben sind auch noch die typischen Boni angedacht, evtl. reine Punktemünzen, Sammelobjekte welche dann Bonuslevel freischalten usw.
Steuerung geht über Tasten oder wahlweise über Maus- oder Wischgesten.
Ein reines Puzzle-Game: Sterben kann man nicht, Gegner gibt es auch keine, und es sind auch keine zeitkritischen oder Geschicklichkeits-Moves gefordert. Prinzipiell kann es zwar "Dead Ends" geben, diese versuche ich aber beim Leveldesign zu vermeiden.
Hier noch ein paar aktuelle Details:
Im Moment teste ich folgendes Spielprinzip auf Herz und Nieren: Es gibt verschiedenfarbige Pillen, die eingesammelt werden. Es gibt dazu passende Keystones; ein Keystone kann mit einer farblich passenden Pille aus dem Inventar freigeschaltet werden, ansonsten kann er nicht betreten werden. Läuft dann z.B. so ab: Der Weg zum Zielstein ist von insgesamt 6 blauen Keystones versperrt. Der Weg zum Levelbereich mit den blauen Pillen ist aber von zwei gelben Keystones versperrt. Also erst 2 gelbe Pillen finden, gelbe Keystones damit freischalten, dahinter 6 blaue Pillen sammeln, blaue Keystones freischalten, auf die Zielplattform wandern. Dieses Prinzip ist in den Grundzügen von "Descent" abgeschaut und passt hier sehr gut ins Konzept. Auf der ToDo-Liste sind noch weitere State-gesteuerte Ideen, vielleicht kommt davon noch zusätzlich was rein.
Daneben sind auch noch die typischen Boni angedacht, evtl. reine Punktemünzen, Sammelobjekte welche dann Bonuslevel freischalten usw.
Steuerung geht über Tasten oder wahlweise über Maus- oder Wischgesten.
Ein reines Puzzle-Game: Sterben kann man nicht, Gegner gibt es auch keine, und es sind auch keine zeitkritischen oder Geschicklichkeits-Moves gefordert. Prinzipiell kann es zwar "Dead Ends" geben, diese versuche ich aber beim Leveldesign zu vermeiden.
- CodingCat
- Establishment
- Beiträge: 1857
- Registriert: 02.03.2009, 21:25
- Wohnort: Student @ KIT
- Kontaktdaten:
Re: Showroom - Aktuelle Arbeiten und Projekte
Unity3D ist wirklich phänomenal funktional und ergonomisch mittlerweile. Insbesondere dass alles sofort per No-Bullshit-C#-Code mit minimalem Framework-Ballast zugreifbar ist, inklusive Editor-Erweiterungen, ist eine wahre Freude. So lässt sich tatsächlich nahezu ohne Einstiegshürde in ein paar produktiven Minuten am Tag mal eine Idee für einen prozeduralen Generator ausprobieren und per Editor steuern, ohne dass man sich um Asset Management oder überhaupt Rendering Gedanken machen müsste. Eine nette Abwechslung zum Beispiel wenn man mal wetterbedingt daheim hockt und gerade keine Lust auf Lichttransport hat. ;)
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
- CodingCat
- Establishment
- Beiträge: 1857
- Registriert: 02.03.2009, 21:25
- Wohnort: Student @ KIT
- Kontaktdaten:
Re: Showroom - Aktuelle Arbeiten und Projekte
Dass ich mal so viel Spaß mit Unity haben würde ... die ideale Beschäftigung zu mäßig interessanter berieselnder Abendunterhaltung zwischendurch ;)
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
- Krishty
- Establishment
- Beiträge: 8229
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Showroom - Aktuelle Arbeiten und Projekte
Diese stark gestreckten Dreiecke mit den abrupten Kanten in der Landschaft solltest du aber als erstes rausschmeißen!
Re: Showroom - Aktuelle Arbeiten und Projekte
Ich bastle derzeit ein wenig für die HTC Vive und entstanden ist u.A. ein Batman 60er VR-Kampfsimulator :)
[youtube]2q0vA_qcsxY[/youtube]
Als Engine wurde Unity genutzt und das SteamVR-Plugin verwendet.
[youtube]2q0vA_qcsxY[/youtube]
Als Engine wurde Unity genutzt und das SteamVR-Plugin verwendet.
- Krishty
- Establishment
- Beiträge: 8229
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Showroom - Aktuelle Arbeiten und Projekte
Geil, daraus könnte was werden!
Re: Showroom - Aktuelle Arbeiten und Projekte
sieht witzig aus! brauchst nur noch ragdoll physik und es wird ein hit :D
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: Showroom - Aktuelle Arbeiten und Projekte
Habe ein bisschen mit Blender rumgespielt und im Hintergrund 6 Stunden lang rendern lassen:
Konkret arbeite ich ein bisschen an einer pbrtv2 Anbindung für Blender und da brauchte ich halt eine Testszene. Und da ich nicht zu viel Zeit aufs Modellieren verwenden wollte, habe ich zwei Würfel genommen und Modifier angewandt, bis es gut aussah. Der Rahmen ist einfach nur ein Wireframe-Modifier, das Dingsi ist eine Kombination aus Subsurf / Wireframe / Subsurf. Irgendwie hat es eine gewisse Eleganz, dass man mit dieser Kombination ein doch irgendwie komplexes Objekt aus einem Würfel erstellen kann...
Nun, gerendert ist es in Cycles, blaues Area-Light über der Szene, weißes Licht in dem Objekt. Das rote Material soll Glas sein, aber ich habe es nicht hinbekommen, dass man wirklich irgendwie durchgucken kann - war wie gesagt bloß schnell zusammen geklickt. Aber dank globaler Beleuchtung ist die Schattierung von dem Objekt nett und vor allen Dingen hat die ganze Szene einen rötlichen Schimmer und die direkten Schatten sind relativ weich (obwohl die Lampe in der Mitte ein Punktlicht ist!). Jetzt müsste ich es nur noch schaffen, die Szene mit pbrt ähnlich hübsch zu rendern, momentan ist das noch recht enttäuschend.
Konkret arbeite ich ein bisschen an einer pbrtv2 Anbindung für Blender und da brauchte ich halt eine Testszene. Und da ich nicht zu viel Zeit aufs Modellieren verwenden wollte, habe ich zwei Würfel genommen und Modifier angewandt, bis es gut aussah. Der Rahmen ist einfach nur ein Wireframe-Modifier, das Dingsi ist eine Kombination aus Subsurf / Wireframe / Subsurf. Irgendwie hat es eine gewisse Eleganz, dass man mit dieser Kombination ein doch irgendwie komplexes Objekt aus einem Würfel erstellen kann...
Nun, gerendert ist es in Cycles, blaues Area-Light über der Szene, weißes Licht in dem Objekt. Das rote Material soll Glas sein, aber ich habe es nicht hinbekommen, dass man wirklich irgendwie durchgucken kann - war wie gesagt bloß schnell zusammen geklickt. Aber dank globaler Beleuchtung ist die Schattierung von dem Objekt nett und vor allen Dingen hat die ganze Szene einen rötlichen Schimmer und die direkten Schatten sind relativ weich (obwohl die Lampe in der Mitte ein Punktlicht ist!). Jetzt müsste ich es nur noch schaffen, die Szene mit pbrt ähnlich hübsch zu rendern, momentan ist das noch recht enttäuschend.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
https://jonathank.de/games/
Re: Showroom - Aktuelle Arbeiten und Projekte
wär noch spannend zu sehen wie es enttäuschend ausschaut ;) (und zu wissen wie lange es dafür rendert)
ich musste nach pbrtv2 googlen um halbwegs zu verstehen. was genau machst du?
ich musste nach pbrtv2 googlen um halbwegs zu verstehen. was genau machst du?
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space