Sonntag, 31. August 2008

Neuer Release von Spacer

Hallo liebe Leser,
ich habe vor einigen Minuten die releases für Spacer fertig gemacht.
Nun kann man sich den aktuellen Windows und Linux Client sowie den Quelltext von SourceForge.net saugen.

Leider musste ich noch einen Fehler im Linux Build finden.
Ob dieser Fehler, beim beenden des Spiels im Vollbildmodus bleibt der Bildschirm 800x600 und man kann die Maus nicht mehr nutzen, mein Verschulden ist oder ob es ein Fehler in der SDL für Unix/Linux ist, muss ich noch mit einigen Kollegen testen.

Ich werde in einer virtuellen Maschine den Fehler versuchen zu reproduzieren.
Sollte es klappen, kann ich genaueres heraus finden.

Anbei habe ich gINI erstmal wieder von Spacer getrennt.
Der Grund dafür ist einfach.
Ich nutze in der veralteten Version, die ich in Spacer eingebaut hatte, noch C Funktionen zum konvertieren der Strings in die primitiven Datentypen.
Dies werde ich nun mit C++ Klassen ala StringStreams machen.
Soweit funktioniert dies auch.
Ich muss nur noch Methoden bauen, die prüfen ob der String auch eine Zahl in form eines int, double oder float ist.

Mit freundlichen Grüßen



T-Virus

Mit freundlichen Grüßen



T-Virus

Mittwoch, 27. August 2008

gINI bekommt noch mehr Zeilen :)

Hallo liebe Leser,

jetzt habe ich gINI endlich Funktionstauglichkeit für Sektionen bekommen.
Leider noch nicht so ganz :)
Bei einer Sektion und nur einem Schlüssel geht das ja.
Aber ab 2 Sektionen mit den gleichen Schlüsseln geht es nicht mehr.

Auch werde ich gINI etwas erweitern.
So soll jeder die Möglichkeit bekommen, zu entscheiden ob die gesamte Datei eingelesen wird und somit nur einmalig geöffnet wird oder ob man die Datei für jede Abfrage von Werten öffnen muss.
Dies aber spart etwas Arbeitsspeicher was für Spieleentwickler bestimmt wichtiger ist, als für jemanden der eine kleine Anwendung schreibt :)

Aber somit ist ein guter Kompromiss gefunden :)
Entweder man nutzt es so oder so.
Und da gINI ja freie Software ist, kann man es auch bestimmt auf eine 3 Art umsetzen, die ich nicht kenne oder nutze.

Morgen sollte ich bestimmt einiges verbessern können.
Dann sollte auch das Problem mit den Sektionen verschwunden sein.

Mit freundlichen Grüßen



T-Virus

Dienstag, 26. August 2008

gINI bekommt noch ein paar Zeilen :)

Hallo liebe Leser,

ich habe eben wieder einige Zeilen bei gINI ausgebaut.
Nun ist die CConverter Klasse etwas ausgebaut.
Nun kann man Strings in die wichtigsten primitiven Typen und umgekehrt, konvertieren.
Lediglich für char muss ich noch was basteln.
Auch zum Thema unsigned/signed könnte man was bauen aber im Moment genügt das was da ist.
Dies muss ich auch noch ausbauen, da dies noch Fehleranfällig ist.

