Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Rushh0ur

Frischling

Beiträge: 67

Beruf: Student Elektrotechnik

  • Private Nachricht senden

31

28.08.2013, 23:41

Gibt es einen Grund dafür, dass Du nicht den QtCreator verwendest?

Der QtCreator su****, zumindest unter Windows. Extrem langsam und das Debuggen macht keinen Spaß. Da ist er mit VS besser bedient.

@Topic:
Interessantes Projekt und würde wohl auch mitarbeiten wohlen, hab aber momentan noch einige andere Dinge zu erledigen.
Der Editor sieht auch schon mal nicht schlecht aus. Mich stört nur das die GUI etwas chaotisch wirkt, versuch die Elemente ein wenig harmonischer zu positionieren.

Ansonsten schon daran gedacht das ganze mit der ScriptEngine von Qt zu untermahlen?

Mfg Rushh0ur

mint

Frischling

Beiträge: 23

Beruf: Softwareentwickler

  • Private Nachricht senden

32

29.08.2013, 08:25

Der QtCreator su****, zumindest unter Windows. Extrem langsam und das Debuggen macht keinen Spaß. Da ist er mit VS besser bedient.

Hm, ich weiß nicht was Du für einen Rechner hast, aber auf meiner alten Athlon X2 5000+ Gurke mit 2 GB RAM läuft der auch bei größeren Projekten absolut flüssig. Dafür spricht auch, dass man für ordentliches Refactoren keine Zusatzsoftware braucht wie bei Visual Studio, weil schon vieles mit Bordmitteln daherkommt. Eine Katastrophe mit Debuggen war mal, aber das ist schon eine ganze Weile her.

Zumindest wäre es gut, wenn er qmake's *.pro-Dateien verwenden würde. Eine von Qt's Stärken ist eben die tatsächlich vorhandene Plattformunabhängigkeit. *.pro Dateien lassen sich auf jedem System - sofern dort qmake vorhanden ist - einlesen und erzeugen dann plattformspezifische makes. Der richtige Weg wäre also pro-Dateien anzulegen und wenn er dann möchte, daraus die Visual-Studio-Projektdateien zu generieren.

33

29.08.2013, 11:26

Da das Projekt ursprünglich nicht auf Qt gesetzt hat, hatte ich eben VS genutzt. Als ich dann auf Qt umgestiegen bin, fande ich den Creator ein wenig überladen, und habe mir meine Widgets lieber per QDesigner zusammen geklickt. Mir ist vollkommen bewusst, das ich bisher sicherlich nicht alle Features voll nutze, liegt aber leider auch an meiner mangelnden Erfahrung. Wie ich schon beschrieben habe, ist das ganze ein Lernprojekt, und das mit den Makefiles muss ich eben noch lernen ;)
Für das Refactoring nutze ich Visual Assist X, welches mir innerhalb dieses Threads vorgestellt wurde.

@Rushh0ur
Die richtige Positionierung der Elemente wollte ich mir für den Release aufheben, da sich immer noch recht viel ändert. An für sich liegst du aber richtig..., es wirkt teilweise ein wenig chaotisch. Muss man sich eben mal ein paar Tage Zeit nehmen und das ganze GUI aufarbeiten (z.B. würde ich einige Sachen auch einfach auslagern).
Was würdest du denn genau mit der Qt ScriptEngine machen wollen? Hab da bisher auch wenig bis gar keine Erfahrung mit.

mfg

mint

Frischling

Beiträge: 23

Beruf: Softwareentwickler

  • Private Nachricht senden

34

29.08.2013, 19:07

Die Qt ScriptEngine ist eine ECMAScript-Engine (vielen bekannt als "JavaScript"). Das schöne daran ist, dass Du transparent dein C++-Programm mit ECMAScript verbinden kannst. Z.B. kannst Du Instanzen Deiner Klassen dem Interpreter verfügbar ("sichtbar") machen. Ruft man dann Methoden auf dem Skriptobjekt auf, dann werden nahtlos Routinen ausgeführt, die beispielsweise in C++ geschrieben sind. Man könnte so also ganze Spielabläufe skripten. Das Schöne ist halt, dass es vom Programmieraufwand her fast geschenkt ist und sich eben nahtlos mit dem restlichen Qt-Framework zusammenfügt.

35

29.08.2013, 20:31

Klingt interessant, muss ich mir auf jeden Fall mal angucken ;)
Der eigentlich Plan ist es, über den Launcher eine DLL zu laden, in der die ganzen Scripts stecken. Allerdings ist ein JavaScript wohl leichter in der Handhabung (kein kompilieren, etc), aber auch nicht so mächtig.

36

11.12.2013, 13:23

Um mich auch mal wieder zu melden, nein das Projekt ist nicht in der Versenkung verschwunden ;)
Ich arbeite seit einiger Zeit erneut am GameEditor, da mir manche GUIs zu umständlich waren. Zusätzlich wurde hinter den Kulissen ordentlich am Databasesystem geschraubt, sodass ich jetzt der Meinung bin, dass es meinen Ansprüchen genügt ;)
Letztendlich bin ich noch nicht auf dem Stand von vor der Sintflut, aber ich bewege mich in großen Schritten darauf zu. Man darf also darauf hoffen, dass es bald wirkliche Fortschritte zu vermelden gibt.
Jedoch, wie bereits gesagt, das Projekt lebt und das ist wohl erstmal die wichtigste Meldung.

