<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>abi.exdream.com - Benjamin Nitschke's Blog - Lost Squadron</title>
    <link>http://exdream.no-ip.info/blog/</link>
    <description>Benjamin Nitschke's Blog about .NET, Game Development and my daily life.</description>
    <language>en-us</language>
    <copyright>abi.exdream.com</copyright>
    <lastBuildDate>Wed, 04 May 2005 00:16:20 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.9.6264.0</generator>
    <managingEditor>abi@exDream.com</managingEditor>
    <webMaster>abi@exDream.com</webMaster>
    <item>
      <trackback:ping>http://exdream.no-ip.info/blog/Trackback.aspx?guid=2fe9122b-8340-4657-b29a-14fe80bce96a</trackback:ping>
      <pingback:server>http://exdream.no-ip.info/blog/pingback.aspx</pingback:server>
      <pingback:target>http://exdream.no-ip.info/blog/PermaLink,guid,2fe9122b-8340-4657-b29a-14fe80bce96a.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://exdream.no-ip.info/blog/CommentView,guid,2fe9122b-8340-4657-b29a-14fe80bce96a.aspx</wfw:comment>
      <wfw:commentRss>http://exdream.no-ip.info/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=2fe9122b-8340-4657-b29a-14fe80bce96a</wfw:commentRss>
      <slash:comments>4</slash:comments>
      <title>A new more effective keyboard layout for programmers</title>
      <guid isPermaLink="false">http://exdream.no-ip.info/blog/PermaLink,guid,2fe9122b-8340-4657-b29a-14fe80bce96a.aspx</guid>
      <link>http://exdream.no-ip.info/blog/2005/05/04/ANewMoreEffectiveKeyboardLayoutForProgrammers.aspx</link>
      <pubDate>Wed, 04 May 2005 00:16:20 GMT</pubDate>
      <description>&lt;table width=800&gt;