Desweiteren rückt der letzte Tag, des Monats immer näher und an Spacer hat sich leider weniger getan.
Dies liegt an meiner Arbeitzeit sowie meiner Lust nach der Arbeit.
Jeder kennt das sinkende Interesse an seinem Hobby wenn er einige Stunden auf Arbeit war :(

Ich werde spätestens am Samstag und Sonntag nochmal dran arbeiten, damit am Montagabend ein sauberer Release raus kommt.

Leider muss ich zu allem übel für die IHK Wochenbereichte schreiben.
Dies heißt noch weniger Zeit als bis jetzt schon :(
Somit wird auch ein Teil des Wochenendes nur zum schreiben von Wochenberichten drauf gehen.

Da ich in der Woche schon genug zu tun habe, werde ich dort wohl kaum Zeit haben, was zu schreiben.
Aber ich werde mal schauen, dass ich in der Woche auch einige Seiten schaffe, damit mein heiliges Wochenende nicht für das drauf geht :)

Mit freundlichen Grüßen



T-Virus

Montag, 25. August 2008

gINI Fortschritt.

Hallo liebe Leser und Entwickler,

ich habe grad noch etwas an gINI gebastelt.
Nun kann man die primitiven Typen ala int, double etc. sich mit mehren gleichnamigen aber überladenen Methoden holen.
So soll man sich einen der Typen mit folgenden Möglichkeiten holen.

1.Schlüssel
2.Schlüssel und Defaultwert.
3.Sektion und Schlüssel
4.Sektion, Schlüssel und Defaultwert.

Diese Varianten sollen aber später nur zur Verfügung stehen, wenn der Dateityp auch auf eine volle ini, also mit Sektionen oder auf eine einfache ini, ohne Sektionen, gesetzt ist.
Das werde ich die Tage mal zusammen bauen.
Solange läuft erstmal alles ohne Sektionen.

Auch werden die Defaultwerte noch nicht angelegt, wernn die Datei oder der Schlüssel nicht existieren.
Dafür habe ich ja bereits Methoden angelegt.
Ich werde das aber am Wochenende mal einbauen, damit gINI auch langsam ernsthaft nutzbar wird.
Auch die Sektionen sowie das Switchen der Methoden sollte ich einbauen.
Aber erstmal heißt es durch die Woche arbeiten ;)

Mit freundlichen Grüßen


T-Virus

Samstag, 23. August 2008

C++ und SDL Tutorials geplant

Hallo liebe Leser,

ich plane einige Tutorials mit C++ und SDL zu schreiben.
Dabei werde ich einiges zum Thema C++ Klassen und Strukturen erzählen.
Da ich nicht immer wieder die Basics aufgreifen möchte, sollten diverse C oder C++ Kenntnisse vorhanden sein.
Diese Tutorials knüpfen auch an die C Tutorials von Brügä an.
Somit kann ich meine C++ Kenntnisse und auch C++ Tutorials bauen, die dann zu 95% mit den C Tutorials funktionieren können.
Ob alles so klappt wie geplant, werden wir noch sehen.

Ansonsten wird auch SDL, Simple Direct Medialayer, mit drin sein.
Ich will versuchen eine art SDL Framework, wie das von Spacer, zu bauen und damit ein kleines 2D Game zu erstellen.
Einige Elemente wie Grafiken und Sounds werde ich mal selbst basteln müssen.
Aber auf meinen Festplatten sollte genug Zeugs zum verarbeiten sein.

Damit diese Tutorials aber nicht verloren gehen, werde ich sie erst mit OO.o screiben und bei genug interesse in dem Forum veröffentlichen.
Ansonsten werde ich die Dokumente nur auf meinen Webspace hochladen und dort für jeden zugänglich machen.

Mit freundlichen Grüßen



T-Virus

Spieleentwicklung mit XNA

Hallo liebe Leser,
einige von euch wird XNA nicht viel sagen.
Es handelt sich dabei um den Nachfolger von DirectX.
XNA wird mit C# entwickelt und ist sher mächtig.

Mit rund 500 Zeilen Code kann man schon ein Spiel wie Spacer bauen.
Spacer hat mit C++ weit über 1.000 Zeilen Code.
Den Spacer enthält noch ein eigenes Framework für Sound etc.
Dies wird bei XNA alles mit geliefert.
Wer XNA nutzt, wird also sich nur um seine Programmierung kümmern müssen als um Sound etc.

An sich ist XNA sehr cool und für Windows Entwickler mehr als perfekt.
Leider gehört XNA wieder in die Microsoft Ecke, weshalb ich es für meine Spiele, die eine größtmögliche Unabhängigkeit des Systems bieten sollen, nicht nutzen.

Leider ein großer Abstrich den ich bei XNA machen muss.
Aber falls jemand interesse hat mit XNA Spiele zu entwickeln, lohnt es sich die c't zu kaufen oder ein paar Seiten im Netz anzusteuern.

Mein erster Versuch mit XNA ging etwas schief, da das Templatespiel leider nicht starten wollte.
Aber ich denke, der zweite Versuch wird besser.
So planen einige Kollegen und ich ein Spiel mit XNA und C# zu entwickeln.
Dies wird vielleicht auch auf der XBox laufen und wird bestimmt viel Spaß machen :)
Die Idee des Spiels gibt es auch als wirkliches Spiel.
Aber dazu später noch.