mfg

37

16.12.2013, 23:31

Da ich gerade ein wenig zur Ruhe kommen möchte und auch wenig darüber nachdenken muss, wie es in nächster Zeit weiter gehen soll, versuche ich mal ein paar wesentliche Dinge nieder zuschreiben.
Ich arbeite immer noch am letzten Rewrite, und das ist auch gut so ;)
Ich habe innerhalb des Projekts einige Dinge verändert, die Verwaltung der Datenbank, und auch einige Klassennamen soweit angepasst, dass man sie nun auf einen Blick zuordnen kann, wohin sie eigentlich gehören.
Auch das UI wurde weitestgehend neu erstellt, und besitzt jetzt ein wenig mehr dynamic. In der letzten Version hatte ich eine eigene Variante eines Layout-Managers geschrieben, diesen habe ich hier nun komplett entfernt und mich in die QLayouts eingearbeitet. Das Ergebnis sind besser strukturierte UIs und weniger Verzerrungen beim Verändern der Größe.
Ebenso habe ich einige Feinheiten in Qt (die vll auch darüber hinaus gültig sind) kennen gelernt und die Zugriffe vom Frontend (UI) auf das Backend (Database) besser geregelt. Für die Database nutze ich jetzt so genannte Models, welche sich in bestimmte Widgets einfügen lassen, und das auch in mehrere zur selben Zeit. Dadurch fällt natürlich ein riesen Batzen Verwaltungsaufwand weg, welcher mich schon die ganze Zeit gestört hat.

Ich bin auf jeden Fall um ein paar Erfahrungen reicher (was ja praktisch auch eines der Ziele dieses Projekts ist) und im Großen und Ganzen auch mit dem Fortschritt zufrieden. Es sollte nun auch nicht mehr allzu lange dauern, bis ich den alten Stand tatsächlich wieder erreicht habe und neuen Horizont erstürmen kann ;)

mfg

38

24.12.2013, 21:07

Da ich in letzter Zeit ziemliche Konkurrenz zu bekommen scheine, mal wieder ein kleines Statement ;)

Ich beschäftige mich gerade intensiv mit dem MapEditor, welcher auch bald fertig gestellt sein sollte.
In der letzten Woche bis einschließlich heute, habe ich die meisten der MapEditor Module programmiert. Damit es auch mal wieder was zu sehen gibt, hier mal ein Screenshot.


(Link)


Wer sich die TileSelection genauer ansieht, der wird feststellen, dass es dort 2 verschiedene Rahmen gibt. Einen gelben und einen blauen. Diese stehen für die beiden Maustasten. Blau wird mit links selektiert, gelb mit rechts. Auf diese Weise versuche ich das Mapping ein wenig zu beschleunigen, da man direkt 2 Tiles auswählen kann, statt nur einem.
Es werden noch ein paar Veränderungen dazu kommen, vor allem bei der Tile Selection. Mir schwebt etwas experimentelles vor, was es genau wird, verrate ich erst später ;)
Jedenfalls das Grundlayout soll so bleiben wie es ist, bin bisher auch zufrieden.
Mappen kann man leider noch nicht, aber wie auch beim Rest, den Code gibt es, muss lediglich auf die weitreichenden Änderungen angepasst werden (und ein wenig refactoring erdulden).

Dann mal schöne Feiertage,

mfg

39

25.12.2013, 04:54

So, ich war die Nacht über echt fleißig (hat mich nicht mehr los gelassen ;)), sodass ich jetzt wirklich was zu zeigen haben.

Und zwar handelt es sich hierbei um das Brush Widget, über welches man steuern, kann welche Mapping Methode man verwenden möchte. Zusätzlich soll einem das momentane Tile, AutoTile oder TileSet angezeigt werden.
Jetzt hat mir die alte Version, vor dem großen Rewrite, überhaupt nicht gefallen. Sah einfach zu gequetscht aus. Also habe ich mich von anderen Programmen inspirieren lassen (hier Paint.Net) und bin auf die Idee gekommen das ganze einfach als Toolbox über das Programm zu setzen. Damit bleibt dem User die Freiheit, wohin er es schieben möchte, und es schluckt keinen wichtigen Platz.
Zusätzlich wird es auch transparent, wenn es keinen Focus mehr besitzt.

Hier mal 2 Screenshots:


(Link)

Der normale Modus


(Link)

Ohne Fokus

Welches Set man ausgewählt hat, steht übrigens in der TileBox des entsprechenden Brushes. Den Mapping Modus (einfacher Stift oder Farbeimer) lässt sich über das DropDown Menü unter der TileBox verändern.
Was haltet ihr davon?

40

27.12.2013, 16:55

Da ich gerade Lust habe mich zu profilieren, und es gerade wohl mega In ist Videos von seiner Arbeit zu verbreiten, hier auch mal ein Auszug aus meiner Hobbywerkstatt ;)
Das Video zeigt die grundlegenden Möglichkeiten, die einem mit dem MapEditor zur Verfügung stehen. Das platzieren der MapObjecte und der Script-Punkte fehlt jedoch noch.
Ich hoffe ich habe mit den Kommentaren alles wichtige erklärt, wenn nicht, einfach mal nachfragen.



mfg

Werbeanzeige