&lt;tr&gt;
&lt;td&gt;
Hey now, I'm back again. Lets just pretend I didn't stop blogging the last couple
of months ^^ From now on I will try to post stuff every other week, I still got some
interessting topics. 
&lt;p&gt;
&lt;h1&gt;Quick links
&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="#LostSquadron"&gt;About Lost Squadron&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="#TodaysTopic"&gt;Todays topic&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="#Dvorak"&gt;Dvorak keyboard layout&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="#CountMostUsedKeys"&gt;CountMostUsedKeys tool&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="#OwnKeyboardLayout"&gt;Own keyboard layout&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="#UsefulLinks"&gt;Useful links&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;br&gt;
&lt;a name="LostSquadron"&gt;&lt;/a&gt; 
&lt;h1&gt;About Lost Squadron
&lt;/h1&gt;
The project was paused because I got noone modeling the missing models (my intern
Ivo quit in the middle of the project because he had to find a job), most of the engine
and game logic is pretty much finished (and has gotten way more complicated than planed).
I will post some screens and info from time to time, usually I will finish up projects
like this some later time when I got the missing resources or time (maybe next chrismas).
Sorry for not informing you about the latest progress, but I talked myself into continuing
the project and realised to late I can't finish it on my own now. 
&lt;p&gt;
Currently we at exDream have finally started working on the next project and will
produce a nice graphic demo/prototype in the next 3 month. I will try to sneak in
a couple of screenshots of it from time to time. 
&lt;p&gt;
&lt;br&gt;
&lt;a name="TodaysTopic"&gt;&lt;/a&gt; 
&lt;h1&gt;Todays topic
&lt;/h1&gt;
A new effective keyboard layout for programmers, especially for c# and c++:&lt;br&gt;
&lt;img src="own_layout_v9.png"&gt; 
&lt;br&gt;
&lt;a href="http://abi.exdream.com/blog/abiKeyboardV9.zip"&gt;Download AbiKeyboardV9 installer&lt;/a&gt;
&lt;br&gt;
&lt;a href="http://abi.exdream.com/blog/CountMostUsedKeys.zip"&gt;Download the CountMostUsedKeys
program (see below)&lt;/a&gt;
&lt;br&gt;
&lt;a href="http://abi.exdream.com/blog/CountMostUsedKeys_src.zip"&gt;CountMostUsedKeys
source code for anyone interessted.&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
2 years ago I was talking with a friend about my english keyboard layout and discussing
why it is way better than the german keyboard layout for programming (for some keys
you even need a special alt gr key combination). The english keyboard is better because
the symbol keys like ()[]{}'":;/ etc. are positioned more effective. This is the english
keyboard for comparsion with Dvorak and my own layouts below:&lt;br&gt;
&lt;img src="english_us.png"&gt; 
&lt;p&gt;
We talked a bit about other keyboard layouts like Dvorak, which is way more effective
and relaxing than any qwerty layout, but I got no free time back then. You will need
around a week to learn to type at low speeds and at least a month to get back to a
better typing speed. 
&lt;p&gt;
&lt;br&gt;
&lt;a name="Dvorak"&gt;&lt;/a&gt; 
&lt;h1&gt;Dvorak
&lt;/h1&gt;
This is the Dvorak us keyboard layout (you can simply select it in windows, it is
pre installed and can be used like any other keyboard layout):&lt;br&gt;
&lt;img src="dvorak_us.png"&gt; 
&lt;p&gt;
After Arena Wars was finished last year I got finally some time to start learning
Dvorak. Dvorak seems very nice (see the links below for additional information) and
has a lot of advantages for typing "normal" text (but some people exaggerate "a little"). 
&lt;p&gt;
Anyway, while playing around with Dvorak (us default layout) I really found some things
VERY annoying, especially for coding and playing games:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;
It is fairly hard to learn a new layout and getting really back to the old speed again.
Additionally hotkeys you typical need on a computer are totally crazy and unusable.
Hard to learn when you used QWERTY all your life, learning can be done in a week or
so, but really being able to get back to your old speed can take months (and is painful).&lt;/li&gt;
&lt;li&gt;
Ctrl+X, Ctrl+C, Ctrl+V can't be used as easy. I always use my left hand while my right
hand can use the mouse, especially for browsing, code comparing, getting text from
one place to another, etc. and all this happens VERY often! I know you can also use
Shift+Insert, Ctrl+Insert, Shift+Delete, but these shortkeys are just plain unuseable,
maybe for lefties, but the keys still suck.&lt;/li&gt;
&lt;li&gt;
Hotkeys can't be used the way they used to be, for some games its possible to change
hotkeys, for others not (like starcraft, at least its not easy to change) This does
not only apply to games, but also a lot for applications, especially when you remembered
just the location where to press and not the name of the hotkey, e.g. when using photoshop,
you have to re-learn the hotkeys. Also stuff like Ctrl+S, Ctrl+O, Ctrl+F, Ctrl+R,
etc. is usually remembered by the positions on the keyboard and not by the key and
relearning this keys is pretty hard!&lt;/li&gt;
&lt;li&gt;
Dvorak is optimized for typical english words, but not for programming, some keys
are even worse than the german keyboard layout. But what I really don't like is the
way Dvorak handles symbols like []{};:?+-/, etc.&lt;br&gt;
Its not that QWERTY is really good for coding, especially when typing stuff like ()
or -, = or +, but overall it performs still better than Dvorak (counting only symbols).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
I've also collected some interessting facts when comparing Dvorak and QWERTY considering
c#/c++/java code. &lt;a href="http://www.acm.vt.edu/~jmaxwell/dvorak/compare.html"&gt;Click
this link to test it yourself.&lt;/a&gt;
&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;
When pasting random stuff into the Keyboard Compare Applet, QWERTY performs almost
twice as good as Dvorak (Note: We are not random key generators, usually we type text
or code which makes sense ^^).&lt;/li&gt;
&lt;li&gt;
When just pasting c# code stuff without much text like&lt;br&gt;
&lt;b&gt;if ( a == 0 )&lt;br&gt;
{&lt;br&gt;
doIt( a!=0?a:0 );&lt;br&gt;
} // if&lt;/b&gt;
&lt;br&gt;
QWERTY still outperforms Dvorak, which can't be good!&lt;/li&gt;
&lt;/ul&gt;
I wanted to code faster and not slower, I don't know anyone using Dvorak anyway and
I could not care less if others can use my keyboard layout or not (since I use an
english keyboard layout anyway and other (german) people can't even use that ^^). 
&lt;p&gt;
I created my own keyboard layout to solve all the problems (yeah, now its getting
real geeky), but I based it on the Dvorak layout, which is really efficient and nice
for typing "normal" text (which is still required a lot, even by crazy coders).&lt;br&gt;
To solve the Ctrl+X, Ctrl+C, Ctrl+V problem I simply moved that keys to the QWERTY
position and exchange the other keys accordingly. This didn't matter much because
there isn't much of a difference between X,C,V and Q,J,K according to the key usage
(see below). 
&lt;p&gt;
At this time I was already using Dvorak for about a week or two and had spend a lot
of effort into learning and thinking about improvement, I wanted a perfect solution.
I checked typical c# and c++ code and wrote a program to count how often each key
is used. Now I got the most important keys and asigned the best spot for each symbol
using the distance (see the &lt;a href="#links"&gt;Keyboard Compare Applet&lt;/a&gt;) and how
much it is used. Using shift is also a major impact IMO, especially when keys are
far away. 
&lt;p&gt;
&lt;a name="CountMostUsedKeys"&gt;&lt;/a&gt; So I wrote a little test program to count the used
keys in all my *.cs files in my code folder, check out the results below. 
&lt;p&gt;
Screenshot of the program (I improved it yesterday, it was a console tool before):&lt;br&gt;
&lt;img src="CodeFolderSearchScreenshot.png"&gt; 
&lt;br&gt;
&lt;a href="http://abi.exdream.com/blog/CountMostUsedKeys.zip"&gt;Download the CountMostUsedKeys
program.&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href="http://abi.exdream.com/blog/CountMostUsedKeys_src.zip"&gt;And the source code
for anyone interessted&lt;/a&gt;
&lt;br&gt;
(may be useful if you want to write some line count tool yourself)&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;b&gt;CountMostUsedKeys results:&lt;br&gt;
Search mode=Everything, File type=*.cs, Directory=C:\code\&lt;br&gt;
Number of files=4041, Number of lines=2031908, Number of keys=67829575&lt;/b&gt;
&lt;br&gt;
&lt;table border=1 width=600&gt;
&lt;tr&gt;
&lt;td&gt;
Type: 
&lt;/td&gt;
&lt;td&gt;
Keycode: 32&lt;/td&gt;
&lt;td&gt;
10,1%&lt;/td&gt;
&lt;td&gt;
(6851259 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: e&lt;/td&gt;
&lt;td&gt;
Keycode: 101&lt;/td&gt;
&lt;td&gt;
7,21%&lt;/td&gt;
&lt;td&gt;
(4887698 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: t&lt;/td&gt;
&lt;td&gt;
Keycode: 116&lt;/td&gt;
&lt;td&gt;
5,2%&lt;/td&gt;
&lt;td&gt;
(3525648 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: a&lt;/td&gt;
&lt;td&gt;
Keycode: 97&lt;/td&gt;
&lt;td&gt;
4,13%&lt;/td&gt;
&lt;td&gt;
(2802961 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: r&lt;/td&gt;
&lt;td&gt;
Keycode: 114&lt;/td&gt;
&lt;td&gt;
4,06%&lt;/td&gt;
&lt;td&gt;
(2754960 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: i&lt;/td&gt;
&lt;td&gt;
Keycode: 105&lt;/td&gt;
&lt;td&gt;
3,93%&lt;/td&gt;
&lt;td&gt;
(2663137 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: n&lt;/td&gt;
&lt;td&gt;
Keycode: 110&lt;/td&gt;
&lt;td&gt;
3,68%&lt;/td&gt;
&lt;td&gt;
(2494441 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: o&lt;/td&gt;
&lt;td&gt;
Keycode: 111&lt;/td&gt;
&lt;td&gt;
3,39%&lt;/td&gt;
&lt;td&gt;
(2298022 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: s&lt;/td&gt;
&lt;td&gt;
Keycode: 115&lt;/td&gt;
&lt;td&gt;
3,24%&lt;/td&gt;
&lt;td&gt;
(2195958 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: l&lt;/td&gt;
&lt;td&gt;
Keycode: 108&lt;/td&gt;
&lt;td&gt;
2,61%&lt;/td&gt;
&lt;td&gt;
(1769538 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: /&lt;/td&gt;
&lt;td&gt;
Keycode: 47&lt;/td&gt;
&lt;td&gt;
2,52%&lt;/td&gt;
&lt;td&gt;
(1710099 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: u&lt;/td&gt;
&lt;td&gt;
Keycode: 117&lt;/td&gt;
&lt;td&gt;
1,99%&lt;/td&gt;
&lt;td&gt;
(1349478 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: m&lt;/td&gt;
&lt;td&gt;
Keycode: 109&lt;/td&gt;
&lt;td&gt;
1,91%&lt;/td&gt;
&lt;td&gt;
(1298573 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: c&lt;/td&gt;
&lt;td&gt;
Keycode: 99&lt;/td&gt;
&lt;td&gt;
1,77%&lt;/td&gt;
&lt;td&gt;
(1201477 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: d&lt;/td&gt;
&lt;td&gt;
Keycode: 100&lt;/td&gt;
&lt;td&gt;
1,77%&lt;/td&gt;
&lt;td&gt;
(1198823 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: .&lt;/td&gt;
&lt;td&gt;
Keycode: 46&lt;/td&gt;
&lt;td&gt;
1,42%&lt;/td&gt;
&lt;td&gt;
(964040 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: p&lt;/td&gt;
&lt;td&gt;
Keycode: 112&lt;/td&gt;
&lt;td&gt;
1,41%&lt;/td&gt;
&lt;td&gt;
(956931 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: g&lt;/td&gt;
&lt;td&gt;
Keycode: 103&lt;/td&gt;
&lt;td&gt;
1,23%&lt;/td&gt;
&lt;td&gt;
(832686 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: f&lt;/td&gt;
&lt;td&gt;
Keycode: 102&lt;/td&gt;
&lt;td&gt;
1,22%&lt;/td&gt;
&lt;td&gt;
(827820 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: y&lt;/td&gt;
&lt;td&gt;
Keycode: 121&lt;/td&gt;
&lt;td&gt;
1,15%&lt;/td&gt;
&lt;td&gt;
(783356 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: h&lt;/td&gt;
&lt;td&gt;
Keycode: 104&lt;/td&gt;
&lt;td&gt;
1,11%&lt;/td&gt;
&lt;td&gt;
(753548 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: )&lt;/td&gt;
&lt;td&gt;
Keycode: 41&lt;/td&gt;
&lt;td&gt;
1,09%&lt;/td&gt;
&lt;td&gt;
(739711 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: (&lt;/td&gt;
&lt;td&gt;
Keycode: 40&lt;/td&gt;
&lt;td&gt;
1,09%&lt;/td&gt;
&lt;td&gt;
(736841 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: ;&lt;/td&gt;
&lt;td&gt;
Keycode: 59&lt;/td&gt;
&lt;td&gt;
0,86%&lt;/td&gt;
&lt;td&gt;
(580753 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: b&lt;/td&gt;
&lt;td&gt;
Keycode: 98&lt;/td&gt;
&lt;td&gt;
0,79%&lt;/td&gt;
&lt;td&gt;
(532778 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: ,&lt;/td&gt;
&lt;td&gt;
Keycode: 44&lt;/td&gt;
&lt;td&gt;
0,76%&lt;/td&gt;
&lt;td&gt;
(512629 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: =&lt;/td&gt;
&lt;td&gt;
Keycode: 61&lt;/td&gt;
&lt;td&gt;
0,74%&lt;/td&gt;
&lt;td&gt;
(503579 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: w&lt;/td&gt;
&lt;td&gt;
Keycode: 119&lt;/td&gt;
&lt;td&gt;
0,62%&lt;/td&gt;
&lt;td&gt;
(419356 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
etc.&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;font size=-5&gt;Note: This stuff does NOT represent every key pressed, hotkeys and errors
and corrections are obviously not saved in the text files.&lt;/font&gt; 
&lt;p&gt;
Same results without space and letters, very useful to assign the most important symbol
keys:&lt;br&gt;
&lt;b&gt;Search mode=ExceptLetters&lt;/b&gt; 
&lt;table border=1 width=600&gt;
&lt;tr&gt;
&lt;td&gt;
Type: /&lt;/td&gt;
&lt;td&gt;
Keycode: 47&lt;/td&gt;
&lt;td&gt;
2,52%&lt;/td&gt;
&lt;td&gt;
(1710099 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: .&lt;/td&gt;
&lt;td&gt;
Keycode: 46&lt;/td&gt;
&lt;td&gt;
1,42%&lt;/td&gt;
&lt;td&gt;
(964040 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: )&lt;/td&gt;
&lt;td&gt;
Keycode: 41&lt;/td&gt;
&lt;td&gt;
1,09%&lt;/td&gt;
&lt;td&gt;
(739711 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: (&lt;/td&gt;
&lt;td&gt;
Keycode: 40&lt;/td&gt;
&lt;td&gt;
1,09%&lt;/td&gt;
&lt;td&gt;
(736841 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: ;&lt;/td&gt;
&lt;td&gt;
Keycode: 59&lt;/td&gt;
&lt;td&gt;
0,86%&lt;/td&gt;
&lt;td&gt;
(580753 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: ,&lt;/td&gt;
&lt;td&gt;
Keycode: 44&lt;/td&gt;
&lt;td&gt;
0,76%&lt;/td&gt;
&lt;td&gt;
(512629 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: =&lt;/td&gt;
&lt;td&gt;
Keycode: 61&lt;/td&gt;
&lt;td&gt;
0,74%&lt;/td&gt;
&lt;td&gt;
(503579 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: "&lt;/td&gt;
&lt;td&gt;
Keycode: 34&lt;/td&gt;
&lt;td&gt;
0,38%&lt;/td&gt;
&lt;td&gt;
(255445 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: &amp;lt;&lt;/td&gt;
&lt;td&gt;
Keycode: 60&lt;/td&gt;
&lt;td&gt;
0,32%&lt;/td&gt;
&lt;td&gt;
(213786 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: &amp;gt;&lt;/td&gt;
&lt;td&gt;
Keycode: 62&lt;/td&gt;
&lt;td&gt;
0,3%&lt;/td&gt;
&lt;td&gt;
(203429 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: }&lt;/td&gt;
&lt;td&gt;
Keycode: 125&lt;/td&gt;
&lt;td&gt;
0,28%&lt;/td&gt;
&lt;td&gt;
(187354 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: {&lt;/td&gt;
&lt;td&gt;
Keycode: 123&lt;/td&gt;
&lt;td&gt;
0,28%&lt;/td&gt;
&lt;td&gt;
(187017 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: +&lt;/td&gt;
&lt;td&gt;
Keycode: 43&lt;/td&gt;
&lt;td&gt;
0,27%&lt;/td&gt;
&lt;td&gt;
(181705 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: -&lt;/td&gt;
&lt;td&gt;
Keycode: 45&lt;/td&gt;
&lt;td&gt;
0,24%&lt;/td&gt;
&lt;td&gt;
(159515 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: ]&lt;/td&gt;
&lt;td&gt;
Keycode: 93&lt;/td&gt;
&lt;td&gt;
0,19%&lt;/td&gt;
&lt;td&gt;
(130828 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: [&lt;/td&gt;
&lt;td&gt;
Keycode: 91&lt;/td&gt;
&lt;td&gt;
0,19%&lt;/td&gt;
&lt;td&gt;
(130687 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: _&lt;/td&gt;
&lt;td&gt;
Keycode: 95&lt;/td&gt;
&lt;td&gt;
0,13%&lt;/td&gt;
&lt;td&gt;
(89213 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: *&lt;/td&gt;
&lt;td&gt;
Keycode: 42&lt;/td&gt;
&lt;td&gt;
0,12%&lt;/td&gt;
&lt;td&gt;
(83203 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: :&lt;/td&gt;
&lt;td&gt;
Keycode: 58&lt;/td&gt;
&lt;td&gt;
0,11%&lt;/td&gt;
&lt;td&gt;
(77487 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: !&lt;/td&gt;
&lt;td&gt;
Keycode: 33&lt;/td&gt;
&lt;td&gt;
0,1%&lt;/td&gt;
&lt;td&gt;
(64444 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: &amp;&lt;/td&gt;
&lt;td&gt;
Keycode: 38&lt;/td&gt;
&lt;td&gt;
0,09%&lt;/td&gt;
&lt;td&gt;
(58918 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: #&lt;/td&gt;
&lt;td&gt;
Keycode: 35&lt;/td&gt;
&lt;td&gt;
0,07%&lt;/td&gt;
&lt;td&gt;
(47258 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: |&lt;/td&gt;
&lt;td&gt;
Keycode: 124&lt;/td&gt;
&lt;td&gt;
0,05%&lt;/td&gt;
&lt;td&gt;
(34348 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: '&lt;/td&gt;
&lt;td&gt;
Keycode: 39&lt;/td&gt;
&lt;td&gt;
0,05%&lt;/td&gt;
&lt;td&gt;
(31284 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: ?&lt;/td&gt;
&lt;td&gt;
Keycode: 63&lt;/td&gt;
&lt;td&gt;
0,03%&lt;/td&gt;
&lt;td&gt;
(19709 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: \&lt;/td&gt;
&lt;td&gt;
Keycode: 92&lt;/td&gt;
&lt;td&gt;
0,02%&lt;/td&gt;
&lt;td&gt;
(15340 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Type: %&lt;/td&gt;
&lt;td&gt;
Keycode: 37&lt;/td&gt;
&lt;td&gt;
0,01%&lt;/td&gt;
&lt;td&gt;
(7019 times used)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
etc.&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;
&lt;br&gt;
&lt;a name="OwnKeyboardLayout"&gt;&lt;/a&gt; Based on that I created my own keyboard layout, which
was updated 9 times until I was happy with it. 
&lt;p&gt;
Version 1 looked like this (pretty much like dvorak, some cosmetic changes at the
right side):&lt;br&gt;
&lt;img src="own_layout_v1.png"&gt; 
&lt;p&gt;
Version 2: The next thing I did was moved the Z X C V keys back and copied some keys
around, () are moved to normal keys, () is used much more than [] or {}.&lt;br&gt;
&lt;img src="own_layout_v2.png"&gt; 
&lt;p&gt;
In Version 3-6 I tried moving some keys around based on the distance and effectiveness,
but I moved most of them back because they felt really uncomfortable and were bad
for hotkeys. One bigger change was moving the . , () keys back down, which improves
typing speed a lot because we really need more keys on the left side when using the
mouse with the right hand and when typing the right hand can easily handle most of
the symbol keys on the right side.&lt;br&gt;
&lt;img src="own_layout_v4.png"&gt; 
&lt;p&gt;
Version 7 was pretty much the final version, I trained this version a week and except
some minor cosmetic changes in the upper row everything stayed this way till the last
version:&lt;br&gt;
&lt;img src="own_layout_v7.png"&gt; 
&lt;p&gt;
Version 8 and 9 changed only the positions of J D F K B and the ? | and + - keys,
at first I didn't like the position for b at the right side, but b is used a lot in
combination with vocal keys unlike j, it is much better to have it on the right side.
The + - key on the upper left is now the same as the key on the lower right (which
is not present on all keyboards).&lt;br&gt;
&lt;img src="own_layout_v9.png"&gt; 
&lt;p&gt;
This is the final Version 9 I am using for nearly 6 months now, I got up to my old
speed in the first 1-2 months and now I type even faster and more relaxed than before
(maybe around 400 keystrokes per minute for normal text if I try hard). I wouldn't
suggest changing your keyboard layout just because you might be a little faster with
Dvorak or my keyboard layout, I think the comfortablity is at least as important as
the speed. In my option the greatest thing about my keyboard layout (or dvorak for
normal text) is the fact you can type most of the time without moving your fingers
much (90% of the most used keys are directly on the center row).&lt;br&gt;
&lt;br&gt;
&lt;a href="http://abi.exdream.com/blog/abiKeyboardV9.zip"&gt;Download AbiKeyboardV9 installer&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
I was not trying to create the best keyboard layout ever or to make Dvorak obsolete,
I just want to improve it for me and other interessted programmer. If you get started
with Dvorak or my keyboard layout you should use some keyboard training tool and spend
a couple of hours (but not much longer) each day training it. I found this website
very useful: &lt;a href="http://www.gigliwood.com/abcd/abcd.html"&gt;Learning Dvorak&lt;/a&gt; 
&lt;p&gt;
The main reason I wrote this article now was the nagging of some people I told about
this and who wanted to know more, so keep nagging if you want to see articles like
this :) 
&lt;p&gt;
If you got comments or some ideas to improve this even more, let me now! 
&lt;p&gt;
&lt;br&gt;
&lt;a name="UsefulLinks"&gt;&lt;/a&gt; 
&lt;h1&gt;Useful links
&lt;/h1&gt;
&lt;a href="http://www.mwbrooks.com/dvorak/"&gt;Introducing Dvorak&lt;/a&gt;
&lt;br&gt;
&lt;a href="http://www.acm.vt.edu/~jmaxwell/dvorak/compare.html"&gt;Keyboard Compare Applet
(nice)&lt;/a&gt;
&lt;br&gt;
&lt;a href="http://www.microsoft.com/globaldev/tools/msklc.mspx"&gt;Best keyboard layout
creation tool, hidden and hard to find, but this is the only free useful keyboard
layout creation tool.&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.theworldofstuff.com/dvorak/"&gt;The Dvorak Keyboard and You&lt;/a&gt;
&lt;br&gt;
&lt;a href="http://www.geocities.com/robm351/dvorak/"&gt;Changed Dvorak for similar symbol
keys&lt;/a&gt;
&lt;br&gt;
&lt;a href="http://www.gigliwood.com/abcd/abcd.html"&gt;Learning Dvorak&lt;/a&gt;
&lt;br&gt;
&lt;a href="http://www.mwbrooks.com/dvorak/layout.gif"&gt;Pic of Dvorak default Layout (us)&lt;/a&gt;
&lt;br&gt;
&lt;a href="http://wwwpub.utdallas.edu/~liebowit/keys1.html"&gt;Critik to Dvorak&lt;/a&gt;
&lt;br&gt;
&lt;a href="http://www.klm.freeservers.com"&gt;Keyboard Layout Manager (allows to change
keyboard layouts) It's shareware.&lt;/a&gt;
&lt;br&gt;
Some discussions about Dvorak (coder related):&lt;br&gt;
&lt;a href="http://groups.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;threadm=ASOR9.84243%24na.2303489%40news2.calgary.shaw.ca&amp;rnum=1&amp;prev=/groups%3Fq%3Ddvorak%2Bkeyboard%2Bfor%2Bcoders%26hl%3Den%26lr%3D%26ie%3DUTF-8%26selm%3DASOR9.84243%2524na.2303489%2540news2.calgary.shaw.ca%26rnum%3D1"&gt;Dvorak
discussion 1&lt;/a&gt; &lt;a href="http://groups.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;threadm=7hdhgl%24rhb%240%40199.201.191.2&amp;rnum=2&amp;prev=/groups%3Fq%3Ddvorak%2Bkeyboard%2Bfor%2Bcoders%26hl%3Den%26lr%3D%26ie%3DUTF-8%26selm%3D7hdhgl%2524rhb%25240%2540199.201.191.2%26rnum%3D2"&gt;Dvorak
discussion 2&lt;/a&gt; &lt;a href="http://groups.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=3739071D.1B20FA21%40mtu.edu"&gt;Dvorak
discussion 3&lt;/a&gt; 
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;img width="0" height="0" src="http://exdream.no-ip.info/blog/aggbug.ashx?id=2fe9122b-8340-4657-b29a-14fe80bce96a" /&gt;</description>
      <comments>http://exdream.no-ip.info/blog/CommentView,guid,2fe9122b-8340-4657-b29a-14fe80bce96a.aspx</comments>
      <category>All;Arena Wars;Game Development;Lost Squadron;Other;Programming</category>
    </item>
    <item>
      <trackback:ping>http://exdream.no-ip.info/blog/Trackback.aspx?guid=27505540-829b-4778-9da2-0b987aadabad</trackback:ping>
      <pingback:server>http://exdream.no-ip.info/blog/pingback.aspx</pingback:server>
      <pingback:target>http://exdream.no-ip.info/blog/PermaLink,guid,27505540-829b-4778-9da2-0b987aadabad.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://exdream.no-ip.info/blog/CommentView,guid,27505540-829b-4778-9da2-0b987aadabad.aspx</wfw:comment>
      <wfw:commentRss>http://exdream.no-ip.info/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=27505540-829b-4778-9da2-0b987aadabad</wfw:commentRss>
      <slash:comments>6</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <table border="0" cellspacing="10" align="right" width="410">
          <tr>
            <td width="410">
              <a href="images/LostSquadron/screenshot0045.jpg">
                <img src="images/LostSquadron/day19.jpg" border="0" />
              </a>
              <br />
              <center>
                <font size="-2">
                  <b>Day 19</b>:<br />
Some effects in action, the shoot line helps you to see where you shooting at (will
be improved with a special texture, its just a line now). Some 3D to 2D converting
is also not correct and needs some fixing. In the next days I will try to bring together
all the completed parts and start with the mission design in the beginning of the
next week.</font>
              </center>
            </td>
          </tr>
        </table>
Ratta ratta, peng peng, boom! 
<p><a name="Intro"></a></p><h2>Shoot'em'up
</h2>
Yeah, hey now. This time I had way to much fun when generating this screenshot, now
it is actually possible do aim with the tank and shoot at stuff (with all the new
effects and sounds). It is a lot of fun. 
<p>
Warning, this is a long post (I've written it in the last 2 days), but I have a nice
idea: Content links, just click on them to jump to a section: 
</p><ul><li><a href="#Intro">Shoot'em'up</a></li><li><a href="#IISTroubles">Troubles with IIS</a></li><li><a href="#RenderStateErrors">RenderState errors</a></li><li><a href="#LightEffects">Light effects in DirectX</a></li><li><a href="#OutOfVideoMemory">OutOfVideoMemory in Unit Tests</a></li><li><a href="#VSRAM">VS2005 needs a lot of RAM</a></li><li><a href="#Links">Links for today</a></li><li><a href="#GosuGamers">New StarCraft site: www.GosuGamers.net</a></li><li><a href="#TropicalIslands">Tropical-Islands resort</a></li></ul><p><a name="IISTroubles"></a></p><h2>Troubles with IIS
</h2>
I had some trouble the last few days with my IIS (Internet Information Server, the
thing producing ASP.NET web sites), it keept crashing and hanging up with out of memory
errors (this page was down a couple of times, sorry!) Really strange, that thing is
running for over an year now and I never had much troubles with it. The memory usage
was also pretty high (total ~900MB, IIS worker process alone had ~400 MB), I guess
this has something to do with dasBlog using .NET 2.0, dunno (there are no errors logged
anywhere). I had a lot of page hits this week after all the posts on other blogs about
me.<br />
The memory consumption of IIS goes constantly up and I had over 200MB mem usage again
after a couple of hours, hmm? Don't wounder if the site is down or you get some errors,
may happen because of these memory errors ... 
<p>
I also optimized the page from 50 entries max to 10 and cut down the number of entries
you will see on the start page. I hope that helps a bit, my server is really crappy
and old and needs a lot more memory (had only 256MB, but I upgraded to 512MB recently,
but its slower memory. I guess I need a gig or 2, lots of other services are also
running on that server). I also changed the app pool to a special one and set some
timeouts for requests and processing, maybe this will help (had no problems since
that change). 
</p><p><a name="RenderStateErrors"></a></p><h2>RenderState errors
</h2>
Another annoying thing is the RenderState property of the DirectX device, it will
tell you you can "get and set" some state like FogEnabled, well you can set it, but
if you try to get the state it will just throw an exception. A lot of RenderState
gets will throw an exception actually, I'm really impressed by that. Great work not
to mention any of these things in the docs (the docs are pretty useless anyway, most
descriptions are trival anyway and IntelliSense helps you just as much). 
<p><a name="LightEffects"></a></p><h2>Light-Effects in DirectX
</h2>
The light effects for the effect engine were pretty easy in DirectX, I remember this
was very hard to do in OpenGL (had to invert the alpha color, and with different color
settings everything got messed up, so a lot of special cases had to catched and handled).<p>
Basically this code is used (the light effect is a white texture with a spotlight
effect in the middle as the alpha channel):
</p><p><b>Device.RenderState.AlphaBlendEnable = true;<br />
Device.RenderState.SourceBlend = Blend.DestinationColor;<br />
Device.RenderState.DestinationBlend = Blend.SourceAlpha;</b></p><p>
Now make sure both the color channel and the alpha channel will modulate from the
texture color and the diffuse color. Switching back to normal SourceAlpha - InvSourceAlpha
causes also no troubles with that. I like that :) 
</p><p><a name="OutOfVideoMemory"></a></p><h2>DirectX OutOfVideoMemory
</h2>
Another problem I did have the last days when unit testing was running out of video
memory all the when creating the DirectX device (getting D3DERR_OUTOFVIDEOMEMORY exceptions)
after ~10 tests. When restarting VS, everything worked again for some time. 
<p>
I worked with that problem all week and found no solution, I changed a lot of debug
settings and changed some parts of the code, but nothing helped and there wasn't any
solution for out of video memory exceptions posted anywhere (my card has 128MB, how
can I run out of vid mem after a couple of tests?). Then I saw that some part of the
screenshot generation code wasn't finished and I saw the presentParams.SwapMode was
set to Flip instead of Discard (Discard is somewhat faster, but Flip allowed me to
easily catch the back buffer for the screenshot generation). I changed that, reduced
the back buffer count to double-buffering and reduced the resolution for tests from
1024x768 to 800x600 and never had any Out of Video Memory exceptions since then. Maybe
they happen after over 50 or 100 unit test runs, but then I can just restart VS and
it is not as annoying as before. 
</p><p><a name="VSRAM"></a></p><h2>VS2005 needs a lot of RAM
</h2>
But VS2005 consumes still a lot of RAM (&gt;800MB, I got only 512MB ram on my dev machine).
I guess I have to buy some more RAM soon, everything gets very slow and crashes more
often when all the ram is used (and I can't work without VS2005 anymore). Restarting
VS helps, but with that much complex unit tests the memory comsumption goes up very
fast again. For example todays screenshot is actually just a unit test with around
50 lines of code, making very simple unit tests helps a lot to force you to refactor
and simplyfy your code constantly. 
<p><a name="Links"></a></p><h2>Todays Links
</h2>
The links for today are The Z Buffer and Managed world, both great Managed-DirectX
sites. 
<ul><li><a href="http://www.thezbuffer.com/">The Z Buffer</a> Managed DirectX resources by 
</li><li><a href="http://www.managed-world.com">Managed World</a> great site with tutorials
and articles by Jason Olson, check out his <a href="http://jolson.geekswithblogs.net/">blog</a>. 
</li></ul><br /><a name="GosuGamers"></a><h2>GosuGamers.net
</h2>
If any StarCraft fan reads this, the guys from www.StarCraftGamers.com did have a
lot of troubles with their hosting partner and left the partner. StarCraftGamers.net
was one of the greatest StarCraft community sites ever IMO, the new site is called <a href="http://www.GosuGamers.net">www.GosuGamers.net</a>.
Looks like the crew will continue their great work there, so check it out (the site
has still some bugs because it is new): Good luck <a href="http://www.GosuGamers.net">www.GosuGamers.net</a><p><a name="TropicalIslands"></a></p><h2>Tropical-Islands
</h2>
I'm now going to visit the <a href="http://www.my-tropical-islands.com/engl/">Tropical-Islands</a> resort
(new big thing here in germany) with my brothers and some friends :) Development will
continue tomorrow.<img width="0" height="0" src="http://exdream.no-ip.info/blog/aggbug.ashx?id=27505540-829b-4778-9da2-0b987aadabad" /></body>
      <title>Lost Squadron, Day 19: Shoot'em'up</title>
      <guid isPermaLink="false">http://exdream.no-ip.info/blog/PermaLink,guid,27505540-829b-4778-9da2-0b987aadabad.aspx</guid>
      <link>http://exdream.no-ip.info/blog/2005/01/08/LostSquadronDay19Shootemup.aspx</link>
      <pubDate>Sat, 08 Jan 2005 10:10:36 GMT</pubDate>
      <description>&lt;table border=0 cellspacing=10 align=right width=410&gt;
&lt;tr&gt;
&lt;td width=410&gt;
&lt;a href="images/LostSquadron/screenshot0045.jpg"&gt;&lt;img src="images/LostSquadron/day19.jpg" border=0&gt;&lt;/a&gt;
&lt;br&gt;
&lt;center&gt;&lt;font size=-2&gt;&lt;b&gt;Day 19&lt;/b&gt;:&lt;br&gt;
Some effects in action, the shoot line helps you to see where you shooting at (will
be improved with a special texture, its just a line now). Some 3D to 2D converting
is also not correct and needs some fixing. In the next days I will try to bring together
all the completed parts and start with the mission design in the beginning of the
next week.&lt;/font&gt;
&lt;/center&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
Ratta ratta, peng peng, boom! 
&lt;p&gt;
&lt;a name="Intro"&gt;&lt;/a&gt;
&lt;h2&gt;Shoot'em'up
&lt;/h2&gt;
Yeah, hey now. This time I had way to much fun when generating this screenshot, now
it is actually possible do aim with the tank and shoot at stuff (with all the new
effects and sounds). It is a lot of fun. 
&lt;p&gt;
Warning, this is a long post (I've written it in the last 2 days), but I have a nice
idea: Content links, just click on them to jump to a section: 
&lt;ul&gt;
&lt;li&gt;
&lt;a href="#Intro"&gt;Shoot'em'up&lt;/a&gt; 
&lt;li&gt;
&lt;a href="#IISTroubles"&gt;Troubles with IIS&lt;/a&gt; 
&lt;li&gt;
&lt;a href="#RenderStateErrors"&gt;RenderState errors&lt;/a&gt; 
&lt;li&gt;
&lt;a href="#LightEffects"&gt;Light effects in DirectX&lt;/a&gt; 
&lt;li&gt;
&lt;a href="#OutOfVideoMemory"&gt;OutOfVideoMemory in Unit Tests&lt;/a&gt; 
&lt;li&gt;
&lt;a href="#VSRAM"&gt;VS2005 needs a lot of RAM&lt;/a&gt; 
&lt;li&gt;
&lt;a href="#Links"&gt;Links for today&lt;/a&gt; 
&lt;li&gt;
&lt;a href="#GosuGamers"&gt;New StarCraft site: www.GosuGamers.net&lt;/a&gt; 
&lt;li&gt;
&lt;a href="#TropicalIslands"&gt;Tropical-Islands resort&lt;/a&gt; 
&lt;/ul&gt;
&lt;p&gt;
&lt;a name="IISTroubles"&gt;&lt;/a&gt;
&lt;h2&gt;Troubles with IIS
&lt;/h2&gt;
I had some trouble the last few days with my IIS (Internet Information Server, the
thing producing ASP.NET web sites), it keept crashing and hanging up with out of memory
errors (this page was down a couple of times, sorry!) Really strange, that thing is
running for over an year now and I never had much troubles with it. The memory usage
was also pretty high (total ~900MB, IIS worker process alone had ~400 MB), I guess
this has something to do with dasBlog using .NET 2.0, dunno (there are no errors logged
anywhere). I had a lot of page hits this week after all the posts on other blogs about
me.&lt;br&gt;
The memory consumption of IIS goes constantly up and I had over 200MB mem usage again
after a couple of hours, hmm? Don't wounder if the site is down or you get some errors,
may happen because of these memory errors ... 
&lt;p&gt;
I also optimized the page from 50 entries max to 10 and cut down the number of entries
you will see on the start page. I hope that helps a bit, my server is really crappy
and old and needs a lot more memory (had only 256MB, but I upgraded to 512MB recently,
but its slower memory. I guess I need a gig or 2, lots of other services are also
running on that server). I also changed the app pool to a special one and set some
timeouts for requests and processing, maybe this will help (had no problems since
that change). 
&lt;p&gt;
&lt;a name="RenderStateErrors"&gt;&lt;/a&gt;
&lt;h2&gt;RenderState errors
&lt;/h2&gt;
Another annoying thing is the RenderState property of the DirectX device, it will
tell you you can "get and set" some state like FogEnabled, well you can set it, but
if you try to get the state it will just throw an exception. A lot of RenderState
gets will throw an exception actually, I'm really impressed by that. Great work not
to mention any of these things in the docs (the docs are pretty useless anyway, most
descriptions are trival anyway and IntelliSense helps you just as much). 
&lt;p&gt;
&lt;a name="LightEffects"&gt;&lt;/a&gt;
&lt;h2&gt;Light-Effects in DirectX
&lt;/h2&gt;
The light effects for the effect engine were pretty easy in DirectX, I remember this
was very hard to do in OpenGL (had to invert the alpha color, and with different color
settings everything got messed up, so a lot of special cases had to catched and handled).&lt;p&gt;
Basically this code is used (the light effect is a white texture with a spotlight
effect in the middle as the alpha channel):&lt;p&gt;
&lt;b&gt;Device.RenderState.AlphaBlendEnable = true;&lt;br&gt;
Device.RenderState.SourceBlend = Blend.DestinationColor;&lt;br&gt;
Device.RenderState.DestinationBlend = Blend.SourceAlpha;&lt;/b&gt; 
&lt;p&gt;
Now make sure both the color channel and the alpha channel will modulate from the
texture color and the diffuse color. Switching back to normal SourceAlpha - InvSourceAlpha
causes also no troubles with that. I like that :) 
&lt;p&gt;
&lt;a name="OutOfVideoMemory"&gt;&lt;/a&gt;
&lt;h2&gt;DirectX OutOfVideoMemory
&lt;/h2&gt;
Another problem I did have the last days when unit testing was running out of video
memory all the when creating the DirectX device (getting D3DERR_OUTOFVIDEOMEMORY exceptions)
after ~10 tests. When restarting VS, everything worked again for some time. 
&lt;p&gt;
I worked with that problem all week and found no solution, I changed a lot of debug
settings and changed some parts of the code, but nothing helped and there wasn't any
solution for out of video memory exceptions posted anywhere (my card has 128MB, how
can I run out of vid mem after a couple of tests?). Then I saw that some part of the
screenshot generation code wasn't finished and I saw the presentParams.SwapMode was
set to Flip instead of Discard (Discard is somewhat faster, but Flip allowed me to
easily catch the back buffer for the screenshot generation). I changed that, reduced
the back buffer count to double-buffering and reduced the resolution for tests from
1024x768 to 800x600 and never had any Out of Video Memory exceptions since then. Maybe
they happen after over 50 or 100 unit test runs, but then I can just restart VS and
it is not as annoying as before. 
&lt;p&gt;
&lt;a name="VSRAM"&gt;&lt;/a&gt;
&lt;h2&gt;VS2005 needs a lot of RAM
&lt;/h2&gt;
But VS2005 consumes still a lot of RAM (&gt;800MB, I got only 512MB ram on my dev machine).
I guess I have to buy some more RAM soon, everything gets very slow and crashes more
often when all the ram is used (and I can't work without VS2005 anymore). Restarting
VS helps, but with that much complex unit tests the memory comsumption goes up very
fast again. For example todays screenshot is actually just a unit test with around
50 lines of code, making very simple unit tests helps a lot to force you to refactor
and simplyfy your code constantly. 
&lt;p&gt;
&lt;a name="Links"&gt;&lt;/a&gt;
&lt;h2&gt;Todays Links
&lt;/h2&gt;
The links for today are The Z Buffer and Managed world, both great Managed-DirectX
sites. 
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://www.thezbuffer.com/"&gt;The Z Buffer&lt;/a&gt; Managed DirectX resources by 
&lt;li&gt;
&lt;a href="http://www.managed-world.com"&gt;Managed World&lt;/a&gt; great site with tutorials
and articles by Jason Olson, check out his &lt;a href="http://jolson.geekswithblogs.net/"&gt;blog&lt;/a&gt;. 
&lt;/ul&gt;
&lt;br&gt;
&lt;a name="GosuGamers"&gt;&lt;/a&gt;
&lt;h2&gt;GosuGamers.net
&lt;/h2&gt;
If any StarCraft fan reads this, the guys from www.StarCraftGamers.com did have a
lot of troubles with their hosting partner and left the partner. StarCraftGamers.net
was one of the greatest StarCraft community sites ever IMO, the new site is called &lt;a href="http://www.GosuGamers.net"&gt;www.GosuGamers.net&lt;/a&gt;.
Looks like the crew will continue their great work there, so check it out (the site
has still some bugs because it is new): Good luck &lt;a href="http://www.GosuGamers.net"&gt;www.GosuGamers.net&lt;/a&gt; 
&lt;p&gt;
&lt;a name="TropicalIslands"&gt;&lt;/a&gt;
&lt;h2&gt;Tropical-Islands
&lt;/h2&gt;
I'm now going to visit the &lt;a href="http://www.my-tropical-islands.com/engl/"&gt;Tropical-Islands&lt;/a&gt; resort
(new big thing here in germany) with my brothers and some friends :) Development will
continue tomorrow.&lt;img width="0" height="0" src="http://exdream.no-ip.info/blog/aggbug.ashx?id=27505540-829b-4778-9da2-0b987aadabad" /&gt;</description>
      <comments>http://exdream.no-ip.info/blog/CommentView,guid,27505540-829b-4778-9da2-0b987aadabad.aspx</comments>
      <category>All;BroodWar;Game Development;Lost Squadron;Lua;Other;Programming</category>
    </item>
    <item>
      <trackback:ping>http://exdream.no-ip.info/blog/Trackback.aspx?guid=2d4ed465-89f4-4549-bed5-6d74033c1e0a</trackback:ping>
      <pingback:server>http://exdream.no-ip.info/blog/pingback.aspx</pingback:server>
      <pingback:target>http://exdream.no-ip.info/blog/PermaLink,guid,2d4ed465-89f4-4549-bed5-6d74033c1e0a.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://exdream.no-ip.info/blog/CommentView,guid,2d4ed465-89f4-4549-bed5-6d74033c1e0a.aspx</wfw:comment>
      <wfw:commentRss>http://exdream.no-ip.info/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=2d4ed465-89f4-4549-bed5-6d74033c1e0a</wfw:commentRss>
      <slash:comments>7</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <table border="0" cellspacing="10">
          <tr>
            <td valign="top">
Welcome to 2005 :) Last week I didn't get much code done and run in a couple of problems
with Lua and the hardest part about it: debugging lua scripts called from c#. Over
the weekend I even tested if it might be worth to switch to Python and tested out
the <a href="http://www.ironpython.com/">IronPython</a> implementation and written
some <a href="http://python.org/">Python</a> test programs. <a href="http://python.org/">Python</a> has
definitely much more powerful libraries than lua and you can do great stuff with it,
the OOP is also much nicer than writing Lua code and having to worry about every .
: ] ) and } symbol much more than in any other script language I know of. But <a href="http://python.org/">Python</a> and
especially <a href="http://www.ironpython.com/">IronPython</a> is not only a total
overkill for a small application and trying to get something quickly to work, the
language has also a lot of disadvantages when comparing to <a href="http://www.lua.org">Lua</a>.
Its not only very large and complex and therefore much harder to learn, but to get
something working is much more complicated on the c# side. I also think <a href="http://www.lua.org">Lua</a> is
much more customable and allows modifying much lower level methods and calls. 
<p>
Ok, so I skipped that idea and returned back to Lua and finished the EffectManager
on the Lua side making only a couple of calls to c#. This did not only help to learn
more about Lua and scripting, but I also improved the c# engine very much and spend
a lot of time simplifying code of the engine. Creating textures, making unit tests,
error handling, etc. all got much easier (this comes when working with Lua and then
looking at c# code and thinking everything is overly complicated). Anyways, Ivo and
Fabian didn't do much either on the game and so we got stuck in the development and
started today again and made a new schedule to finish the game at the <b>end of next
week</b>. We will include some left out ideas and have gotten some new improvements
on the game, the editor and some units. Ivo did also start some new objects (buildings
and enemy units), there might be some fresh graphics for that soon. 
</p><p>
Over the chrismas and new years eve weekends I read some more of my Lua and Rapid
development books and yesterday I started reading Code Generation in .NET by Kathleen
Dollard, which is also very interessting and got me in a lot of thinking how to improve
coding in general (not only using scripts and code generation techiques, but going
1 step ahead and create new ways to handle coding and reusing existing code). 
</p><p>
Well, first of all Lost Squadron has to be finished :-) 
</p><p>
Useful links today: 
</p><ul><li><a href="http://abattoir.wolfpaw.net/personal/gamelibs.php">Free game libs (mostly
c++ stuff)</a></li></ul></td>
            <td width="370" valign="top">
              <a href="images/LostSquadron/Screenshot0043.jpg">
                <img src="images/LostSquadron/day16.jpg" border="0" />
              </a>
              <br />
              <center>
                <font size="-2">
                  <b>Day 16</b>:<br />
This screenshots shows my Lua EffectManager rendering effects with help of c# classes
(this is just a small unit test testing some effects), it is very fast and calling
Lua up to 20 times a frame produces still over 500 fps in debug mode and won't slow
down the game at all (using Lua is goooood ^^). I wasn't posting updates since the
last week because there wasn't much going on to produce fancy screenshots and I worked
at other stuff (internal parts of the engine and Lua scripting). I will now try to
post a screenshot at least every 2 days or so. Tomorrow I will hopefully finish the
unit shooting and exploding part and post a ingame screenshot again.</font>
              </center>
            </td>
          </tr>
        </table>
        <img width="0" height="0" src="http://exdream.no-ip.info/blog/aggbug.ashx?id=2d4ed465-89f4-4549-bed5-6d74033c1e0a" />
      </body>
      <title>Lost Squadron, Week 4, Day 2: Getting back to the game.</title>
      <guid isPermaLink="false">http://exdream.no-ip.info/blog/PermaLink,guid,2d4ed465-89f4-4549-bed5-6d74033c1e0a.aspx</guid>
      <link>http://exdream.no-ip.info/blog/2005/01/05/LostSquadronWeek4Day2GettingBackToTheGame.aspx</link>
      <pubDate>Wed, 05 Jan 2005 06:36:35 GMT</pubDate>
      <description>&lt;table border=0 cellspacing=10&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
Welcome to 2005 :) Last week I didn't get much code done and run in a couple of problems
with Lua and the hardest part about it: debugging lua scripts called from c#. Over
the weekend I even tested if it might be worth to switch to Python and tested out
the &lt;a href="http://www.ironpython.com/"&gt;IronPython&lt;/a&gt; implementation and written
some &lt;a href="http://python.org/"&gt;Python&lt;/a&gt; test programs. &lt;a href="http://python.org/"&gt;Python&lt;/a&gt; has
definitely much more powerful libraries than lua and you can do great stuff with it,
the OOP is also much nicer than writing Lua code and having to worry about every .
: ] ) and } symbol much more than in any other script language I know of. But &lt;a href="http://python.org/"&gt;Python&lt;/a&gt; and
especially &lt;a href="http://www.ironpython.com/"&gt;IronPython&lt;/a&gt; is not only a total
overkill for a small application and trying to get something quickly to work, the
language has also a lot of disadvantages when comparing to &lt;a href="http://www.lua.org"&gt;Lua&lt;/a&gt;.
Its not only very large and complex and therefore much harder to learn, but to get
something working is much more complicated on the c# side. I also think &lt;a href="http://www.lua.org"&gt;Lua&lt;/a&gt; is
much more customable and allows modifying much lower level methods and calls. 
&lt;p&gt;
Ok, so I skipped that idea and returned back to Lua and finished the EffectManager
on the Lua side making only a couple of calls to c#. This did not only help to learn
more about Lua and scripting, but I also improved the c# engine very much and spend
a lot of time simplifying code of the engine. Creating textures, making unit tests,
error handling, etc. all got much easier (this comes when working with Lua and then
looking at c# code and thinking everything is overly complicated). Anyways, Ivo and
Fabian didn't do much either on the game and so we got stuck in the development and
started today again and made a new schedule to finish the game at the &lt;b&gt;end of next
week&lt;/b&gt;. We will include some left out ideas and have gotten some new improvements
on the game, the editor and some units. Ivo did also start some new objects (buildings
and enemy units), there might be some fresh graphics for that soon. 
&lt;p&gt;
Over the chrismas and new years eve weekends I read some more of my Lua and Rapid
development books and yesterday I started reading Code Generation in .NET by Kathleen
Dollard, which is also very interessting and got me in a lot of thinking how to improve
coding in general (not only using scripts and code generation techiques, but going
1 step ahead and create new ways to handle coding and reusing existing code). 
&lt;p&gt;
Well, first of all Lost Squadron has to be finished :-) 
&lt;p&gt;
Useful links today: 
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://abattoir.wolfpaw.net/personal/gamelibs.php"&gt;Free game libs (mostly
c++ stuff)&lt;/a&gt; 
&lt;/ul&gt;
&lt;/td&gt;
&lt;td width=370 valign=top&gt;
&lt;a href="images/LostSquadron/Screenshot0043.jpg"&gt;&lt;img src="images/LostSquadron/day16.jpg" border=0&gt;&lt;/a&gt;
&lt;br&gt;
&lt;center&gt;&lt;font size=-2&gt;&lt;b&gt;Day 16&lt;/b&gt;:&lt;br&gt;
This screenshots shows my Lua EffectManager rendering effects with help of c# classes
(this is just a small unit test testing some effects), it is very fast and calling
Lua up to 20 times a frame produces still over 500 fps in debug mode and won't slow
down the game at all (using Lua is goooood ^^). I wasn't posting updates since the
last week because there wasn't much going on to produce fancy screenshots and I worked
at other stuff (internal parts of the engine and Lua scripting). I will now try to
post a screenshot at least every 2 days or so. Tomorrow I will hopefully finish the
unit shooting and exploding part and post a ingame screenshot again.&lt;/font&gt;
&lt;/center&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;img width="0" height="0" src="http://exdream.no-ip.info/blog/aggbug.ashx?id=2d4ed465-89f4-4549-bed5-6d74033c1e0a" /&gt;</description>
      <comments>http://exdream.no-ip.info/blog/CommentView,guid,2d4ed465-89f4-4549-bed5-6d74033c1e0a.aspx</comments>
      <category>All;Game Development;Lost Squadron;Lua;Programming</category>
    </item>
    <item>
      <trackback:ping>http://exdream.no-ip.info/blog/Trackback.aspx?guid=74f59bc0-3ef3-41c3-9ca5-bf3d793d9b75</trackback:ping>
      <pingback:server>http://exdream.no-ip.info/blog/pingback.aspx</pingback:server>
      <pingback:target>http://exdream.no-ip.info/blog/PermaLink,guid,74f59bc0-3ef3-41c3-9ca5-bf3d793d9b75.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://exdream.no-ip.info/blog/CommentView,guid,74f59bc0-3ef3-41c3-9ca5-bf3d793d9b75.aspx</wfw:comment>
      <wfw:commentRss>http://exdream.no-ip.info/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=74f59bc0-3ef3-41c3-9ca5-bf3d793d9b75</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">Omg. I have become a total slacker the
last couple of days, no updates here :( I didn't had much time over christmas to code,
but I read some more of my Rapid Development book (<a href="http://abi.exdream.com/blog/PermaLink.aspx?guid=42bdcd49-2490-4f60-af1c-3ff54c1be1d1">see
last post</a>) and it is still interessting and insightful. Yesterday I still was
in vacation land and had to force myself to get back to coding ^^ 
<p>
I also reconsidered some choices I made and came to the conclusion that this project
was originally started to make a quick little game with DirectX9 in c# and also to
write a new base engine for upcoming DirectX9 projects. I did obviously spend too
much time researching shaders (DirectX9 fx high shader language) and saw last week
there is no way to implement that nicely in 2 weeks (when the game is running with
all the other parts finished I will reconsider implementing shaders). For the engine
part of the deal this is still great work and I have a lot of base classes for any
shader effect development ready, but for the "quick little game" Lost Squadron part
it is not looking so good. It is a conflict of interests because finishing up something
quickly does not work hand in hand with researching and implementing new techniques.
For this project I think it is better to focus on developing a solid base engine,
next project will be planed much straighter. 
</p><p>
Yesterday I collected a lot of effect graphics and sounds and made some new ones.
I got now a nice collection of effects with graphics and some funny sounds for the
effect engine and made a couple of effect types (parameters, testing, etc.), but when
adding more and more effects it became very obvious that this would be a great think
for scripts. Instead of hating myself later for not using scripts right away, I just
went crazy and implemented the whole effect system in LUA scripts and can add new
effects there without changing any code of the engine. I did the base code for that
a month ago (check out LUA.NET for doing that in c#) and have read the great book
Programming in Lua by Roberto Ierusalimschy. 
</p><p>
LUA links in case you are interessted: 
</p><ul><li><a href="http://www.lua.org/">The Programming Language LUA</a> The online version
of the book by Roberto I. is also available there for free. 
</li><li><a href="http://bandodalua.lua.inf.puc-rio.br/luanet/">LUA.NET for implementing Lua
in .NET</a> Sadly the LUA IL project isn't public yet, but LUA lib is ok too. 
</li><li><a href="http://www.nessie.de/mroth/lunit/">LUnit</a> Unit Testing with LUA. 
</li><li><a href="http://www.quotixsoftware.com/qde_index.htm">QDE</a> THE IDE for LUA development! 
</li><li><a href="http://www.sjbrown.co.uk/lualite.html">LuaLite</a> Syntax highlighting support
for Visual Studio, but does only work for VS2003. 
</li><li><a href="http://lua-users.org/wiki/LuaDirectory">Lua-users.org</a> Everything else
you need for your LUA development 
</li></ul><p>
The effect engine needs still some testing and I haven't worked with lunit yet (will
do that tomorrow), everything should be up and running tomorrow and I will post a
new screenshot with some nice effects then. The rest of the base classes except wayfinding
and enemy ai is also pretty much complete, so I hope I can finish up a small demo
till New Years Eve (driving around, shooting at some stupid enemies). 
</p><p>
Sorry for no screenshot today and sorry for the long pause. Fabian is ill (my intern
helping me out a bit with Lost Squadron), hope you get better till next week :) Tomorrow
the LUA effect engine should work and I will post a screenshot of the actual gameplay
finally (I want to kill some stuff).<img width="0" height="0" src="http://exdream.no-ip.info/blog/aggbug.ashx?id=74f59bc0-3ef3-41c3-9ca5-bf3d793d9b75" /></p></body>
      <title>Lost Squadron, Week 3, Day 2: Getting back on track</title>
      <guid isPermaLink="false">http://exdream.no-ip.info/blog/PermaLink,guid,74f59bc0-3ef3-41c3-9ca5-bf3d793d9b75.aspx</guid>
      <link>http://exdream.no-ip.info/blog/2004/12/29/LostSquadronWeek3Day2GettingBackOnTrack.aspx</link>
      <pubDate>Wed, 29 Dec 2004 11:42:35 GMT</pubDate>
      <description>Omg. I have become a total slacker the last couple of days, no updates here :( I didn't had much time over christmas to code, but I read some more of my Rapid Development book (&lt;a href="http://abi.exdream.com/blog/PermaLink.aspx?guid=42bdcd49-2490-4f60-af1c-3ff54c1be1d1"&gt;see
last post&lt;/a&gt;) and it is still interessting and insightful. Yesterday I still was
in vacation land and had to force myself to get back to coding ^^ 
&lt;p&gt;
I also reconsidered some choices I made and came to the conclusion that this project
was originally started to make a quick little game with DirectX9 in c# and also to
write a new base engine for upcoming DirectX9 projects. I did obviously spend too
much time researching shaders (DirectX9 fx high shader language) and saw last week
there is no way to implement that nicely in 2 weeks (when the game is running with
all the other parts finished I will reconsider implementing shaders). For the engine
part of the deal this is still great work and I have a lot of base classes for any
shader effect development ready, but for the "quick little game" Lost Squadron part
it is not looking so good. It is a conflict of interests because finishing up something
quickly does not work hand in hand with researching and implementing new techniques.
For this project I think it is better to focus on developing a solid base engine,
next project will be planed much straighter. 
&lt;p&gt;
Yesterday I collected a lot of effect graphics and sounds and made some new ones.
I got now a nice collection of effects with graphics and some funny sounds for the
effect engine and made a couple of effect types (parameters, testing, etc.), but when
adding more and more effects it became very obvious that this would be a great think
for scripts. Instead of hating myself later for not using scripts right away, I just
went crazy and implemented the whole effect system in LUA scripts and can add new
effects there without changing any code of the engine. I did the base code for that
a month ago (check out LUA.NET for doing that in c#) and have read the great book
Programming in Lua by Roberto Ierusalimschy. 
&lt;p&gt;
LUA links in case you are interessted: 
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://www.lua.org/"&gt;The Programming Language LUA&lt;/a&gt; The online version
of the book by Roberto I. is also available there for free. 
&lt;li&gt;
&lt;a href="http://bandodalua.lua.inf.puc-rio.br/luanet/"&gt;LUA.NET for implementing Lua
in .NET&lt;/a&gt; Sadly the LUA IL project isn't public yet, but LUA lib is ok too. 
&lt;li&gt;
&lt;a href="http://www.nessie.de/mroth/lunit/"&gt;LUnit&lt;/a&gt; Unit Testing with LUA. 
&lt;li&gt;
&lt;a href="http://www.quotixsoftware.com/qde_index.htm"&gt;QDE&lt;/a&gt; THE IDE for LUA development! 
&lt;li&gt;
&lt;a href="http://www.sjbrown.co.uk/lualite.html"&gt;LuaLite&lt;/a&gt; Syntax highlighting support
for Visual Studio, but does only work for VS2003. 
&lt;li&gt;
&lt;a href="http://lua-users.org/wiki/LuaDirectory"&gt;Lua-users.org&lt;/a&gt; Everything else
you need for your LUA development 
&lt;/ul&gt;
&lt;p&gt;
The effect engine needs still some testing and I haven't worked with lunit yet (will
do that tomorrow), everything should be up and running tomorrow and I will post a
new screenshot with some nice effects then. The rest of the base classes except wayfinding
and enemy ai is also pretty much complete, so I hope I can finish up a small demo
till New Years Eve (driving around, shooting at some stupid enemies). 
&lt;p&gt;
Sorry for no screenshot today and sorry for the long pause. Fabian is ill (my intern
helping me out a bit with Lost Squadron), hope you get better till next week :) Tomorrow
the LUA effect engine should work and I will post a screenshot of the actual gameplay
finally (I want to kill some stuff).&lt;img width="0" height="0" src="http://exdream.no-ip.info/blog/aggbug.ashx?id=74f59bc0-3ef3-41c3-9ca5-bf3d793d9b75" /&gt;</description>
      <comments>http://exdream.no-ip.info/blog/CommentView,guid,74f59bc0-3ef3-41c3-9ca5-bf3d793d9b75.aspx</comments>
      <category>All;Game Development;Lost Squadron;Lua;Programming</category>
    </item>
    <item>
      <trackback:ping>http://exdream.no-ip.info/blog/Trackback.aspx?guid=42bdcd49-2490-4f60-af1c-3ff54c1be1d1</trackback:ping>
      <pingback:server>http://exdream.no-ip.info/blog/pingback.aspx</pingback:server>
      <pingback:target>http://exdream.no-ip.info/blog/PermaLink,guid,42bdcd49-2490-4f60-af1c-3ff54c1be1d1.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://exdream.no-ip.info/blog/CommentView,guid,42bdcd49-2490-4f60-af1c-3ff54c1be1d1.aspx</wfw:comment>
      <wfw:commentRss>http://exdream.no-ip.info/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=42bdcd49-2490-4f60-af1c-3ff54c1be1d1</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <table border="0" cellspacing="10">
          <tr>
            <td valign="top">
First of all: Merry christmas to everyone and thanks for reading all this stuff, my
page views increased a lot since I do this daily series. 
<p>
I spend the last couple of hours trying to get Unit Testing on the engine level to
work and I finally got now everything up and running. This is really one of the greatest
things ever in Game Development IMO! Normally I would spend a lot of time changing
code to just test stuff or even write small test application only to check the behaviour
and graphical output of effects, newly imported textures or models or new game features.
Now I can just write a VERY short Unit Test for that INSIDE my project, no more extra
projects, no more messing around in the code. 
</p><p>
Just to make this clear: This is not a usual Unit Test like in other parts of the
engine, like when checking file input/output, internal methods or some logic issues.
These Game Unit Tests (thats how I will call them from now on, or just GUT, which
is german for good ^^) give you all the features and easy testing possibilities like
normal unit tests, but you can initialize the whole engine, see visually whats going
on and shut down everything automatically or by user input. Let me give you an example
how this looks: 
</p><p><img src="images/UnitTestingGame1.png" /><br />
Note: This code uses .NET 2.0, if you want to read about Anonymous Methods <a href="http://msdn.microsoft.com/msdnmag/issues/04/05/c20/default.aspx">click
here</a>. 
</p><p>
Same thing is of course possible with a couple of lines more code when not using Anonymous
Methods (using Events or just duplicating the code in TestInitEngine). This code will
create all the stuff required for the game engine, then execute the initialization
code to create the effectManager. Then it will proceed to the game loop and execute
the render code each loop there, everything will be shut down if the user quits the
form, presses some key or if we set a timeout to quit automatically. There is a lot
of hidden code behind all that, but this is exactly the code executed when just running
the game and testing that is always good :-) 
</p><p>
In the next 2 days I will not code much (visiting family, chrismas, etc.), but I will
to read 2 nice book from Steve McConnell: <a href="http://www.amazon.com/exec/obidos/tg/detail/-/0735619670/103-0593360-8919023?v=glance">Code
Complete 2</a> and <a href="http://www.amazon.com/exec/obidos/tg/detail/-/1556159005/103-0593360-8919023?v=glance">Rapid
Development</a>. I already read a couple of pages of Rapid Development and it is really
written good and very interessting. 
</p><p>
The next Lost Squadron screenshot will be posted presumably in 2 days. 
</p></td>
            <td width="370" valign="top">
              <a href="images/LostSquadron/Screenshot0039.jpg">
                <img src="images/LostSquadron/day14.jpg" border="0" />
              </a>
              <br />
              <center>
                <font size="-2">
                  <b>Day 14</b>:<br />
The game itself did only get some minor improvements today, I spend most of the time
on the engine. As you can see on the screenshot, there are now effects like that explosion
effect (there are already over 20 effect types), but the EffectManager isn't complete
yet. Additionally to the road it is now possible to set railroads and I imported some
new objects and new graphics into the editor (not on the screenshot).</font>
              </center>
            </td>
          </tr>
        </table>
        <img width="0" height="0" src="http://exdream.no-ip.info/blog/aggbug.ashx?id=42bdcd49-2490-4f60-af1c-3ff54c1be1d1" />
      </body>
      <title>Lost Squadron, Day 14: Effects and Game Unit Testing</title>
      <guid isPermaLink="false">http://exdream.no-ip.info/blog/PermaLink,guid,42bdcd49-2490-4f60-af1c-3ff54c1be1d1.aspx</guid>
      <link>http://exdream.no-ip.info/blog/2004/12/24/LostSquadronDay14EffectsAndGameUnitTesting.aspx</link>
      <pubDate>Fri, 24 Dec 2004 09:43:25 GMT</pubDate>
      <description>&lt;table border=0 cellspacing=10&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
First of all: Merry christmas to everyone and thanks for reading all this stuff, my
page views increased a lot since I do this daily series. 
&lt;p&gt;
I spend the last couple of hours trying to get Unit Testing on the engine level to
work and I finally got now everything up and running. This is really one of the greatest
things ever in Game Development IMO! Normally I would spend a lot of time changing
code to just test stuff or even write small test application only to check the behaviour
and graphical output of effects, newly imported textures or models or new game features.
Now I can just write a VERY short Unit Test for that INSIDE my project, no more extra
projects, no more messing around in the code. 
&lt;p&gt;
Just to make this clear: This is not a usual Unit Test like in other parts of the
engine, like when checking file input/output, internal methods or some logic issues.
These Game Unit Tests (thats how I will call them from now on, or just GUT, which
is german for good ^^) give you all the features and easy testing possibilities like
normal unit tests, but you can initialize the whole engine, see visually whats going
on and shut down everything automatically or by user input. Let me give you an example
how this looks: 
&lt;p&gt;
&lt;img src="images/UnitTestingGame1.png"&gt; 
&lt;br&gt;
Note: This code uses .NET 2.0, if you want to read about Anonymous Methods &lt;a href="http://msdn.microsoft.com/msdnmag/issues/04/05/c20/default.aspx"&gt;click
here&lt;/a&gt;. 
&lt;p&gt;
Same thing is of course possible with a couple of lines more code when not using Anonymous
Methods (using Events or just duplicating the code in TestInitEngine). This code will
create all the stuff required for the game engine, then execute the initialization
code to create the effectManager. Then it will proceed to the game loop and execute
the render code each loop there, everything will be shut down if the user quits the
form, presses some key or if we set a timeout to quit automatically. There is a lot
of hidden code behind all that, but this is exactly the code executed when just running
the game and testing that is always good :-) 
&lt;p&gt;
In the next 2 days I will not code much (visiting family, chrismas, etc.), but I will
to read 2 nice book from Steve McConnell: &lt;a href="http://www.amazon.com/exec/obidos/tg/detail/-/0735619670/103-0593360-8919023?v=glance"&gt;Code
Complete 2&lt;/a&gt; and &lt;a href="http://www.amazon.com/exec/obidos/tg/detail/-/1556159005/103-0593360-8919023?v=glance"&gt;Rapid
Development&lt;/a&gt;. I already read a couple of pages of Rapid Development and it is really
written good and very interessting. 
&lt;p&gt;
The next Lost Squadron screenshot will be posted presumably in 2 days. 
&lt;/td&gt;
&lt;td width=370 valign=top&gt;
&lt;a href="images/LostSquadron/Screenshot0039.jpg"&gt;&lt;img src="images/LostSquadron/day14.jpg" border=0&gt;&lt;/a&gt;
&lt;br&gt;
&lt;center&gt;&lt;font size=-2&gt;&lt;b&gt;Day 14&lt;/b&gt;:&lt;br&gt;
The game itself did only get some minor improvements today, I spend most of the time
on the engine. As you can see on the screenshot, there are now effects like that explosion
effect (there are already over 20 effect types), but the EffectManager isn't complete
yet. Additionally to the road it is now possible to set railroads and I imported some
new objects and new graphics into the editor (not on the screenshot).&lt;/font&gt;
&lt;/center&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;img width="0" height="0" src="http://exdream.no-ip.info/blog/aggbug.ashx?id=42bdcd49-2490-4f60-af1c-3ff54c1be1d1" /&gt;</description>
      <comments>http://exdream.no-ip.info/blog/CommentView,guid,42bdcd49-2490-4f60-af1c-3ff54c1be1d1.aspx</comments>
      <category>All;Game Development;Lost Squadron;Programming</category>
    </item>
    <item>
      <trackback:ping>http://exdream.no-ip.info/blog/Trackback.aspx?guid=9401660c-f586-4d2b-8f5f-ef275bbc740b</trackback:ping>
      <pingback:server>http://exdream.no-ip.info/blog/pingback.aspx</pingback:server>
      <pingback:target>http://exdream.no-ip.info/blog/PermaLink,guid,9401660c-f586-4d2b-8f5f-ef275bbc740b.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://exdream.no-ip.info/blog/CommentView,guid,9401660c-f586-4d2b-8f5f-ef275bbc740b.aspx</wfw:comment>
      <wfw:commentRss>http://exdream.no-ip.info/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=9401660c-f586-4d2b-8f5f-ef275bbc740b</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <table border="0" cellspacing="10">
          <tr>
            <td valign="top">
Hey everyone. Today I made some improvements on the graphical side, mainly because
I received some mixed feedback about the current graphics. Doesn't look too pretty
right now. For that reason and because a lot of classes for the game handling are
not finished yet (and only 1 day left till chrismas) I think its much better to give
this project 1 week more. Maybe this time will be enough to finally implement shaders
and shadows for all objects. Especially shadows will add so much to the game, it is
pretty much impossible to tell how height an object is when looking straight down.
Shadows would not only make the scene more realistic but would also improve the gameplay
(you would see what your unit can and can't see). 
<p>
As you can see on the screen I completed the roads stuff and added some new objects.
Also as planed yesterday the moving around and mouse aiming does work now, but I'm
screwed again with those X files, there are totally messed up (rotation wrong, each
object is rotated differently, meshes do not fit on top of each other, the upper part
of the tank does not have the same pivot point, really annoying), grr, but I don't
have the time to write an own 3d-model format (or import any format into the engine,
3ds would suck at a similar level). 
</p><p>
I also started the game message classes and most classes needed for gameplay are existing
now, but most of the functionallity is missing. I will try a new approach this time
to write that code: Unit Testing. Many smaller methods of the internal engine are
already checked, but I never done large Unit Tests for a whole game. The tests should
be able to run the whole game (creating units, moving around, blowing stuff up, doing
graphic effects, winning, losing, etc.). I will report back how that works. Later
today (when I slept a couple of hours ^^) I will start that stuff with my intern Fabian
:-) 
</p><p>
So the new date for the first Demo version of Lost Squadron is 2004-12-31. It might
be playable tomorrow already a bit, but I don't think it is wise to release it so
early. The first experience should be very nice and for a quick look you got the screenshots
here ^^ 
</p><p>
Here is a fun link about Programming Languages and why some of them failed and others
not:<br /><a href="http://khason.biz/blog/2004/12/why-microsoft-can-blow-off-with-c.html">why-microsoft-can-blow-off-with-c.html</a></p></td>
            <td width="370" valign="top">
              <a href="images/LostSquadron/Screenshot0037.jpg">
                <img src="images/LostSquadron/day13.jpg" border="0" />
              </a>
              <br />
              <center>
                <font size="-2">
                  <b>Day 13</b>:<br />
Some new models, but still a lot of problems with x files (man they suck, I can't
imagine anyone is actually using them for anything except test projects). Note: Don't
expect that this screenshots will fully represent the final game, everything can change
(just check the screenshots of the first days, there have nothing to do with the current
state).</font>
              </center>
            </td>
          </tr>
        </table>
        <img width="0" height="0" src="http://exdream.no-ip.info/blog/aggbug.ashx?id=9401660c-f586-4d2b-8f5f-ef275bbc740b" />
      </body>
      <title>Lost Squadron, Day 13: One week more plz ^^</title>
      <guid isPermaLink="false">http://exdream.no-ip.info/blog/PermaLink,guid,9401660c-f586-4d2b-8f5f-ef275bbc740b.aspx</guid>
      <link>http://exdream.no-ip.info/blog/2004/12/23/LostSquadronDay13OneWeekMorePlz.aspx</link>
      <pubDate>Thu, 23 Dec 2004 09:19:14 GMT</pubDate>
      <description>&lt;table border=0 cellspacing=10&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
Hey everyone. Today I made some improvements on the graphical side, mainly because
I received some mixed feedback about the current graphics. Doesn't look too pretty
right now. For that reason and because a lot of classes for the game handling are
not finished yet (and only 1 day left till chrismas) I think its much better to give
this project 1 week more. Maybe this time will be enough to finally implement shaders
and shadows for all objects. Especially shadows will add so much to the game, it is
pretty much impossible to tell how height an object is when looking straight down.
Shadows would not only make the scene more realistic but would also improve the gameplay
(you would see what your unit can and can't see). 
&lt;p&gt;
As you can see on the screen I completed the roads stuff and added some new objects.
Also as planed yesterday the moving around and mouse aiming does work now, but I'm
screwed again with those X files, there are totally messed up (rotation wrong, each
object is rotated differently, meshes do not fit on top of each other, the upper part
of the tank does not have the same pivot point, really annoying), grr, but I don't
have the time to write an own 3d-model format (or import any format into the engine,
3ds would suck at a similar level). 
&lt;p&gt;
I also started the game message classes and most classes needed for gameplay are existing
now, but most of the functionallity is missing. I will try a new approach this time
to write that code: Unit Testing. Many smaller methods of the internal engine are
already checked, but I never done large Unit Tests for a whole game. The tests should
be able to run the whole game (creating units, moving around, blowing stuff up, doing
graphic effects, winning, losing, etc.). I will report back how that works. Later
today (when I slept a couple of hours ^^) I will start that stuff with my intern Fabian
:-) 
&lt;p&gt;
So the new date for the first Demo version of Lost Squadron is 2004-12-31. It might
be playable tomorrow already a bit, but I don't think it is wise to release it so
early. The first experience should be very nice and for a quick look you got the screenshots
here ^^ 
&lt;p&gt;
Here is a fun link about Programming Languages and why some of them failed and others
not:&lt;br&gt;
&lt;a href="http://khason.biz/blog/2004/12/why-microsoft-can-blow-off-with-c.html"&gt;why-microsoft-can-blow-off-with-c.html&lt;/a&gt; 
&lt;/td&gt;
&lt;td width=370 valign=top&gt;
&lt;a href="images/LostSquadron/Screenshot0037.jpg"&gt;&lt;img src="images/LostSquadron/day13.jpg" border=0&gt;&lt;/a&gt;
&lt;br&gt;
&lt;center&gt;&lt;font size=-2&gt;&lt;b&gt;Day 13&lt;/b&gt;:&lt;br&gt;
Some new models, but still a lot of problems with x files (man they suck, I can't
imagine anyone is actually using them for anything except test projects). Note: Don't
expect that this screenshots will fully represent the final game, everything can change
(just check the screenshots of the first days, there have nothing to do with the current
state).&lt;/font&gt;
&lt;/center&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;img width="0" height="0" src="http://exdream.no-ip.info/blog/aggbug.ashx?id=9401660c-f586-4d2b-8f5f-ef275bbc740b" /&gt;</description>
      <comments>http://exdream.no-ip.info/blog/CommentView,guid,9401660c-f586-4d2b-8f5f-ef275bbc740b.aspx</comments>
      <category>All;Game Development;Lost Squadron;Programming</category>
    </item>
    <item>
      <trackback:ping>http://exdream.no-ip.info/blog/Trackback.aspx?guid=06d9c633-a054-4792-a489-dab797a6afbf</trackback:ping>
      <pingback:server>http://exdream.no-ip.info/blog/pingback.aspx</pingback:server>
      <pingback:target>http://exdream.no-ip.info/blog/PermaLink,guid,06d9c633-a054-4792-a489-dab797a6afbf.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://exdream.no-ip.info/blog/CommentView,guid,06d9c633-a054-4792-a489-dab797a6afbf.aspx</wfw:comment>
      <wfw:commentRss>http://exdream.no-ip.info/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=06d9c633-a054-4792-a489-dab797a6afbf</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <table border="0" cellspacing="10">
          <tr>
            <td valign="top">
Yes! Finally I got back to the game code after all this Editor and Shader coding and
run into some problems when rendering some models with transparency. First of all
the models had to be rendered from back to front, but even then the models with multiple
alpha layers were completly messed up. So I had to split up the alpha layers to multiple
meshes and tryed to render them back to front, but DirectX tries to render per materials
and not per meshes, so that didn't work easily. 
<p>
I had another idea to just test the alpha values for 50% alpha and then skip writing
to the frame buffer and that didn't work either (framebuffer is full of false pixels
anyway). Instead of banging my head into the wall I just steped back and thought about
needing this feature at all and no, there is no need for that in this game: I can
just delete or don't use anything with multiple alpha layers. For example the palm
had 3 layers of palm leaves, but I killed 2 of them and no everything is working perfectly
(I still have to sort objects and to render first solid, then alpha materials, but
thats pretty fast). I'm happy I got this solved :-) 
</p><p>
The Editor was also improved a bit and everything needed for a full mission can be
set there. As you can see on the screenshot there are a couple of new features for
the map: Roads, some more neutral objects and some enemy units. Shadows and shaders
would be nice too, but there is no time for that right now. Maybe I will be able to
put that into the engine next week. 
</p><p>
Moving around with the tank and aim and shoot on stuff should work tomorrow. Effects
and AI won't be complete till christmas, there will be most likely only a couple of
standard effects. Also collision detection is another big issue. 
</p></td>
            <td width="370" valign="top">
              <a href="images/LostSquadron/Screenshot0035.jpg">
                <img src="images/LostSquadron/day12.jpg" border="0" />
              </a>
              <br />
              <center>
                <font size="-2">
                  <b>Day 12</b>:<br />
Lots of dummy objects (especially the red car), but lighting works, loading maps from
editor works and roads are going to work soon too ^^ Also a lot of gameplay classes
done today. More objects will be made and imported soon to improve the game feeling.</font>
              </center>
            </td>
          </tr>
        </table>
        <img width="0" height="0" src="http://exdream.no-ip.info/blog/aggbug.ashx?id=06d9c633-a054-4792-a489-dab797a6afbf" />
      </body>
      <title>Lost Squadron, Day 12: Back to the game</title>
      <guid isPermaLink="false">http://exdream.no-ip.info/blog/PermaLink,guid,06d9c633-a054-4792-a489-dab797a6afbf.aspx</guid>
      <link>http://exdream.no-ip.info/blog/2004/12/22/LostSquadronDay12BackToTheGame.aspx</link>
      <pubDate>Wed, 22 Dec 2004 09:52:57 GMT</pubDate>
      <description>&lt;table border=0 cellspacing=10&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
Yes! Finally I got back to the game code after all this Editor and Shader coding and
run into some problems when rendering some models with transparency. First of all
the models had to be rendered from back to front, but even then the models with multiple
alpha layers were completly messed up. So I had to split up the alpha layers to multiple
meshes and tryed to render them back to front, but DirectX tries to render per materials
and not per meshes, so that didn't work easily. 
&lt;p&gt;
I had another idea to just test the alpha values for 50% alpha and then skip writing
to the frame buffer and that didn't work either (framebuffer is full of false pixels
anyway). Instead of banging my head into the wall I just steped back and thought about
needing this feature at all and no, there is no need for that in this game: I can
just delete or don't use anything with multiple alpha layers. For example the palm
had 3 layers of palm leaves, but I killed 2 of them and no everything is working perfectly
(I still have to sort objects and to render first solid, then alpha materials, but
thats pretty fast). I'm happy I got this solved :-) 
&lt;p&gt;
The Editor was also improved a bit and everything needed for a full mission can be
set there. As you can see on the screenshot there are a couple of new features for
the map: Roads, some more neutral objects and some enemy units. Shadows and shaders
would be nice too, but there is no time for that right now. Maybe I will be able to
put that into the engine next week. 
&lt;p&gt;
Moving around with the tank and aim and shoot on stuff should work tomorrow. Effects
and AI won't be complete till christmas, there will be most likely only a couple of
standard effects. Also collision detection is another big issue. 
&lt;/td&gt;
&lt;td width=370 valign=top&gt;
&lt;a href="images/LostSquadron/Screenshot0035.jpg"&gt;&lt;img src="images/LostSquadron/day12.jpg" border=0&gt;&lt;/a&gt;
&lt;br&gt;
&lt;center&gt;&lt;font size=-2&gt;&lt;b&gt;Day 12&lt;/b&gt;:&lt;br&gt;
Lots of dummy objects (especially the red car), but lighting works, loading maps from
editor works and roads are going to work soon too ^^ Also a lot of gameplay classes
done today. More objects will be made and imported soon to improve the game feeling.&lt;/font&gt;
&lt;/center&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;img width="0" height="0" src="http://exdream.no-ip.info/blog/aggbug.ashx?id=06d9c633-a054-4792-a489-dab797a6afbf" /&gt;</description>
      <comments>http://exdream.no-ip.info/blog/CommentView,guid,06d9c633-a054-4792-a489-dab797a6afbf.aspx</comments>
      <category>All;Game Development;Lost Squadron;Programming</category>
    </item>
    <item>
      <trackback:ping>http://exdream.no-ip.info/blog/Trackback.aspx?guid=4adcec3e-e46e-4423-9778-6d6136324907</trackback:ping>
      <pingback:server>http://exdream.no-ip.info/blog/pingback.aspx</pingback:server>
      <pingback:target>http://exdream.no-ip.info/blog/PermaLink,guid,4adcec3e-e46e-4423-9778-6d6136324907.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://exdream.no-ip.info/blog/CommentView,guid,4adcec3e-e46e-4423-9778-6d6136324907.aspx</wfw:comment>
      <wfw:commentRss>http://exdream.no-ip.info/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=4adcec3e-e46e-4423-9778-6d6136324907</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">Well, this shader stuff is really annoying.
I got a new shader for the landscape in a test app working and implemented some test
textures there. But when changing the light to a spotlight I ran into many problems,
not so easy as I thought. At least I know now how to pass all that vertex buffer data
to the vertex shader, but for a ground shader with works nice with all the lights
there is still some work to do and I don't have the time for that. So I will skip
now all the normal mapping stuff until later when the game is complete. For meshes
normal maps are working (at least with directional light), maybe I will use some of
that. 
<p>
Anyways, time is running out, I wrote down all the weapons, powerups and enemies today
and created some classes for that, but there is nothing finished yet, so no screenie
today. Sorry. Worked the last couple of hours on shader stuff anyway and I told myself
it I don't get it working today, I will leave shaders out and add them maybe later.<img width="0" height="0" src="http://exdream.no-ip.info/blog/aggbug.ashx?id=4adcec3e-e46e-4423-9778-6d6136324907" /></p></body>
      <title>Lost Squadron, Day 11: Another day with the shaders.</title>
      <guid isPermaLink="false">http://exdream.no-ip.info/blog/PermaLink,guid,4adcec3e-e46e-4423-9778-6d6136324907.aspx</guid>
      <link>http://exdream.no-ip.info/blog/2004/12/21/LostSquadronDay11AnotherDayWithTheShaders.aspx</link>
      <pubDate>Tue, 21 Dec 2004 05:42:51 GMT</pubDate>
      <description>Well, this shader stuff is really annoying. I got a new shader for the landscape in a test app working and implemented some test textures there. But when changing the light to a spotlight I ran into many problems, not so easy as I thought. At least I know now how to pass all that vertex buffer data to the vertex shader, but for a ground shader with works nice with all the lights there is still some work to do and I don't have the time for that. So I will skip now all the normal mapping stuff until later when the game is complete. For meshes normal maps are working (at least with directional light), maybe I will use some of that.
&lt;p&gt;
Anyways, time is running out, I wrote down all the weapons, powerups and enemies today
and created some classes for that, but there is nothing finished yet, so no screenie
today. Sorry. Worked the last couple of hours on shader stuff anyway and I told myself
it I don't get it working today, I will leave shaders out and add them maybe later.&lt;img width="0" height="0" src="http://exdream.no-ip.info/blog/aggbug.ashx?id=4adcec3e-e46e-4423-9778-6d6136324907" /&gt;</description>
      <comments>http://exdream.no-ip.info/blog/CommentView,guid,4adcec3e-e46e-4423-9778-6d6136324907.aspx</comments>
      <category>All;Game Development;Lost Squadron;Programming</category>
    </item>
    <item>
      <trackback:ping>http://exdream.no-ip.info/blog/Trackback.aspx?guid=35e7bcc5-31f7-46c4-9d50-8ec8a74c3df5</trackback:ping>
      <pingback:server>http://exdream.no-ip.info/blog/pingback.aspx</pingback:server>
      <pingback:target>http://exdream.no-ip.info/blog/PermaLink,guid,35e7bcc5-31f7-46c4-9d50-8ec8a74c3df5.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://exdream.no-ip.info/blog/CommentView,guid,35e7bcc5-31f7-46c4-9d50-8ec8a74c3df5.aspx</wfw:comment>
      <wfw:commentRss>http://exdream.no-ip.info/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=35e7bcc5-31f7-46c4-9d50-8ec8a74c3df5</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <table border="0" cellspacing="10">
          <tr>
            <td valign="top">
I was working still on the Editor today, not that much editor features were missing,
but a lot of other stuff eat up a lot of development time. Drawing lines for example
is really bad in DirectX, either you just draw some primitives and get slow when drawing
a lot of them and have a lot of overhead each time setting all states (and recovering
from some crazy states the caller might have left, nothing is working as espected)
or you use this stupid Line class wrapper thing, which will cut your framerate by
the factor 2 or 3 (really great, no wonder noone uses it). Or you can just draw stuff
with vertex buffers, but thats also very annoying because you have to create the vertex
buffer and handle all that vertex creation, and also obviously not the right approach
for a single line. 
<p>
So I ended up writing a nice LineManager class, which collects all lines draw each
frame and put them in a vertex buffer and because the lines are only changed when
some big change happens, the vertex buffer can stay the same for a long time and thats
really fast. Everthing gets rendered at the end of the frame (used for on screen controls
and other stuff anyways). Same thing for filled boxes, color blending effects, etc.
lots of helper classes. 
</p><p>
The texture blending (as you can see in the image) was also not a piece of cake, but
the blending over 5x5 vertices is now a nice technique. The textures are not really
fitting good together, when you just put them besides each other, but with this blending
technique it looks really good (or maybe I'm just to tired to tell anymore ^^). Another
bonus is my new vertex format, which is compatible with a test shader I wrote 2 days
ago (which didn't run correctly back then, I only managed to do some basic stuff).
Seems like some arguments where missing and the vertex shader wasn't complaining,
but crashing some time later (after couple of calls, not really funny to debug). 
</p><p>
There isn't much time left, so maybe some features might have to be put on hold because
I really want to finish the base game this week (just 1-2 missions, only basic features
to see if its really as much fun as I imagine). If its playable a small demo or some
sort of beta-version will be available before chrismas this week. Anyways, till new-year
the game and the final demo-version should be finished, lets see. Maybe in the next
couple of days things can be done more quickly because all the base classes and the
complete framework are now completed. 
</p></td>
            <td width="370" valign="top">
              <a href="images/LostSquadron/Screenshot0026.jpg">
                <img src="images/LostSquadron/day10.jpg" border="0" />
              </a>
              <br />
              <center>
                <font size="-2">
                  <b>Day 10</b>:<br />
Yup, yesterday no screen, I was too tired. The editor is now finished, only setting
objects and the roads is missing, but that should be easy. All the other sub menus
and UI is now complete too, even the multiplayer stuff has a UI now waiting for implementation
(dunno if there is enough time this week for that, would be nice though). Time for
some gameplay this week :-)</font>
              </center>
            </td>
          </tr>
        </table>
        <img width="0" height="0" src="http://exdream.no-ip.info/blog/aggbug.ashx?id=35e7bcc5-31f7-46c4-9d50-8ec8a74c3df5" />
      </body>
      <title>Lost Squadron, Day 10: Editor finished</title>
      <guid isPermaLink="false">http://exdream.no-ip.info/blog/PermaLink,guid,35e7bcc5-31f7-46c4-9d50-8ec8a74c3df5.aspx</guid>
      <link>http://exdream.no-ip.info/blog/2004/12/20/LostSquadronDay10EditorFinished.aspx</link>
      <pubDate>Mon, 20 Dec 2004 08:13:54 GMT</pubDate>
      <description>&lt;table border=0 cellspacing=10&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
I was working still on the Editor today, not that much editor features were missing,
but a lot of other stuff eat up a lot of development time. Drawing lines for example
is really bad in DirectX, either you just draw some primitives and get slow when drawing
a lot of them and have a lot of overhead each time setting all states (and recovering
from some crazy states the caller might have left, nothing is working as espected)
or you use this stupid Line class wrapper thing, which will cut your framerate by
the factor 2 or 3 (really great, no wonder noone uses it). Or you can just draw stuff
with vertex buffers, but thats also very annoying because you have to create the vertex
buffer and handle all that vertex creation, and also obviously not the right approach
for a single line. 
&lt;p&gt;
So I ended up writing a nice LineManager class, which collects all lines draw each
frame and put them in a vertex buffer and because the lines are only changed when
some big change happens, the vertex buffer can stay the same for a long time and thats
really fast. Everthing gets rendered at the end of the frame (used for on screen controls
and other stuff anyways). Same thing for filled boxes, color blending effects, etc.
lots of helper classes. 
&lt;p&gt;
The texture blending (as you can see in the image) was also not a piece of cake, but
the blending over 5x5 vertices is now a nice technique. The textures are not really
fitting good together, when you just put them besides each other, but with this blending
technique it looks really good (or maybe I'm just to tired to tell anymore ^^). Another
bonus is my new vertex format, which is compatible with a test shader I wrote 2 days
ago (which didn't run correctly back then, I only managed to do some basic stuff).
Seems like some arguments where missing and the vertex shader wasn't complaining,
but crashing some time later (after couple of calls, not really funny to debug). 
&lt;p&gt;
There isn't much time left, so maybe some features might have to be put on hold because
I really want to finish the base game this week (just 1-2 missions, only basic features
to see if its really as much fun as I imagine). If its playable a small demo or some
sort of beta-version will be available before chrismas this week. Anyways, till new-year
the game and the final demo-version should be finished, lets see. Maybe in the next
couple of days things can be done more quickly because all the base classes and the
complete framework are now completed. 
&lt;/td&gt;
&lt;td width=370 valign=top&gt;
&lt;a href="images/LostSquadron/Screenshot0026.jpg"&gt;&lt;img src="images/LostSquadron/day10.jpg" border=0&gt;&lt;/a&gt;
&lt;br&gt;
&lt;center&gt;&lt;font size=-2&gt;&lt;b&gt;Day 10&lt;/b&gt;:&lt;br&gt;
Yup, yesterday no screen, I was too tired. The editor is now finished, only setting
objects and the roads is missing, but that should be easy. All the other sub menus
and UI is now complete too, even the multiplayer stuff has a UI now waiting for implementation
(dunno if there is enough time this week for that, would be nice though). Time for
some gameplay this week :-)&lt;/font&gt;
&lt;/center&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;img width="0" height="0" src="http://exdream.no-ip.info/blog/aggbug.ashx?id=35e7bcc5-31f7-46c4-9d50-8ec8a74c3df5" /&gt;</description>
      <comments>http://exdream.no-ip.info/blog/CommentView,guid,35e7bcc5-31f7-46c4-9d50-8ec8a74c3df5.aspx</comments>
      <category>All;Game Development;Lost Squadron;Programming</category>
    </item>
    <item>
      <trackback:ping>http://exdream.no-ip.info/blog/Trackback.aspx?guid=57e5ecf0-83c9-4ecd-9556-6df452eae112</trackback:ping>
      <pingback:server>http://exdream.no-ip.info/blog/pingback.aspx</pingback:server>
      <pingback:target>http://exdream.no-ip.info/blog/PermaLink,guid,57e5ecf0-83c9-4ecd-9556-6df452eae112.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://exdream.no-ip.info/blog/CommentView,guid,57e5ecf0-83c9-4ecd-9556-6df452eae112.aspx</wfw:comment>
      <wfw:commentRss>http://exdream.no-ip.info/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=57e5ecf0-83c9-4ecd-9556-6df452eae112</wfw:commentRss>
      <slash:comments>5</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <table border="0" cellspacing="10">
          <tr>
            <td valign="top">
Today was Editor-Day. Our intern Fabian helped my out a little with the map file and
we implemented all the UI controls for the Editor, all of them are working now, at
least on the UI side. The Map Editor itself will be finished tomorrow, still a lot
of smaller things to do before everything can run smoothly. 
<p>
The UI needed also some improvements, so I made completly new graphics for them and
updated all UI controls and added some we needed for the Editor. All this little things,
like writing UI code, writing smaller classes for the ground textures, the road logic,
neutral objects and the enemy units can really keep someone busy. I still hope the
basic engine for this game can be finished this week, so we got next week to make
some cool missions and the advanced stuff (shooting, effects, multiplayer). 
</p><p>
About all this shader stuff from the last couple of days: I managed to get some basic
shaders to work, which is really nice now, but still no clue how to implement all
that spotlight normal mapping with alpha blended textures. Maybe I will just use some
sort of directional light for the bump effects (or maybe a point light if I can pull
that off, but then all the lighting calculation has to be done inside the shader as
well, uhh complicated). 
</p></td>
            <td width="370" valign="top">
              <a href="images/LostSquadron/Screenshot0010.jpg">
                <img src="images/LostSquadron/day08.jpg" border="0" />
              </a>
              <br />
              <center>
                <font size="-2">
                  <b>Day 8</b>:<br />
Half-time, 1 week has gone by for this project. This is a image of the editor, you
can easily create new maps or change existing maps with this nice tool :)</font>
              </center>
            </td>
          </tr>
        </table>
        <img width="0" height="0" src="http://exdream.no-ip.info/blog/aggbug.ashx?id=57e5ecf0-83c9-4ecd-9556-6df452eae112" />
      </body>
      <title>Lost Squadron, Day 8: Editor and more UI controls.</title>
      <guid isPermaLink="false">http://exdream.no-ip.info/blog/PermaLink,guid,57e5ecf0-83c9-4ecd-9556-6df452eae112.aspx</guid>
      <link>http://exdream.no-ip.info/blog/2004/12/18/LostSquadronDay8EditorAndMoreUIControls.aspx</link>
      <pubDate>Sat, 18 Dec 2004 04:21:08 GMT</pubDate>
      <description>&lt;table border=0 cellspacing=10&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
Today was Editor-Day. Our intern Fabian helped my out a little with the map file and
we implemented all the UI controls for the Editor, all of them are working now, at
least on the UI side. The Map Editor itself will be finished tomorrow, still a lot
of smaller things to do before everything can run smoothly. 
&lt;p&gt;
The UI needed also some improvements, so I made completly new graphics for them and
updated all UI controls and added some we needed for the Editor. All this little things,
like writing UI code, writing smaller classes for the ground textures, the road logic,
neutral objects and the enemy units can really keep someone busy. I still hope the
basic engine for this game can be finished this week, so we got next week to make
some cool missions and the advanced stuff (shooting, effects, multiplayer). 
&lt;p&gt;
About all this shader stuff from the last couple of days: I managed to get some basic
shaders to work, which is really nice now, but still no clue how to implement all
that spotlight normal mapping with alpha blended textures. Maybe I will just use some
sort of directional light for the bump effects (or maybe a point light if I can pull
that off, but then all the lighting calculation has to be done inside the shader as
well, uhh complicated). 
&lt;/td&gt;
&lt;td width=370 valign=top&gt;
&lt;a href="images/LostSquadron/Screenshot0010.jpg"&gt;&lt;img src="images/LostSquadron/day08.jpg" border=0&gt;&lt;/a&gt;
&lt;br&gt;
&lt;center&gt;&lt;font size=-2&gt;&lt;b&gt;Day 8&lt;/b&gt;:&lt;br&gt;
Half-time, 1 week has gone by for this project. This is a image of the editor, you
can easily create new maps or change existing maps with this nice tool :)&lt;/font&gt;
&lt;/center&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;img width="0" height="0" src="http://exdream.no-ip.info/blog/aggbug.ashx?id=57e5ecf0-83c9-4ecd-9556-6df452eae112" /&gt;</description>
      <comments>http://exdream.no-ip.info/blog/CommentView,guid,57e5ecf0-83c9-4ecd-9556-6df452eae112.aspx</comments>
      <category>All;Game Development;Lost Squadron;Programming</category>
    </item>
    <item>
      <trackback:ping>http://exdream.no-ip.info/blog/Trackback.aspx?guid=db1ea35b-0009-4628-9cf1-e41157341058</trackback:ping>
      <pingback:server>http://exdream.no-ip.info/blog/pingback.aspx</pingback:server>
      <pingback:target>http://exdream.no-ip.info/blog/PermaLink,guid,db1ea35b-0009-4628-9cf1-e41157341058.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://exdream.no-ip.info/blog/CommentView,guid,db1ea35b-0009-4628-9cf1-e41157341058.aspx</wfw:comment>
      <wfw:commentRss>http://exdream.no-ip.info/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=db1ea35b-0009-4628-9cf1-e41157341058</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <table border="0" cellspacing="10">
          <tr>
            <td valign="top">
Some internal work for the Editor was done today and I wanted to finish up all this
shader stuff, but run again into a lot of problems. Vertex Shaders are really a pain
in the ass to debug, everytime anything goes wrong the whole app crashes (I catch
exceptions everywhere, but DX will just fail at everything and the app has to be shut
down). There are also a lot of problems with the shaders to support spot lights and
some other stuff in the engine like blending textures over each other. 
<p>
Because of all this problems there is no real screenshot this day (with all this shader
errors Lost Squadron isn't looking pretty today ^^), but you can see my first shader
version of normal mapping on the right. Tomorrow will be the last day I will try out
to get this goddamn shaders to work, else I will just leave them out and finish the
rest without any high level shader support and maybe add them later ... 
</p></td>
            <td width="370" valign="top">
              <img src="images/LostSquadron/ShaderTest.jpg" border="0" />
              <br />
              <center>
                <font size="-2">
                  <b>Day 7</b>:<br />
Shader test (extra program I wrote), works ok after lot of testing finally, but shader
needs lot of improvements to work correctly with spotlights.</font>
              </center>
            </td>
          </tr>
        </table>
        <img width="0" height="0" src="http://exdream.no-ip.info/blog/aggbug.ashx?id=db1ea35b-0009-4628-9cf1-e41157341058" />
      </body>
      <title>Lost Squadron, Day 7: Still struggeling with shaders.</title>
      <guid isPermaLink="false">http://exdream.no-ip.info/blog/PermaLink,guid,db1ea35b-0009-4628-9cf1-e41157341058.aspx</guid>
      <link>http://exdream.no-ip.info/blog/2004/12/17/LostSquadronDay7StillStruggelingWithShaders.aspx</link>
      <pubDate>Fri, 17 Dec 2004 04:54:06 GMT</pubDate>
      <description>&lt;table border=0 cellspacing=10&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
Some internal work for the Editor was done today and I wanted to finish up all this
shader stuff, but run again into a lot of problems. Vertex Shaders are really a pain
in the ass to debug, everytime anything goes wrong the whole app crashes (I catch
exceptions everywhere, but DX will just fail at everything and the app has to be shut
down). There are also a lot of problems with the shaders to support spot lights and
some other stuff in the engine like blending textures over each other. 
&lt;p&gt;
Because of all this problems there is no real screenshot this day (with all this shader
errors Lost Squadron isn't looking pretty today ^^), but you can see my first shader
version of normal mapping on the right. Tomorrow will be the last day I will try out
to get this goddamn shaders to work, else I will just leave them out and finish the
rest without any high level shader support and maybe add them later ... 
&lt;/td&gt;
&lt;td width=370 valign=top&gt;
&lt;img src="images/LostSquadron/ShaderTest.jpg" border=0&gt;
&lt;br&gt;
&lt;center&gt;&lt;font size=-2&gt;&lt;b&gt;Day 7&lt;/b&gt;:&lt;br&gt;
Shader test (extra program I wrote), works ok after lot of testing finally, but shader
needs lot of improvements to work correctly with spotlights.&lt;/font&gt;
&lt;/center&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;img width="0" height="0" src="http://exdream.no-ip.info/blog/aggbug.ashx?id=db1ea35b-0009-4628-9cf1-e41157341058" /&gt;</description>
      <comments>http://exdream.no-ip.info/blog/CommentView,guid,db1ea35b-0009-4628-9cf1-e41157341058.aspx</comments>
      <category>All;Game Development;Lost Squadron;Programming</category>
    </item>
    <item>
      <trackback:ping>http://exdream.no-ip.info/blog/Trackback.aspx?guid=b36f1175-fba4-4bd0-a8c0-11b79fcfcfd2</trackback:ping>
      <pingback:server>http://exdream.no-ip.info/blog/pingback.aspx</pingback:server>
      <pingback:target>http://exdream.no-ip.info/blog/PermaLink,guid,b36f1175-fba4-4bd0-a8c0-11b79fcfcfd2.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://exdream.no-ip.info/blog/CommentView,guid,b36f1175-fba4-4bd0-a8c0-11b79fcfcfd2.aspx</wfw:comment>
      <wfw:commentRss>http://exdream.no-ip.info/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=b36f1175-fba4-4bd0-a8c0-11b79fcfcfd2</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <table border="0" cellspacing="10">
          <tr>
            <td valign="top">
I completed the landscape rendering class and object loading today and played around
with light effects. Directional lights were pretty easy, but very boring for this
top-view-camera. So I tried out Point lights and they are nice, but why not test Spot
lights? Well, now I know why, they are very hard to maintain. Setting all values properly
is not that easy. But I like the effect (you can even rotate the light direction). 
<p>
Other than that I tried also to implement the ground normal map shader I developed
yesterday for the last couple of hours, but I can't get it working. Some mul operation
always crashes inside my shader and is very hard to debug. Maybe I need to debug everything
with DEBUG_PS and DEBUG_VS. Well, I hope I get that working tomorrow. 
</p></td>
            <td width="420" valign="top">
              <a href="images/LostSquadron/screenshot0007.jpg">
                <img src="images/LostSquadron/day06.jpg" border="0" />
              </a>
              <br />
              <center>
                <font size="-2">
                  <b>Day 6</b>:<br />
A big spot light effect on the landscape. The objects are not final yet and have no
effects. But lighting does work well, maybe there is even some time to implement shadow
maps later this week. We will see.</font>
              </center>
            </td>
          </tr>
        </table>
        <img width="0" height="0" src="http://exdream.no-ip.info/blog/aggbug.ashx?id=b36f1175-fba4-4bd0-a8c0-11b79fcfcfd2" />
      </body>
      <title>Lost Squadron, Day 6: And there were lights.</title>
      <guid isPermaLink="false">http://exdream.no-ip.info/blog/PermaLink,guid,b36f1175-fba4-4bd0-a8c0-11b79fcfcfd2.aspx</guid>
      <link>http://exdream.no-ip.info/blog/2004/12/16/LostSquadronDay6AndThereWereLights.aspx</link>
      <pubDate>Thu, 16 Dec 2004 06:24:42 GMT</pubDate>
      <description>&lt;table border=0 cellspacing=10&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
I completed the landscape rendering class and object loading today and played around
with light effects. Directional lights were pretty easy, but very boring for this
top-view-camera. So I tried out Point lights and they are nice, but why not test Spot
lights? Well, now I know why, they are very hard to maintain. Setting all values properly
is not that easy. But I like the effect (you can even rotate the light direction). 
&lt;p&gt;
Other than that I tried also to implement the ground normal map shader I developed
yesterday for the last couple of hours, but I can't get it working. Some mul operation
always crashes inside my shader and is very hard to debug. Maybe I need to debug everything
with DEBUG_PS and DEBUG_VS. Well, I hope I get that working tomorrow. 
&lt;/td&gt;
&lt;td width=420 valign=top&gt;
&lt;a href="images/LostSquadron/screenshot0007.jpg"&gt;&lt;img src="images/LostSquadron/day06.jpg" border=0&gt;&lt;/a&gt;
&lt;br&gt;
&lt;center&gt;&lt;font size=-2&gt;&lt;b&gt;Day 6&lt;/b&gt;:&lt;br&gt;
A big spot light effect on the landscape. The objects are not final yet and have no
effects. But lighting does work well, maybe there is even some time to implement shadow
maps later this week. We will see.&lt;/font&gt;
&lt;/center&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;img width="0" height="0" src="http://exdream.no-ip.info/blog/aggbug.ashx?id=b36f1175-fba4-4bd0-a8c0-11b79fcfcfd2" /&gt;</description>
      <comments>http://exdream.no-ip.info/blog/CommentView,guid,b36f1175-fba4-4bd0-a8c0-11b79fcfcfd2.aspx</comments>
      <category>All;Game Development;Lost Squadron;Programming</category>
    </item>
    <item>
      <trackback:ping>http://exdream.no-ip.info/blog/Trackback.aspx?guid=50cdf4ff-2d1d-4e4c-abb3-d1dff752769f</trackback:ping>
      <pingback:server>http://exdream.no-ip.info/blog/pingback.aspx</pingback:server>
      <pingback:target>http://exdream.no-ip.info/blog/PermaLink,guid,50cdf4ff-2d1d-4e4c-abb3-d1dff752769f.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://exdream.no-ip.info/blog/CommentView,guid,50cdf4ff-2d1d-4e4c-abb3-d1dff752769f.aspx</wfw:comment>
      <wfw:commentRss>http://exdream.no-ip.info/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=50cdf4ff-2d1d-4e4c-abb3-d1dff752769f</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <table border="0" cellspacing="10" align="right" width="410">
          <tr>
            <td width="410">
              <a href="images/LostSquadron/screenshot0002.jpg">
                <img src="images/LostSquadron/day05.jpg" border="0" />
              </a>
              <br />
              <center>
                <font size="-2">
                  <b>Day 5</b>:<br />
A boring ground texture. You might guess there is still a lot missing and yeah, you
are right! At least a lot of things are happening in the background: 6 different high-detail
ground textures with normal map support are implemented into the engine right now,
all the map, menu and game base classes are working now. Let's see what will be finished
tomorrow. The shaders and the light effects are not implemented yet, so everything
is at 100% brightness and normal mapping isn't working yet (but it will soon ^^).</font>
              </center>
            </td>
          </tr>
        </table>
Yep, thats right, I started implementing shader support and programming a normal mapping
shader for the ground textures. You might ask, why the hell do you do this for a 14-day
project? Well, I'm crazy, that's why :-) I finished up testing some shader effects
and writing a fx file with normal maps and multiple lights, but I didn't manage to
get that into the engine today. Tomorrow I will try to import some objects, test out
all that normal mapping and will play around with lights and light effects (dunno
if a night mission with a lot of lights isn't total overkill and if I should stick
with a simple directional light and maybe 1-2 point lights for the tanks). 
<p>
There was also a noticeable delay when loading all ground textures (6 512x512 textures
with 6 512x512 normal map textures and some other smaller textures), and thats not
nice when debugging and testing out everything every few seconds. So I converted all
textures from .jpg, .png, etc. to .dds format and used compressed formats like dxt1
and dxt5. Now the loading is lighting fast and I guess when not using the retail DX9
runtime the delay will not even be noticeable (remember, over 10mb of pixel data are
loaded here). 
</p><p>
For models I will see how long I can stick with .X files. Usually a format like this
will make me angry after using it a couple of days because it does not support some
little things and is most likely not extensible and I end up writing my own format
(which can't obviously not happen in the short timeframe of this project). 
</p><p>
It is also important to use the proper tools for DDS files, normal map generation
and writing fx shaders (or other formats, but I like fx), which are: 
</p><ul><li><a href="http://developer.nvidia.com/object/fx_composer_home.html">FxComposer by NVIDIA
too</a> for testing out .fx effect files and writing your own</li><li><a href="http://www.ati.com/developer/rendermonkey/">RenderMonkey by ATI</a> is a
really cool tool to try out shaders and test stuff, making shaders is not a piece
of cake, even with all this tools around there is a lot of testing and modifying going
on even if you got some nice shaders working.</li><li><a href="http://developer.nvidia.com/object/nv_texture_tools.html">NVIDIA_Photoshop_Plugins
for saving DDS files and making normal maps from heightmaps or textures</a></li><li><a href="http://developer.nvidia.com/object/nv_texture_tools.html">DDSViewer by NVIDIA
for viewing DDS as thumbnails</a>, but thats not really helping that much (because
windows thumbnails just suck). The DXViewer or so by the DXSDK is also really useless
because its so user unfriendly. Also ACDSEE, IrfanView and Google Image viewer (Picasa
Photo Organizer) and any other Pic-View program I tried do not support DDS files and
don't even have plugins for that. But I found another viewer, which pretty much can't
do anything but converting and displaying every format ever invented called: <a href="http://www.konvertor.net/indexe.html">Konvertor</a>.
This thing is really crazy, don't ever try to read the full list of supported file
formats (its 840 or so). Well, navigating suxx with this tool, but at least you can
quickly display DDS files and zoom around. Konvertor has also another really nice
feature: When you right-click on a file you will see a small preview, thats really
one of the coolest thing I ever saw in a popup-menu :-) Sad thing is: For DDS files
this does not work, only .bmp, .jpg, etc. files previews are generated, grr!</li><li>
There are also a lot of other tools involved when saving stuff in 3D Studio Max, Maya,
etc., but I won't get into that. Has nothing to do with programming ^^</li></ul><p>
I also underestimated all the classes I had to create for just rendering the landscape,
there are of course still a lot of things missing as you can see on the screenshot.
The basic layout for all the menu and game classes is now more or less complete and
I'm pretty happy with it. Everything is still very easy to maintain and I got a good
overview of the classes. The game has to be filled up with a lot of objects, roads,
enemies, etc. in the next days. Hopefully all of this and the basic game engine and
gameplay will be finished by the end of this week, so we have next week to test and
balance the game, make some cool missions and bugfix the hell out of it (well, the
engine is only a couple of days old now and only tested by me and my unit testing
stuff). 
</p><p>
Btw: VS2005 will get REALLY slow when you have a lot of files opened and try to compile
or work on some older file. I think some part of the auto-recovery of files when crashing
is not really optimzied. Anyways, when you close all documents and open only a couple
(lets say no more than 10-20), VS will responde quickly again. Little annoying, but
I'm now much better of knowing that ^^ 
</p><p>
I also registered the domain <a href="http://www.LostSquadronGame.com">www.LostSquadronGame.com</a>,
which will be the official site for Lost Squadron. But when its up and running it
will just link to this site until we got some finished page (which is not planed before
chrismas, but as I know our graphic guy Leif, he can't help himself and will make
a page design when I'm not looking). <img width="0" height="0" src="http://exdream.no-ip.info/blog/aggbug.ashx?id=50cdf4ff-2d1d-4e4c-abb3-d1dff752769f" /></p></body>
      <title>Lost Squadron, Day 5: Exciting stuff soon ^^</title>
      <guid isPermaLink="false">http://exdream.no-ip.info/blog/PermaLink,guid,50cdf4ff-2d1d-4e4c-abb3-d1dff752769f.aspx</guid>
      <link>http://exdream.no-ip.info/blog/2004/12/15/LostSquadronDay5ExcitingStuffSoon.aspx</link>
      <pubDate>Wed, 15 Dec 2004 05:23:04 GMT</pubDate>
      <description>&lt;table border=0 cellspacing=10 align=right width=410&gt;
&lt;tr&gt;
&lt;td width=410&gt;
&lt;a href="images/LostSquadron/screenshot0002.jpg"&gt;&lt;img src="images/LostSquadron/day05.jpg" border=0&gt;&lt;/a&gt;
&lt;br&gt;
&lt;center&gt;&lt;font size=-2&gt;&lt;b&gt;Day 5&lt;/b&gt;:&lt;br&gt;
A boring ground texture. You might guess there is still a lot missing and yeah, you
are right! At least a lot of things are happening in the background: 6 different high-detail
ground textures with normal map support are implemented into the engine right now,
all the map, menu and game base classes are working now. Let's see what will be finished
tomorrow. The shaders and the light effects are not implemented yet, so everything
is at 100% brightness and normal mapping isn't working yet (but it will soon ^^).&lt;/font&gt;
&lt;/center&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
Yep, thats right, I started implementing shader support and programming a normal mapping
shader for the ground textures. You might ask, why the hell do you do this for a 14-day
project? Well, I'm crazy, that's why :-) I finished up testing some shader effects
and writing a fx file with normal maps and multiple lights, but I didn't manage to
get that into the engine today. Tomorrow I will try to import some objects, test out
all that normal mapping and will play around with lights and light effects (dunno
if a night mission with a lot of lights isn't total overkill and if I should stick
with a simple directional light and maybe 1-2 point lights for the tanks). 
&lt;p&gt;
There was also a noticeable delay when loading all ground textures (6 512x512 textures
with 6 512x512 normal map textures and some other smaller textures), and thats not
nice when debugging and testing out everything every few seconds. So I converted all
textures from .jpg, .png, etc. to .dds format and used compressed formats like dxt1
and dxt5. Now the loading is lighting fast and I guess when not using the retail DX9
runtime the delay will not even be noticeable (remember, over 10mb of pixel data are
loaded here). 
&lt;p&gt;
For models I will see how long I can stick with .X files. Usually a format like this
will make me angry after using it a couple of days because it does not support some
little things and is most likely not extensible and I end up writing my own format
(which can't obviously not happen in the short timeframe of this project). 
&lt;p&gt;
It is also important to use the proper tools for DDS files, normal map generation
and writing fx shaders (or other formats, but I like fx), which are: 
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://developer.nvidia.com/object/fx_composer_home.html"&gt;FxComposer by NVIDIA
too&lt;/a&gt; for testing out .fx effect files and writing your own&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.ati.com/developer/rendermonkey/"&gt;RenderMonkey by ATI&lt;/a&gt; is a
really cool tool to try out shaders and test stuff, making shaders is not a piece
of cake, even with all this tools around there is a lot of testing and modifying going
on even if you got some nice shaders working.&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://developer.nvidia.com/object/nv_texture_tools.html"&gt;NVIDIA_Photoshop_Plugins
for saving DDS files and making normal maps from heightmaps or textures&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://developer.nvidia.com/object/nv_texture_tools.html"&gt;DDSViewer by NVIDIA
for viewing DDS as thumbnails&lt;/a&gt;, but thats not really helping that much (because
windows thumbnails just suck). The DXViewer or so by the DXSDK is also really useless
because its so user unfriendly. Also ACDSEE, IrfanView and Google Image viewer (Picasa
Photo Organizer) and any other Pic-View program I tried do not support DDS files and
don't even have plugins for that. But I found another viewer, which pretty much can't
do anything but converting and displaying every format ever invented called: &lt;a href="http://www.konvertor.net/indexe.html"&gt;Konvertor&lt;/a&gt;.
This thing is really crazy, don't ever try to read the full list of supported file
formats (its 840 or so). Well, navigating suxx with this tool, but at least you can
quickly display DDS files and zoom around. Konvertor has also another really nice
feature: When you right-click on a file you will see a small preview, thats really
one of the coolest thing I ever saw in a popup-menu :-) Sad thing is: For DDS files
this does not work, only .bmp, .jpg, etc. files previews are generated, grr!&lt;/li&gt;
&lt;li&gt;
There are also a lot of other tools involved when saving stuff in 3D Studio Max, Maya,
etc., but I won't get into that. Has nothing to do with programming ^^&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
I also underestimated all the classes I had to create for just rendering the landscape,
there are of course still a lot of things missing as you can see on the screenshot.
The basic layout for all the menu and game classes is now more or less complete and
I'm pretty happy with it. Everything is still very easy to maintain and I got a good
overview of the classes. The game has to be filled up with a lot of objects, roads,
enemies, etc. in the next days. Hopefully all of this and the basic game engine and
gameplay will be finished by the end of this week, so we have next week to test and
balance the game, make some cool missions and bugfix the hell out of it (well, the
engine is only a couple of days old now and only tested by me and my unit testing
stuff). 
&lt;p&gt;
Btw: VS2005 will get REALLY slow when you have a lot of files opened and try to compile
or work on some older file. I think some part of the auto-recovery of files when crashing
is not really optimzied. Anyways, when you close all documents and open only a couple
(lets say no more than 10-20), VS will responde quickly again. Little annoying, but
I'm now much better of knowing that ^^ 
&lt;p&gt;
I also registered the domain &lt;a href="http://www.LostSquadronGame.com"&gt;www.LostSquadronGame.com&lt;/a&gt;,
which will be the official site for Lost Squadron. But when its up and running it
will just link to this site until we got some finished page (which is not planed before
chrismas, but as I know our graphic guy Leif, he can't help himself and will make
a page design when I'm not looking). &lt;img width="0" height="0" src="http://exdream.no-ip.info/blog/aggbug.ashx?id=50cdf4ff-2d1d-4e4c-abb3-d1dff752769f" /&gt;</description>
      <comments>http://exdream.no-ip.info/blog/CommentView,guid,50cdf4ff-2d1d-4e4c-abb3-d1dff752769f.aspx</comments>
      <category>All;Game Development;Lost Squadron;Programming</category>
    </item>
    <item>
      <trackback:ping>http://exdream.no-ip.info/blog/Trackback.aspx?guid=7aa5167e-bf51-418d-b4e5-4f6f499dd52c</trackback:ping>
      <pingback:server>http://exdream.no-ip.info/blog/pingback.aspx</pingback:server>
      <pingback:target>http://exdream.no-ip.info/blog/PermaLink,guid,7aa5167e-bf51-418d-b4e5-4f6f499dd52c.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://exdream.no-ip.info/blog/CommentView,guid,7aa5167e-bf51-418d-b4e5-4f6f499dd52c.aspx</wfw:comment>
      <wfw:commentRss>http://exdream.no-ip.info/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=7aa5167e-bf51-418d-b4e5-4f6f499dd52c</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <table border="0" cellspacing="10">
          <tr>
            <td valign="top">
Today there was a lot going on, but I managed to finish up some things. First of all
I finished all my UI classes and got finally rid of the DirectX Utility Toolkit classes.
Not that they are bad or anything, but they are total overkill for me right now, around
15000 lines are in this utility classes and there is not much fun going on when you
want to customize anything there. 
<p>
Ok, so I just wrote my own UI classes, I only need a very simple support for buttons,
textboxes and listboxes, thats it. But I definatly encourage you to take a look at
the utility toolkit and use some nice functions there, which help you to initialize
DirectX and find the correct Device configuration programmatically, thats good stuff
and saves you a lot of testing time :) 
</p><p>
Instead of starting with the game engine and rushing into creating some incomplete
code for today and leaving the menu unfinished as well, I decided to finish up all
the menu stuff. Some base classes were improved, like sound and music playback, and
I wrote the complete concept for the editor. I got also another new intern helping
me a bit with the editor, thank for your support <a href="http://www.zikowsky.de">Fabian</a>. 
</p></td>
            <td width="420" valign="top">
              <a href="images/LostSquadron/screenshot0001.jpg">
                <img src="images/LostSquadron/day04.jpg" border="0" />
              </a>
              <br />
              <center>
                <font size="-2">
                  <b>Day 4</b>:<br />
Another menu screen, graphics are also improved a little, but not finished yet. But
why not show them off? :) Also all sub menus are working now, maybe some tweaking
here and there, but the menu stuff is now kinda complete.</font>
              </center>
            </td>
          </tr>
        </table>
        <img width="0" height="0" src="http://exdream.no-ip.info/blog/aggbug.ashx?id=7aa5167e-bf51-418d-b4e5-4f6f499dd52c" />
      </body>
      <title>Lost Squadron, Day 4: Why can't I just press start and play?</title>
      <guid isPermaLink="false">http://exdream.no-ip.info/blog/PermaLink,guid,7aa5167e-bf51-418d-b4e5-4f6f499dd52c.aspx</guid>
      <link>http://exdream.no-ip.info/blog/2004/12/14/LostSquadronDay4WhyCantIJustPressStartAndPlay.aspx</link>
      <pubDate>Tue, 14 Dec 2004 02:42:06 GMT</pubDate>
      <description>&lt;table border=0 cellspacing=10&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
Today there was a lot going on, but I managed to finish up some things. First of all
I finished all my UI classes and got finally rid of the DirectX Utility Toolkit classes.
Not that they are bad or anything, but they are total overkill for me right now, around
15000 lines are in this utility classes and there is not much fun going on when you
want to customize anything there. 
&lt;p&gt;
Ok, so I just wrote my own UI classes, I only need a very simple support for buttons,
textboxes and listboxes, thats it. But I definatly encourage you to take a look at
the utility toolkit and use some nice functions there, which help you to initialize
DirectX and find the correct Device configuration programmatically, thats good stuff
and saves you a lot of testing time :) 
&lt;p&gt;
Instead of starting with the game engine and rushing into creating some incomplete
code for today and leaving the menu unfinished as well, I decided to finish up all
the menu stuff. Some base classes were improved, like sound and music playback, and
I wrote the complete concept for the editor. I got also another new intern helping
me a bit with the editor, thank for your support &lt;a href="http://www.zikowsky.de"&gt;Fabian&lt;/a&gt;. 
&lt;/td&gt;
&lt;td width=420 valign=top&gt;
&lt;a href="images/LostSquadron/screenshot0001.jpg"&gt;&lt;img src="images/LostSquadron/day04.jpg" border=0&gt;&lt;/a&gt;
&lt;br&gt;
&lt;center&gt;&lt;font size=-2&gt;&lt;b&gt;Day 4&lt;/b&gt;:&lt;br&gt;
Another menu screen, graphics are also improved a little, but not finished yet. But
why not show them off? :) Also all sub menus are working now, maybe some tweaking
here and there, but the menu stuff is now kinda complete.&lt;/font&gt;
&lt;/center&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;img width="0" height="0" src="http://exdream.no-ip.info/blog/aggbug.ashx?id=7aa5167e-bf51-418d-b4e5-4f6f499dd52c" /&gt;</description>
      <comments>http://exdream.no-ip.info/blog/CommentView,guid,7aa5167e-bf51-418d-b4e5-4f6f499dd52c.aspx</comments>
      <category>All;Game Development;Lost Squadron;Programming</category>
    </item>
    <item>
      <trackback:ping>http://exdream.no-ip.info/blog/Trackback.aspx?guid=48f814f5-90f0-44c6-8087-89dc62cb859d</trackback:ping>
      <pingback:server>http://exdream.no-ip.info/blog/pingback.aspx</pingback:server>
      <pingback:target>http://exdream.no-ip.info/blog/PermaLink,guid,48f814f5-90f0-44c6-8087-89dc62cb859d.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://exdream.no-ip.info/blog/CommentView,guid,48f814f5-90f0-44c6-8087-89dc62cb859d.aspx</wfw:comment>
      <wfw:commentRss>http://exdream.no-ip.info/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=48f814f5-90f0-44c6-8087-89dc62cb859d</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">Well, there is no screenshot today for
several reasons. First of all I hadn't much time to program today because I visited
my grandparents (brithday and stuff) and then was visiting my parents (all this family
crap ^^). And secondly I was developing via remote today and for graphics this can
be a pain in the ass because everything is so slow (software rendering with remote
desktop suxx (slow and no effects are working) and hardware rendering with vnc will
never display whats going on ^^), so I have finished some base classes and all the
Sound and Music classes required later on. I also started writing my own UI handling,
the DirectX9 utility toolkit seems to be a bit of an overkill for my little game. 
<p>
I promise, there won't be any more days without screenshots.<img width="0" height="0" src="http://exdream.no-ip.info/blog/aggbug.ashx?id=48f814f5-90f0-44c6-8087-89dc62cb859d" /></p></body>
      <title>Lost Squadron, Day 3: No screenshot today.</title>
      <guid isPermaLink="false">http://exdream.no-ip.info/blog/PermaLink,guid,48f814f5-90f0-44c6-8087-89dc62cb859d.aspx</guid>
      <link>http://exdream.no-ip.info/blog/2004/12/13/LostSquadronDay3NoScreenshotToday.aspx</link>
      <pubDate>Mon, 13 Dec 2004 04:59:28 GMT</pubDate>
      <description>Well, there is no screenshot today for several reasons. First of all I hadn't much time to program today because I visited my grandparents (brithday and stuff) and then was visiting my parents (all this family crap ^^). And secondly I was developing via remote today and for graphics this can be a pain in the ass because everything is so slow (software rendering with remote desktop suxx (slow and no effects are working) and hardware rendering with vnc will never display whats going on ^^), so I have finished some base classes and all the Sound and Music classes required later on. I also started writing my own UI handling, the DirectX9 utility toolkit seems to be a bit of an overkill for my little game.
&lt;p&gt;
I promise, there won't be any more days without screenshots.&lt;img width="0" height="0" src="http://exdream.no-ip.info/blog/aggbug.ashx?id=48f814f5-90f0-44c6-8087-89dc62cb859d" /&gt;</description>
      <comments>http://exdream.no-ip.info/blog/CommentView,guid,48f814f5-90f0-44c6-8087-89dc62cb859d.aspx</comments>
      <category>All;Game Development;Lost Squadron;Programming</category>
    </item>
    <item>
      <trackback:ping>http://exdream.no-ip.info/blog/Trackback.aspx?guid=539a2888-34bf-4fb9-9839-01dd233203ed</trackback:ping>
      <pingback:server>http://exdream.no-ip.info/blog/pingback.aspx</pingback:server>
      <pingback:target>http://exdream.no-ip.info/blog/PermaLink,guid,539a2888-34bf-4fb9-9839-01dd233203ed.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://exdream.no-ip.info/blog/CommentView,guid,539a2888-34bf-4fb9-9839-01dd233203ed.aspx</wfw:comment>
      <wfw:commentRss>http://exdream.no-ip.info/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=539a2888-34bf-4fb9-9839-01dd233203ed</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <table border="0" cellspacing="10">
          <tr>
            <td valign="top">
I'm back to VS2005, I just can't live with VS2003 after using VS2005 the last couple
of months, too much features are missing. Intellisense is just not working, which
is very annoying if you don't know anything about the DirectX classes and have to
search the stupid managed DirectX help files (takes forever to find anything useful
there. Btw: Why is everything "preliminary" there when parts of the docs are already
2-3 years old?) 
<p>
In VS2005 it's really nice in that respect and has a lot of other useful stuff when
writing new code, so I converted the project back to VS2005 (I'm getting an expert
in converting stuff from generics back and forth). 
</p><p>
The graphics for the controls are still pretty dummy (as you can see in the pic, pretty
ugly right now) and the controls are not working yet correctly (oh oh, I'm already
behind in schedule). Hopefully tomorrow I can finish loading some 3d objects so I
can start with the real gameplay. 
</p></td>
            <td width="420" valign="top">
              <a href="images/LostSquadron/screenshot0000.jpg">
                <img src="images/LostSquadron/day02.jpg" border="0" />
              </a>
              <br />
              <center>
                <font size="-2">
                  <b>Day 2</b>:<br />
Programmed some of the User Interface, texture display and tryed out some effects.
I also implemented the game manager, keyboard shortcuts for a lot of stuff (fps, making
screenshot, etc.), cursors, the main menu and some animation effects for the menu.</font>
              </center>
            </td>
          </tr>
        </table>
        <img width="0" height="0" src="http://exdream.no-ip.info/blog/aggbug.ashx?id=539a2888-34bf-4fb9-9839-01dd233203ed" />
      </body>
      <title>Lost Squadron, Day 2: Looking good right now.</title>
      <guid isPermaLink="false">http://exdream.no-ip.info/blog/PermaLink,guid,539a2888-34bf-4fb9-9839-01dd233203ed.aspx</guid>
      <link>http://exdream.no-ip.info/blog/2004/12/12/LostSquadronDay2LookingGoodRightNow.aspx</link>
      <pubDate>Sun, 12 Dec 2004 05:05:30 GMT</pubDate>
      <description>&lt;table border=0 cellspacing=10&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
I'm back to VS2005, I just can't live with VS2003 after using VS2005 the last couple
of months, too much features are missing. Intellisense is just not working, which
is very annoying if you don't know anything about the DirectX classes and have to
search the stupid managed DirectX help files (takes forever to find anything useful
there. Btw: Why is everything "preliminary" there when parts of the docs are already
2-3 years old?) 
&lt;p&gt;
In VS2005 it's really nice in that respect and has a lot of other useful stuff when
writing new code, so I converted the project back to VS2005 (I'm getting an expert
in converting stuff from generics back and forth). 
&lt;p&gt;
The graphics for the controls are still pretty dummy (as you can see in the pic, pretty
ugly right now) and the controls are not working yet correctly (oh oh, I'm already
behind in schedule). Hopefully tomorrow I can finish loading some 3d objects so I
can start with the real gameplay. 
&lt;/td&gt;
&lt;td width=420 valign=top&gt;
&lt;a href="images/LostSquadron/screenshot0000.jpg"&gt;&lt;img src="images/LostSquadron/day02.jpg" border=0&gt;&lt;/a&gt;
&lt;br&gt;
&lt;center&gt;&lt;font size=-2&gt;&lt;b&gt;Day 2&lt;/b&gt;:&lt;br&gt;
Programmed some of the User Interface, texture display and tryed out some effects.
I also implemented the game manager, keyboard shortcuts for a lot of stuff (fps, making
screenshot, etc.), cursors, the main menu and some animation effects for the menu.&lt;/font&gt;
&lt;/center&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;img width="0" height="0" src="http://exdream.no-ip.info/blog/aggbug.ashx?id=539a2888-34bf-4fb9-9839-01dd233203ed" /&gt;</description>
      <comments>http://exdream.no-ip.info/blog/CommentView,guid,539a2888-34bf-4fb9-9839-01dd233203ed.aspx</comments>
      <category>All;Game Development;Lost Squadron;Programming</category>
    </item>
    <item>
      <trackback:ping>http://exdream.no-ip.info/blog/Trackback.aspx?guid=e96ae0f9-3cfa-447f-9018-97570378f6a7</trackback:ping>
      <pingback:server>http://exdream.no-ip.info/blog/pingback.aspx</pingback:server>
      <pingback:target>http://exdream.no-ip.info/blog/PermaLink,guid,e96ae0f9-3cfa-447f-9018-97570378f6a7.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://exdream.no-ip.info/blog/CommentView,guid,e96ae0f9-3cfa-447f-9018-97570378f6a7.aspx</wfw:comment>
      <wfw:commentRss>http://exdream.no-ip.info/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=e96ae0f9-3cfa-447f-9018-97570378f6a7</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <table border="0" cellspacing="10" align="right" width="528">
          <tr>
            <td>
              <img src="images/LostSquadron/day01.jpg" border="0" />
              <br />
              <center>
                <font size="-2">
                  <b>Day 1</b>:<br />
Finished loading textures, displaying text, game loop, imported lot of useful classes
from older projects, tryed out dds and x file formats, etc. but we still got a boring
black window. I promise tomorrow there will be something more fancy :-)</font>
              </center>
            </td>
          </tr>
        </table>
Hey now! Today I started the game and engine of a new smaller game project I will
hopefully finish till chrismas. Our intern at exDream Ivo will help me out with some
models and textures, other than that its only me ^^ The game will be called Lost Squadron
and is a kind of an advanced shoot'n'up game, you drive around with a tank (and later
on other vehicles) and blow up stuff (this might get you an impression on how I feel
right now ^^) 
<p>
I will use DirectX9 with c# for my first time (used only OpenGL before), but I already
know how to program with DirectX (worked with DirectX in my c++ times) and I am pretty
aware of some uncool factors when DirectX just returns a stupid error code -420529345
without any reference and no documentation about this (maybe when you search long
enough you will find out that this translated to "some error occurred" or "some of
the freaking 100 parameters you passed is invalid", like that tells you anything useful).<br />
Don't believe me? Then just try to load a texture or create a empty texture. If any
parameter is wrong, the file does not exists or the color of the sky is not an exact
RGB value, the app crashes (an exception is thrown with an error message that tells
you nothing). DirectX won't tell you whats going on, just that you have to try out
for half an hour to find the correct combination (or you might find out that just
some file was missing). 
</p><p>
I always woundered why nobody bothered to tell Mircosoft that this is bullshit, any
robust framework needs to handle that way better, you can't assume everyone passes
only 100% correct stuff to you. 
</p><p>
Whatever, maybe it's normal to be pissed, when dealing with this again after 2-3 years
of OpenGL development (in OpenGL on the other hand you will sometimes not give you
any error message at all, which can also be annoying). 
</p><p>
To top that of I fought several hours to get DirectX9 native debugging enabled with
VS2005, which resulted always in an IDE look up and crashes if any native exceptions
occur (if nothing goes wrong or you use the release builds it works, but hell, I want
to debug the freaking DirectX stuff). Anyways, I'm back to VS2003 for this project
and had also to rewrite all my generics code back to work with VS2003 and .NET 1.1
(well, I had to do that anyways because this game should not require .NET 2.0).<br />
Later I found out that any project (including all the c# tutorial and example files)
will crash when quitting in debug version them because some memory is not freed properly.
I just deactivated any Direct3D memory exceptions (with DxDiag) and now finally I
can work without all this stupid exceptions (maybe it has something to do with bad
graphic drivers or a corrupt dx version) ... 
</p><p>
Well that aside, DirectX9 has a lot of good stuff. I really like the way you can now
implement easily user interface graphics, buttons, textboxes, etc. 
</p><p>
This game is not about writing some ugly spagetti code as fast as possible in this
14 days. I will try to produce the base code for my new engine and just develop the
game to check out its basic features.<br />
The engine will use a lot of Unit Testing, base classed for all the grunt work and
also a lot of error handling and generalization. 
</p><p>
I thought about using some existing engine for this smaller project, but I don't the
way most engines just focus on first person shooter development and I also want to
use my base classes I am comfortable with.<img width="0" height="0" src="http://exdream.no-ip.info/blog/aggbug.ashx?id=e96ae0f9-3cfa-447f-9018-97570378f6a7" /></p></body>
      <title>Lost Squadron Part 1: Daily development screens</title>
      <guid isPermaLink="false">http://exdream.no-ip.info/blog/PermaLink,guid,e96ae0f9-3cfa-447f-9018-97570378f6a7.aspx</guid>
      <link>http://exdream.no-ip.info/blog/2004/12/11/LostSquadronPart1DailyDevelopmentScreens.aspx</link>
      <pubDate>Sat, 11 Dec 2004 04:51:19 GMT</pubDate>
      <description>&lt;table border=0 cellspacing=10 align=right width=528&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;img src="images/LostSquadron/day01.jpg" border=0&gt;
&lt;br&gt;
&lt;center&gt;&lt;font size=-2&gt;&lt;b&gt;Day 1&lt;/b&gt;:&lt;br&gt;
Finished loading textures, displaying text, game loop, imported lot of useful classes
from older projects, tryed out dds and x file formats, etc. but we still got a boring
black window. I promise tomorrow there will be something more fancy :-)&lt;/font&gt;
&lt;/center&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
Hey now! Today I started the game and engine of a new smaller game project I will
hopefully finish till chrismas. Our intern at exDream Ivo will help me out with some
models and textures, other than that its only me ^^ The game will be called Lost Squadron
and is a kind of an advanced shoot'n'up game, you drive around with a tank (and later
on other vehicles) and blow up stuff (this might get you an impression on how I feel
right now ^^) 
&lt;p&gt;
I will use DirectX9 with c# for my first time (used only OpenGL before), but I already
know how to program with DirectX (worked with DirectX in my c++ times) and I am pretty
aware of some uncool factors when DirectX just returns a stupid error code -420529345
without any reference and no documentation about this (maybe when you search long
enough you will find out that this translated to "some error occurred" or "some of
the freaking 100 parameters you passed is invalid", like that tells you anything useful).&lt;br&gt;
Don't believe me? Then just try to load a texture or create a empty texture. If any
parameter is wrong, the file does not exists or the color of the sky is not an exact
RGB value, the app crashes (an exception is thrown with an error message that tells
you nothing). DirectX won't tell you whats going on, just that you have to try out
for half an hour to find the correct combination (or you might find out that just
some file was missing). 
&lt;p&gt;
I always woundered why nobody bothered to tell Mircosoft that this is bullshit, any
robust framework needs to handle that way better, you can't assume everyone passes
only 100% correct stuff to you. 
&lt;p&gt;
Whatever, maybe it's normal to be pissed, when dealing with this again after 2-3 years
of OpenGL development (in OpenGL on the other hand you will sometimes not give you
any error message at all, which can also be annoying). 
&lt;p&gt;
To top that of I fought several hours to get DirectX9 native debugging enabled with
VS2005, which resulted always in an IDE look up and crashes if any native exceptions
occur (if nothing goes wrong or you use the release builds it works, but hell, I want
to debug the freaking DirectX stuff). Anyways, I'm back to VS2003 for this project
and had also to rewrite all my generics code back to work with VS2003 and .NET 1.1
(well, I had to do that anyways because this game should not require .NET 2.0).&lt;br&gt;
Later I found out that any project (including all the c# tutorial and example files)
will crash when quitting in debug version them because some memory is not freed properly.
I just deactivated any Direct3D memory exceptions (with DxDiag) and now finally I
can work without all this stupid exceptions (maybe it has something to do with bad
graphic drivers or a corrupt dx version) ... 
&lt;p&gt;
Well that aside, DirectX9 has a lot of good stuff. I really like the way you can now
implement easily user interface graphics, buttons, textboxes, etc. 
&lt;p&gt;
This game is not about writing some ugly spagetti code as fast as possible in this
14 days. I will try to produce the base code for my new engine and just develop the
game to check out its basic features.&lt;br&gt;
The engine will use a lot of Unit Testing, base classed for all the grunt work and
also a lot of error handling and generalization. 
&lt;p&gt;
I thought about using some existing engine for this smaller project, but I don't the
way most engines just focus on first person shooter development and I also want to
use my base classes I am comfortable with.&lt;img width="0" height="0" src="http://exdream.no-ip.info/blog/aggbug.ashx?id=e96ae0f9-3cfa-447f-9018-97570378f6a7" /&gt;</description>
      <comments>http://exdream.no-ip.info/blog/CommentView,guid,e96ae0f9-3cfa-447f-9018-97570378f6a7.aspx</comments>
      <category>All;Game Development;Lost Squadron;Programming</category>
    </item>
  </channel>
</rss>