Wenn es mir gestattet wird, werde ich den Quellcode auch anbieten ;)
Den Spaß machen wird es auf jeden Fall.

Mit freundlichen Grüßen



T-Virus

Die erste Arbeitswoche ist vorbei.

Hallo liebe Leser,

nach der ersten Woche gibt es einiges zu berichten.

Nachdem ich mich wieder in meine Arbeit reingearbeitet habe, konnte ich mal wieder Spaß an C# haben.
Einige von euch, was wohl der größte Teil meiner Besucher ausmacht, werden wohl Windows nutzen und kennen.
Auch einige Entwickler sollten dabei sein, die schon mit VB .NET oder mit C# gearbeitet haben.
An sich ist die Sprache klasse und sehr mächtig.

So habe ich in der letzten c't einen guten Artikel zum Thema Spieleprogrammierung mit XNA und C# :)
Ist ziemlich cool, was man schon mit wenigen Zeilen Code schafft.
Ein Spiel wie Spacer wäre da mit 500 Zeilen drin, sogar mit 3D Modeln.
Da ich aber auf Plattformunabhängigkeit setze, werde ich wohl einige Zeilen mehr mit C++ schreiben müssen :)
Dafür weiß ich auch, was drin ist.

Ansonsten war am Freitag noch die Einschulung der Fachinformatiker in Göttingen.
Welche 2 Pfeifen waren nicht da?
Richtig, ich und mein Kollege Torsten.

Am Donnerstag haben wir unseren ersten Schultag und werden uns dort wohl für das fehlen entschuldigen müssen.
Wenigstens war ich arbeiten und nicht wie Torsten im Urlaub :o)

Mal schauen wie es dann am Donnerstag rund geht :)
Ich war ja bereits auf der BBS 2 in Göttingen, weil ich für 3 Monate beim BGJ Elektrotechnik war, und konnte dort keine guten Erfahrungen machen :/
Da war mir die BBS 1 in Northeim um längen lieber :p

Mit freundlichen Grüßen



T-Virus

Sonntag, 17. August 2008

Ende des Urlaubs

Hallo liebe Leser,

leider endet nach rund 2 Wochen mein Urlaub.
Was ist alles passiert und was ist nicht passiert.

Ich konnte etwas an Spacer und gINI weiterarbeiten.
Somit konnte ich auch einige Tipps zum Thema Gameplay bekommen.
Dies bedeutet, dass ich Spacer für Spieler etwas interessanter machen kann.
Ich war auch in der letzten Woche viel spazieren und konnte so wieder einen klaren Kopf bekommen.

Desweiteren habe ich auch meinen Webdienst mal wieder etwas administrieren können.
Auch einige neue Spiele, zu denen ich bereits ein Feedback geschrieben habe, konnte ich mir kaufen.
Bei Amazon habe ich mir auch schon eine Collection der Neon Genesis Evangelion DVD's bestellt und auch die beiden Filme dort bestellt.
Desweiteren warte ich noch auf die deutschen Rebirth of Evangelion Filme die ich dann auch bestellen werde ^^

Leider konnte ich einige Dinge auch nicht umsetzen.
So habe ich einige geplante Features in Spacer und gINI noch nicht implementiert.
Dazu gehört man das aufräumen der Codes sowie bei gINI das schreiben von .ini Dateien.
Zwar sind die Möglichkeiten vorhanden nur werden diese noch nicht genutzt.

Ansonsten war es ein schöner Urlaub, auch wenn ich bei mapping-tutorials.de wiedermal einige Minuspunkte, wegen meiner extremen Zuneigung zu freier Software, geerntet habe.
Aber dies ist nicht schlimm, da ich mit dem User dann per PN ein nettes Gespräch geführt habe.

Nun aber allen Lesern einen schönen Abend und eine gute Nacht.

Mit freundlichen Grüßen



T-Virus

Mittwoch, 13. August 2008

Spacer wird wieder besser :)

Hallo liebe Leser,

ich arbeite wieder mal an Spacer.
Dabei habe ich eine neue Grafik und neue Sounds eingebaut.
Auch habe ich einen Crashbug im Framework von Spacer behoben.
Leider steckt wohl in der Spielklasse selbst noch ein Bug, der das Spiel nach beenden crashen lässt.
Dieser wird auch bald bereinigt.

