1. Dezember
CD
icon1 admin | icon2 c + + , Motor , Design | icon4 12 1. Juli 2009 | icon3 Keine Kommentare »

Zuletzt ist zu mir gekommen, um hinzuzufügen, um den Motor der Konsole keine wypaśnej mit Tausenden von Befehlen und eine einfach zu bedienende Konsole anzeigen anmeldet. Nun, ohne die Applikation verlassen können die Protokolle aus dem Motor zu überprüfen. Darüber hinaus schriftlich eine Konsolen-Schriftart-Unterstützung gekommen ist. Ich war bei der Auswahl der geeigneten Momente für mich wundern. Die Wahl fiel auf insgesamt einfache Bitmap-Schriften und FreeType . Aber ich wählte FreeType daher, dass, wenn ich ein bisschen Bitmap-Schriften war, hängt von der Textur-Format Fonts, Bitmap-Schriften, die Erzeugung der verschiedenen Programme, ihre Durchführung zu unterscheiden war. Es war möglich, "zaprząść" xml ASCI-Codes in Verbindung mit einzelnen Buchstaben + ihre Koordinaten, aber dann habe ich wieder manuell bearbeiten alle die es nicht cool ist. FreeType ist nicht pink (zB "customowych" Schriftarten), aber in meinem Fall eher angebracht. Genau so einfach laden Sie eine TrueType-Schrift und ich kann es auf dem Bildschirm zu schreiben. Früher habe ich (Umsetzung FreeType'a Bibliothek ftgl http://sourceforge.net/projects/ftgl/ ). Ziemlich cool und leicht zu bedienen API, die als font Texturen, oder sogar als Mesh ziehen.

Eine weitere Neuheit, die in meinem Motor-Sound-Unterstützung ist. Hier habe ich die OpenAL. Die Bibliothek ist sehr schön (vor allem für OpenGL-Männer) zu implementieren, gut dokumentiert und wird hinter Creative'a. Ich schrieb ein kleines Wrapper für ihre eigenen Bedürfnisse, die WAV-y (OpenAL eine fertige Funktion zum Laden hat) unterstützt, und OGG. Support für OGG hatte er bereits geschrieben, aber es war fabelhaft einfach zu tun, so sind Tausende von Tutorials im Netz zu diesem Thema. Darüber hinaus konnte ich endlich (die zuvor noch nie geschrieben), eine 3D-Sound, die einen sehr coolen Effekt verleiht umzusetzen. Nach dem ersten Testergebnis, war ich angenehm überrascht. Hier achten wir auf kleine Details. Wie wird eines Tages umzusetzen OpenAL 3D-Audio, und man wird nicht funktionieren, stellen Sie sicher, dass die Sounds in Mono sind, weil Sie ein paar Stunden zu verlieren und ein Haufen von Nerven :)

Nicht lange werde ich versuchen, einige kurze technische Demko setzen zu machen.

August 1924
LUA in da house
icon1 admin | icon2 c + + , Motor , Software | icon4 08 24th, 2009 | icon3 7 Kommentare »

Nun konnte ich endlich, was ich für eine lange Zeit geplant, aber ich könnte nie abgeholt. Seit gestern habe ich eingesteckt lua'ą genießen. Dank ich endlich aus der Logik der Game-Engine getrennt. Ich schaffte es sogar auf die gesamte Logik des Spielers auf die Skripte und ein großer Teil des Motors umzuschreiben. Luabind schreibt hier sehr gut. Nur während der Termersetzungslogik erschien ein Problem, das im Gegensatz zu Menschen, die Argumente Skriptsprachen ist nämlich das Debuggen. Wenn es um das Schreiben von Skripts in der "sauberen" lua Debugging kommt, ist nicht wirklich ein Problem, aber wieder, als der Haken zum Beispiel, unsere eigenen Motor, wenn ein Problem auftritt. Glücklicherweise ist dies nicht so schlimm wie es aussieht. Mit Hilfe kommt, um uns ein Programm namens Decode ( http://www.unknownworlds.com/decoda ), der Debugger ist sehr nett lua. Das Programm ist vollständig grafische Applikation ("konsolówki" fuuuu), hat seinen eigenen ganz interessant Script-Editor (Einzüge, Syntax-Einfärbung und aufgefordert, etc), Projekt-Explorer, und was wir sind mehr daran interessiert, oder Debugger. Es hat Funktionen, wie: breakpoint'y, Call-Stack und der Ausgang ist, was am nötigsten ist. Das Prinzip der Operation ist sehr einfach, haben wir ein neues Projekt zur exe'ka in denen wir unsere Skripte, setzen die "working directory" Highlight zu erstellen, drücken Sie F5 (wo wir es .. weiß) und feuert unsere Anwendung, liest Decode sich die Skripte in daran gewöhnt und starten debuggen. Das gleiche Prinzip eines Debuggers ist wirklich so, dass wie in den bildenden, so ist es kein Problem mit dem Service.
Im Allgemeinen schätzen das Programm sehr positiv, ist das, was ich gesucht hatte, nun das Schreiben von Skripts ist viel einfacher. Eine interessante Tatsache ist, dass die Anwendung zu debuggen können Sie die Xbox360 und PS3-Konsolen. Leider ist die app ist nicht kostenlos, aber kein Betrag ist nicht so überraschend. Consolation ist der Preis, die auch in unserem Land nicht übermäßig ist. Indie-Lizenz kostet 50 US $, während die Lizenz "voll" ist bereits teurer und nicht so niedrig, weil die 400 Dollar, aber ich denke, dass für einen großen Teil der indischen Lizenz (für Firmen und Privatpersonen, deren jährliches Einkommen nicht mehr als $ 100k) ist ausreichend.

decoda
August 1921

Seit ich lebe in Stettin in den Abend habe ich einige Zeit, und ich kann wieder auf die Maschine zurückkehren. Als vor langer Zeit hatte es nicht ein wenig "poodkurzać sah. Ein guter Anfang, als der Motor wächst namespace'yi fügte ich einige Methoden, um const'owe vertauscht. Weiter verwandelte meine leciwą Sputtern und leichten (aber die Arbeit!) Serialisierung. Statt nun ein paar Methoden, habe ich beschlossen, um eine Überlastung der operator <<(Serialisierung) und>> (deserializacja), und dies ist ein kleines Archiv-Manager. Wie es funktioniert? Erstens, natürlich müssen wir eine Klasse erstellen archiwatora (wo ich schreibe / lese Daten) implementiert das Interface iArchive. Dann haben wir das Objekt dieses Archivs (natürlich der Manager darauf achten, nicht zu schaffen, zwei Mal das gleiche archiver'a). Jetzt sind wir bereit, es zu schreiben / lesen:

//serialize arch << someInt << someVector << someOther; //deserialize arch >> someInt >> someVector >> someOther; 

Darüber hinaus hat I der Scripting-Engine. Ich entschied mich für ein sehr beliebtes lua'e. Ehrlich gesagt die gleiche Syntax mehr Ich mag es, in der lua AngelScript sondern spricht von seiner Schnelligkeit und seiner Popularität unter gamedeveloperów. Um eine Verbindung lua'yz C + +-Bibliothek habe ich luabind, die sehr leicht ermöglicht es Ihnen, "zbindowanie" lua'y zu C + +. Nun, dank der die ganze Logik des Spiels wird mit dem Skript liegen, und man kann leicht ändern, ohne den Code neu zu kompilieren (auch durch Dritte).
Ich schaffte es auch einen Klasse Tastatur und Maus umgehen. Nun, in einer sehr einfachen und zugänglichen Art und Weise habe ich diese beiden Geräte an jedem Standort des Motors (und Skripte) zu unterstützen. Eingesteckt oder bereits Teil der PhysX-Technologie, dh Charakter Controler und Mesh Kochen, habe ich noch editor "zu erreichen," die physische Optionen für die Akteure.
Im Moment habe ich Feinabstimmung meanedżera Serialisierung, endlich komplett Einhaken Motor lua'y, Refactoring Fabrik-Klassen und die Klasse, um den Klang und schließlich werde ich in der Lage, den Renderer nehmen :)

Juli 1916
icon1 admin | icon2 c + + , Motor | icon4 07 16th, 2009 | icon3 1 Kommentar »

Hallo. Wieder leider in letzter Zeit vernachlässigt und haben lange devblog erscheint hier nicht, kein Kommentar. Ich will hier nicht wieder gelangweilt, daß der Mangel an Zeit und viele Klassen nur einmal, die Dinge zu kommen. Was hat sich in letzter Zeit passiert? Little los war, aber leider ist der Motor nicht auf große Fortschritte, was ich bedauere. Ich konnte nur schreiben, in dem Statistik-Fenster im Editor und Effekte manedżer postprocessingowych, ganz einfach, aber effektiv. Wie funktioniert es? Am Anfang, natürlich, müssen Sie einige Effekte hinzufügen. Um dies zu tun muss man tun, wenn wir eine Methode, um diesen Effekt und den Pfad zu dem Fragment-und Vertex-Programm. Etwa so:

m_postProcessing.Add ("Bloom", "data / Shader / test.vp", "data / Shader / test.fp");

Dann in der Render-Methode müssen Sie am Anfang: m_postProcessing.Begin () und am Ende fügen m_postProcessing.End (). Wie schalten keine Wirkung? Simply "zbindowac" Methode "Bind", deren einzige Argument ist der Name des Effekts. Das Fenster, das Sie auf dem Screenshot unten ist "sehr gut ergänzen", dh nach dem Hinzufügen von Effekten zu den Window-Manager selbst ist zaaktualizuję und Ergebnisse zeigen, und die Integration der Code ist minimal.

editor.jpg

Für weitere Neuigkeit ist ab August wahrscheinlich werde ich in eine neue Firma zu arbeiten, aber leider ziemlich weit von meinem Wohnort entfernt, aber es wird mein erster Job in gamedevie werden, aber das ist nicht zapeszać darüber schreiben im August, als wir alle sicher sein.