Ich fertige im Moment eine bessere Version der Menü Codes an.
Diese sollen später für GUI's in Spacer zur Anwendung kommen.
Dafür habe ich auch ein simples Testprogramm entwickelt.
Leider tue ich mich noch etwas schwer mit GUI Entwicklung.
Aber ich werde mein bestes geben.

Auch habe ich mal wieder über gINI gegrübelt.
Wenn ich gINI in Spacer nutzen will, wäre es vielleicht von Vorteil noch einige Fehlerquellen zu beseitigen.
Z.b. könnten User per übergroßen int Werten einen Pufferüberlauf erzeugen, was nicht grade im Sinne des Entwicklers wäre.
Auch muss ich mir noch gedanken drum machen, ob ich nicht die Standardwerte direkt in die .ini Datei schreiben lasse um diese dann auszulesen.
Somit können fehldende Werte nachgetragen werden und gleichzeitig können die User die Anwendungen ohne Programmierung umändern.

Aber dazu muss ich schauen wie ich die ganzen Fehler angehe.

Mit freundlichen Grüßen


T-Virus

Samstag, 9. August 2008

News von der Entwickler front :)

Hallo liebe Leser,

ich habe vor einigen Minuten, naja sagen wir mal vor ca. einer Stunde, ein kleines Update für gINI gebastelt.
Ab jetzt liegt gINI in einem eigenen Namensraum.
Dieser heißt passend auch gINI.
Sowohl die main.cpp als auch alle Dateien würden angepasst.

Auch habe ich mir gedankten um gINI gemacht.
Ich war vor einigen Tagen im Büro und konnte mit meinem Kollegen den Hinweis bekommen, dass ich gINI per lib o.ä. verteilen sollte.
An sich ist das auch ne feine sache.
Die Entwickler müssten nur ihre eignen libs anpassen und die neue Version binden.
Auch würde durch die Auslagerung in einer .dll/.so der RAM nicht extra belastet werden, da die Codes im Programm mit in den RAM fließen würden.

Soweit so gut.
Das dumme an der Sache wäre aber erstmal, dass ich doppelten Aufwand hätte, da ich immer eine .dll und eine .so pflegen müsste.
Da auch die Codes noch zu klein sind, ist es auch noch nicht sinnvoll eine .dll/.so anzulegen.
Solange werde ich gINI erstmal noch als Code libs verteilen.
Danach werde ich aber eine .dll/.so erstellen und verteilen.

Ansonsten habe ich an gINI nicht mehr viel gemacht.
Ich muss auch noch planen wie ich gINI zu einem Multitalent beim parsen machen kann.
Den einer seits soll gINI einfache Win32 ini Dateien einlesen und verarbeiten können aber anderer Seits auch andere ini Dateitypen unterstützen.
Somit sollte mit einer größeren Anzahl von ini Dateitypen auch der Nutzen für Anwender und Entwickler größer sein.

Desweiteren hat mich mein Kollege auch aufgeklärt, warum .ini unter Windows gegen XML getauscht wurde.
Das große Problem ist nur, dass die Art des Zeichensatzes nicht vermerkt wurde.
Dies könnte ich aber mit einem Spezialeintrag umgehen.
Ob dies aber eine optimale Lösung ist, wird sich wohl erstmal zeigen müssen.

Mit freundlichen Grüßen



T-Virus

Donnerstag, 7. August 2008

Softwareentwicklung und heißes Wetter

Hallo liebe Leser,

im Moment ist es in meinem Zimmer, dass unter dem Dacht liegt, ca. 30° heiß.
Das mein Rechner noch nicht geschmolzen ist, glänzt an ein Wunder.

Das ich bei solch eine Hitze kaum Lust habe an gINI oder Spacer zu arbeiten sollte klar sein.
Ich werde am Wochenende, wenn es wieder kühler ist und in der kommenden Woche, wenn ich mal wieder allein da heim bin, weiter arbeiten.

Ich werde wohl erstmal Spacer mit neuen Content versorgen und dann erstmal den Code weiter aufräumen.
Unter Vista stürzt das Spiel beim beenden ab.
Dies ist zwar keine Katastrophe, ist aber unfein und sollte bereinigt werden.


Mit freundlichen Grüßen



T-Virus

Neue Games für mich ^^

Hallo liebe Leser,

in den letzten Tagen hab ich mir mal wieder neue Games bei Amazon bestellt und auch angespielt.

Dazu gehören folgende Spiele.

1.Clive Barker's Jericho(ab 18 Jahren)
2.Timeshift
3.Painkiller Black Edition(ab 18 Jahren)
4.Just Cause

Sowohl Jericho als auch Painkiller gehören nicht in die Hände von Minderjährigen.
Dies möchte ich vorab schreiben und falls jemand fragt, ich bin schon 19 Jahre alt.

Jericho hat eine außerordentlich gute Grafik und Story.
Auch die Atmosphäre ist sehr gut gemacht.
Für Gruselgame zocken zu empfehlen.

Painkiller habe ich nur das erste Level durch gespielt.
Die Grafik erinnert etwas an ältere Spiele ala Quake 3.
Die Story ist auf englisch und leider habe ich diese noch nicht bemerkt :o)
Painkiller gehört, laut der Aussage eines Freundes eher zu einem Ballerspiel als zu einem guten Shooter.
Ich habe bis jetzt nur gemetzel erlebt und bin kein wirklicher Fan davon.
Trotzdem ist das Spiel nicht zu verachten.

Timeshift besticht nicht nur mit einer Zeitreise Story, sondern kann auch mit dem Beta Anzug aufwarten.
Dabei handelt es sich um den Anzug, den der Spieler trägt.
Mit den Fähigkeiten des Anzugs kann man die Zeit verlangsamen, stoppen und rückspulen.
Dies klappt aber nur für einen kurzen Zeitraum, da der Anzug dafür Energie verbraucht.

Das Spiel Just Cause sollte einigen was sagen.
Die Demo war leider alles andere als passend für die Präsentation.
Just Cause ist eher eine art GTA mit risiegem Umfeld.
Selbst mit dem schnellsten Auto würde man ca. 20 Minuten und mehr brauchen um von der ersten bis zur letzten Insel zu fahren.
Mit dem Heli dauert es vielleicht 10 Minuten.
Wie lange es genauer dauert muss ich mal testen.
Aber insgesamt ist der Spaß genial und die Story interessant.
Wer das Spiel kaufen wollte aber noch nicht sicher war ob der Kauf lohnenswert ist, kann ich raten es zu kaufen.
Verschenken kann man es im Notfall ja immer noch ;)

Mit freundlichen Grüßen



T-Virus

Sonntag, 3. August 2008

Open Source/Freeesoftware

Hallo liebe Leser,

mich plagt Langeweile und ich versuche mal wieder als Freund der Plattformunabhängigkeit, mal wieder den Leuten zu erklären warum dies besser ist, als sich auf ein System fest zubeißen.

Das ganze hat nur mit Gemeinschaftssinn zutun.
Wenn man seine Programme nur für Windows, Linux, Mac OS X und co. entwickelt, lässt man die anderen Anwender einfach links liegen.
Dies ist aber eine moralische Katastrophe.
Man sollte jedem Anwender die Möglichkeit geben, sein Programm nutzen zu können.
Es spielt dabei eigentlich keine Rolle, ob das Programm an sich wertlos oder für einige unbrauchbar ist.
Es spielt aber schon eine Rolle, ob man das Rad neu erfindet.

Auch sollte man seinen Quellcode offen zur Verfügung stellen.
Somit können andere Entwickler helfen, die Programme sicherer zu machen und sogar weiterentwickeln.
Wer meint, er könnte auf dem Pferd von diversen Firmen aufspringen und seinen Code nicht zugänglich machen, kann dies tun.
Die Probleme die solche unfreien Programme schaffen sind schlimmer als das freigeben des Quelltextes.

Auch heißt Open Source nicht, dass man kein Geld damit verdienen kann.
Man kann sowohl Programme als auch Geräte als Quell offen verkaufen und damit verdienen.
Beispiele dafür bringt uns Sun Microsystems.
Diese verdienen an Open Soure genug und haben auch Java so gut wie Open Source gelegt.
Somit wird Java sich nicht nur in Windows sondern anderen System in Zukunft vorinstalliert finden.

Mit freundlichen Grüßen



T-Virus