Categories

Navigation

MVP

Microsoft MVP (since 2006) in the XNA/DirectX category

Tag cloud

Ajax (8) All (206) Arena Wars (21) Boo (4) BroodWar (8) Conferences (1) Development (44) Game Development (142) IronPython (3) Lost Squadron (17) Lua (6) meinSport.de (4) Other (150) Polynapping (12) Programming (156) Racing Game (7) Reviews (76) Rocket Commander (49) Silverlight (10) SQL (1) StudiHelp.de (2) XNA (40)

On this page

Arena Wars Reloaded Website launched
Some new Arena Wars Reloaded pics
XNA News
Windows XP x64 Experiences
EuroVernichter v1.3 Update and NormalMapCompressor sneak preview
A new more effective keyboard layout for programmers
Arena Wars Website Update
First Arena Wars Replay Commentary
I suck ...
www.ArenaWars.net was hacked :(
Whats going on?
I'm only the second search entry at google
Turn on Mondays, the new internet radio show by the dotnetrocks makers
Arena Wars v1.2 released and I'm very tired
What the hell is going on with Halo2 and GTA?
Arena Wars v1.2 Beta2 now available
Arena Wars v1.2 Beta released
People still thing c# is "too easy"?
glIntercept = useful
Being ill sucks, also no Arena Wars patch this week!
Welcome to my Blog WebSite

Archive

Popular

My Bookmarks
CR_Commenter Update v1...
Contact
A new more effective k...
Getting XNA to work in...
How to write a CodeRus...
NormalMapCompressor v1...
English Rocket Command...
Migrating ASP.NET VS20...
The year 2005 - Review...
Rocket Commander V1.1 ...
New look for www.exDre...

Blogroll

Projects

Arena Wars (2004)

Rocket Commander (2006)

Pizza Commander (2006)

Rocket Racer (2006)

Coop Commander (2006)

Flower Commander (2006)

Fruit Commander (2006)

Euro Vernichter (2003)

Lost Squadron (2005)

Zombie Quest (very simple 2D Adventure, 2006)

Freifunk Hannover project (GoogleMaps support)

Older projects (2000 and earlier)

MeinSport.de - German Sport Community Site

About

About me: Contact

Send mail to the author(s) Email:

Total Posts: 213
This Year: 9
This Month: 0
This Week: 0
Comments: 403
Made with

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

RSS 2.0 | Atom 1.0 | CDF

My brothers

netfreak.de

mirkman.de

Sign In

 Thursday, May 24, 2007
Thursday, May 24, 2007 8:41:37 PM UTC (  |  |  )
The website for our upcoming game Arena Wars Reloaded was finally launched today. More information can be found on the website, we currently got a lot of infos, screenshots, wallpapers, a forum and more. The community site will also be launched soon and we still got some new features coming up.

BTW: If you had an account for the old Arena Wars game you probably got this newsletter containing some cool information about our new "Veteran" rank for the original Arena Wars players. If you had an account for Arena Wars One everyone will see that you are a Veteran in the Arena Wars Boards and in the game itself.

ArenaWarsReloaded
 Sunday, March 04, 2007
Sunday, March 04, 2007 9:04:54 PM UTC (  |  |  |  |  )
I was quiet busy this week with our current project Arena Wars Reloaded. We got a playable version now, but there are still some issues. It runs fast and uses glsl now (instead of CgFX, which sucks, I will talk about that in a future blog post), there are also some new post processing shaders, but there is still some finetuning to be done.

Here are some screenshots from the version. More to come till the end of march, when we will be done with the game and all new effects, etc.


New snow texture pack and heavy glow, may need a little weaker post screen effect ^^


Fight in Mission 1, water looks cooler now and some new effects, but I was to lazy to play more and go into a later level.

 Thursday, January 18, 2007
Thursday, January 18, 2007 10:03:40 AM UTC (  |  |  |  |  |  |  )
Not much going on here on my blog, but in reality I was quite busy finishing some projects.
Our whole team at exDream is also working hard on our upcoming game Arena Wars Reloaded.
But it will take another month until we can release some cool looking screenshots that will make you excited.

In the meantime you can check out this nice article with lots of interviews on gamecareerguide.com.
On page 3 I do answer some questions and talk about current projects I'm involved in, including the
Professional XNA Game Development book I've done. The book will come out in early may this year.

The article is 5 pages long and a nice read:
http://www.gamecareerguide.com/features/328/microsoft_xna_.php





While we are at it, I decided to finally post some high quality (1920x1200) Racing Game screenshots (formerly known as XNA Racer).
I don't know yet when it will be released, but it shouldn't take much longer :-)

Screenshot 1:


Screenshot 2:


Screenshot 3:


Screenshot 4:




Lately I'm also playing around with the Visual Studio "Orcas" CTP which was released a week ago. Runs fine side by side with all my other
Visual Studio versions, but some plugins do not work and most language extensions I have installed (like LinQ or ASP.NET Ajax) are just
missing, not sure yet how to fix that or if I will really develop with VS Orcas right now, there is not really an advantage yet.

And finally there is a big fight coming up: Me vs FxCop. I will discuss my experiences with FxCop in a few days after I have converted
Arena Wars Reloaded and fought agains the 7000+ warnings ^^
In smaller projects I had worked with FxCop before and some warnings are annoying, but usually easy to fix. It was a little harder in
the Racing Game XNA starter kit (see screenshots above) because that thing has already over 20,000 lines of code and many warnings were
just about my unit tests, which FxCop can't figure out (lots of uncalled methods). But I will discuss all of this in a few days. Not sure
if any other game development team even uses FxCop or similar tools. At least I have never seen a game (or even a big app) pass the crazy
FxCop rules.
 Friday, August 18, 2006
Friday, August 18, 2006 6:32:56 AM UTC (  |  |  |  |  |  |  |  )
I installed Windows XP Professional x64 Bit today and this post is about my experiences with it. I tried it a year ago, but most drivers were not available for 64 bit back then. Now most drivers are supported and most programs will work without a problem. However some drivers and programs will still make trouble. Most of the issues could be resolved one way or another.

Generally I would say Windows XP x64 works great and is even a little bit faster than 32 bit Windows.


No problems

Had to change my mainboard because my current one went dead yesterday, I could use the same Windows x64 version without reinstalling, thats nice. Windows 32 bit does not work anymore (some driver troubles I guess). I also noticed that about Vista, no more reinstalls required if you change your board and cpu.

Games worked great, no problems here. I guess Microsoft plays a lot of games and wants to make sure all of them work, hehe. Even 15 year old games like Raptor (my all time shoot'n'up favorite) or Wolfenstein 3D worked without problems. Starcraft, Quake3 and current games worked nice too. Daemon Tools also provides a x64 bit version for Windows XP x86 for emulating CDs or DVDs.

Visual Studio 2005, DirectX SDK and all other development tools like VS Express, SharpDevelop, CodeRush, Perforce, UltraEdit, PCalc, NSIS, etc. work great too. For running 32 bit IIS apps you might have to follow these instructions.

Virtual Server 2005 works nicely and you can run virtual x64 and x86 computers, I guess the performance is also good or even better than before, but maybe my system is just faster.

Most normal programs did work too, but since nearly 99% of all programs are still 32 bit, it does not really make sense to have a 64bit platform yet. For browsing IE 64 bit is available and for Firefox (which is 32bit again) there is a 64 bit port called Deer Park, which works nicely. Both of these browsers are useful if you need more than 2 GB memory for your crazy browsing. Some programs do provide a x64 bit version, which works just the same way as the 32 bit version (I guess they did just a recompile with different compiler settings). I would say more programs and tools will be tested for x64 in the future, especially for Vista, when more users might choose x64 for their operating system.


Programs with problems

Most .NET 2.0 tools I tested did not work, but all of them could be fixed by changing the build setting from Any CPU to x86 Platform. While .NET 2.0 has NO problem running in 32 or 64 bit, it is not that easy in the case you call any external code (and almost all my tools do that). For example my AbiTrafficMonitor tool uses SharpPcap, which again uses wpcap.dll, which is only available as a 32bit dll. By forcing 32 bit to the application everything works great, in 64 bit the dll is not found and can't be forced. It is not possible to load 32 bit dlls in 64 bit mode, you will get the following error message when attempting to do that. An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)

So you have to make sure a 64 bit version of all used dlls exists, else DO NOT use the Any CPU or x64 Platform settings. so this has to do something with .NET 2.0 (just some stupid compiler setting, recompile works, but a smarter version would be cool).

Here is the new installer for AbiTrafficMonitor, which works on Windows XP x64 too (by forcing the x86 mode). It does obviously still work on a normal 32 bit (x86) windows platform.

.NET 1.1 games like my Arena Wars game worked too, also .NET 1.1 tools worked fine. All .NET 1.1 assemblies run automatically as 32bit applications by design. .NET 2.0 runs automatically in 64bit mode on x64 platforms if All CPU is selected.

However my .NET 2.0 game Rocket Commander could not be started. Actually this is the same problem as above (not allowed to call 32 bit dlls from 64 bit code). .NET 2.0 runs fine in 64 bit mode and DirectX provides also 64 bit dlls, BUT Managed DirectX does NOT support using 64 bit. There is no version available to do that right now, neither MDX 1.1 nor MDX 2.0 support x64. So again, force the platform to be x86 and everything works again.

I recompiled Rocket Commander and it is available at the default download location: www.RocketCommander.com download page
There were also a couple of discussions about this issue in the Rocket Commander boards.

Another issue are external tools or helper tools like TestDriven.NET, which support x64, but it seems the underlaying NUnit Framework does work only in 32 bit. Not funny at all if you have a x64 bit app or just run All CPU on a x64 platform and want to test your code. This issue can be resolved by testing in 32 bit mode and then later switch to 64 bit if you want a 64 bit version of your app.

UltraEdit, WinZip and WinRar work fine, but all of them are 32 bit. So whats the problem? They all provide shell extensions for the Windows Explorer, which do not work in the 64bit version of the Explorer. There are 2 solutions for this.

  • Start the Windows Explorer 32 bit with the command line. Command:
    c:\windows\syswow64\explorer.exe /separate
    This didn't work very well for me, some of the shell commands did not work properly and it is really annoying to start the windows explorer this way. Often you might open a folder or jump to a containing folder, then of course the default 64 bit Windows Explorer is used.

  • Add your own shell commands in the registry. This works great for Open with UltraEdit or Extract files here, but if you need smarter commands like Extract to subfolder this doesn't help. Anyways, here is the solution. Add this file to your registry to add the following lines (change them to whatever you need):

    Windows Registry Editor Version 5.00

    [HKEY_CLASSES_ROOT\*\shell]

    [HKEY_CLASSES_ROOT\*\shell\Extract here]
    @="Extract here"
    [HKEY_CLASSES_ROOT\*\shell\Extract here\command]
    @="C:\\Program Files (x86)\\WinRAR\\winrar x \"%1\""

    [HKEY_CLASSES_ROOT\*\shell\Ultra Edit]
    @="Open with UltraEdit"
    [HKEY_CLASSES_ROOT\*\shell\Ultra Edit\command]
    @="c:\\Program Files (x86)\\ULTRAEDIT-32\\uedit32.exe \"%1\""


Programs and drivers that do not work

Some old setups like for the Panorama Wallpaper changer do not at all (wrong windows version error message), but I managed to install some of the manually (copying files and setting registry settings).

My on board network drivers do not work at all, neither does my old TV card, but I had many driver problems in Vista Beta 2 x64 too. I found a old 1Gbit network card that works and I never watch TV anyways. All other drivers (board, gfx, sound, mouse, keyboard) work just fine.

Update 2008-08-19: My onboard sound really sucks and I tried to install my old PCI Soundcard (XFire 1024), but since the vendor does not provide 64 bit drivers, there is no way I can use that card. The onboard network adapter (Marvell 88E1111) also stopped working and does not even show up. Another old VIA VT6120 1gbit card could be installed, but didn't work either. Maybe I have to try out deactivating the other cards and then it should work, a 64 bit driver is installed.

Now to my main issue: You cannot use ANY new keyboard layouts at all! I really need my own AbiKeyboardV9 layout to type efficiently. I tried like 10 different other keyboard layouts too, all of them can be installed, but as soon as you try to use a new layout you always get a error message like "Windows could not load the x keyboard layout.". Not funny at all and I found absolutely NOTHING for either vista or x64 Windows to fix this problem on the internet. I used the Microsoft Keyboard Layout Creator, which works great on Windows XP 32 bit and lower. But this tool was last updated 2003 and the support for future windows version or x64 is just not-existant. Other tools I tried (keytrans, klm, etc.) suck even more and usually cost a lot of money, none of them worked on 64 bit or provide any useful features for me. All of them work only in 32bit.

More links on that topic (all of them have x64 bit problems and are unresolved)
http://www.planetamd64.com/lofiversion/index.php/t15929.html
http://blogs.msdn.com/michkap/archive/2006/01/26/517728.aspx
http://blogs.msdn.com/michkap/archive/2005/10/06/477930.aspx

I found some information on Marks Blog from Sysinternals in which he provides a solution to his Cap2Ctrl tool (which just maps the Caps Lock key to Ctrl). Similar to that I found out which keys have which codes with help of the scancode.doc doc from Microsoft for keyboard developers and wrote my own keyboard remapping code.

While the normal keys worked great and were changed in a couple of minutes all the special keys are messed up because I had different meanings for pressing shift with special keys. I found no solution to that so I updated my keyboard layout, there were some minor changes I wanted to do anyways. This is my new keyboard layout, which now works on all windows versions (finally I can use Vista too ^^). Some keys are not optimal, but to support both the german and US keyboards some '/" have to be used twice (scan code 2B) and some keys like -/_ had to be moved to worse positions (relative to my old layout, not much of a difference compared on the US layout). This can't be fixed with scancode remapping. I've used my new layout for a couple of hours now and it seems fine. The most annoying changes are <>, (), \|- and -_, everything else stays, but I guess I will manage.

This is my new Keyboard Layout:

  • AbiKeyboardLayout v10
  • To install you can use the following file: abi keyboard installer.reg
  • And uninstall it again with this file: abi keyboard uninstall.reg
  • This is the content of abi keyboard installer.reg:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
    "Scancode Map"=hex:00,00,00,00, 00,00,00,00, 19,00,00,00, 2A,00,3A,00, 2B,00,0C,00, 0C,00,0D,00, 0D,00,10,00, 19,00,12,00, 15,00,14,00, 10,00,15,00, 22,00,16,00, 20,00,17,00, 21,00,18,00, 25,00,19,00, 28,00,2B,00, 18,00,1F,00, 12,00,20,00, 16,00,21,00, 17,00,22,00, 1F,00,24,00, 14,00,25,00, 31,00,26,00, 26,00,27,00, 27,00,28,00, 0C,00,56,00, 24,00,30,00, 30,00,31,00, 00,00,00,00

    To understand the scan codes and how this binary code is formated please read this document: scancode.doc.

So far so good, I will stick with x64 and you guys know now how complicated my computer is ^^

 Friday, July 01, 2005
Friday, July 01, 2005 1:03:06 AM UTC (  |  |  |  )
Hi everyone. The last couple of days this site and some related sites were down because we (exDream entertainment) moved to a new location and hadn't internet for a while. Now everything is back up and working again.

The EuroVernichter game v1.2 had also some troubles with the last static ip we had and now no longer maintain, so it needed an update (it was originally written in 2003). For this reason I've implemented some cool new features and also fixed the online-score reporting, version 1.3 can be downloaded now. There isn't much text in the game and it can be played without much problems even if you don't know the german language.

As stated on ArenaWars.net the new features are:

  • A new fancy powerup, which allows you to switch all coins of a type to another type with just 1 click (see the screenshot).
  • 5 new hidden ranks, the ranking goes now from 0 to 2000 euros. The old ranks are now reached easier und this brings hopefully newer players into the highscore :)
  • Fixed server-update technique to upload your online score, also a couple of new sound effects for victory and powerups.

I have also been working on another small useful tool, which I will present you tomorrow (with an nice article and sourcecode), here is a small preview:

 Wednesday, May 04, 2005
Wednesday, May 04, 2005 12:16:20 AM UTC (  |  |  |  |  |  )
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.

Quick links


About Lost Squadron

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.

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.


Todays topic

A new effective keyboard layout for programmers, especially for c# and c++:

abi/blog/abiKeyboardV9.zip">Download AbiKeyboardV9 installer
abi/blog/CountMostUsedKeys.zip">Download the CountMostUsedKeys program (see below)
abi/blog/CountMostUsedKeys_src.zip">CountMostUsedKeys source code for anyone interessted.

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:

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.


Dvorak

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):

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").

Anyway, while playing around with Dvorak (us default layout) I really found some things VERY annoying, especially for coding and playing games:

  • 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).
  • 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.
  • 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!
  • 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.
    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).

I've also collected some interessting facts when comparing Dvorak and QWERTY considering c#/c++/java code. Click this link to test it yourself.

  • 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 ^^).
  • When just pasting c# code stuff without much text like
    if ( a == 0 )
    {
    doIt( a!=0?a:0 );
    } // if

    QWERTY still outperforms Dvorak, which can't be good!
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 ^^).

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).
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).

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 Keyboard Compare Applet) and how much it is used. Using shift is also a major impact IMO, especially when keys are far away.

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.

Screenshot of the program (I improved it yesterday, it was a console tool before):

abi/blog/CountMostUsedKeys.zip">Download the CountMostUsedKeys program.

abi/blog/CountMostUsedKeys_src.zip">And the source code for anyone interessted
(may be useful if you want to write some line count tool yourself)


CountMostUsedKeys results:
Search mode=Everything, File type=*.cs, Directory=C:\code\
Number of files=4041, Number of lines=2031908, Number of keys=67829575

Type: Keycode: 3210,1%(6851259 times used)
Type: eKeycode: 1017,21%(4887698 times used)
Type: tKeycode: 1165,2%(3525648 times used)
Type: aKeycode: 974,13%(2802961 times used)
Type: rKeycode: 1144,06%(2754960 times used)
Type: iKeycode: 1053,93%(2663137 times used)
Type: nKeycode: 1103,68%(2494441 times used)
Type: oKeycode: 1113,39%(2298022 times used)
Type: sKeycode: 1153,24%(2195958 times used)
Type: lKeycode: 1082,61%(1769538 times used)
Type: /Keycode: 472,52%(1710099 times used)
Type: uKeycode: 1171,99%(1349478 times used)
Type: mKeycode: 1091,91%(1298573 times used)
Type: cKeycode: 991,77%(1201477 times used)
Type: dKeycode: 1001,77%(1198823 times used)
Type: .Keycode: 461,42%(964040 times used)
Type: pKeycode: 1121,41%(956931 times used)
Type: gKeycode: 1031,23%(832686 times used)
Type: fKeycode: 1021,22%(827820 times used)
Type: yKeycode: 1211,15%(783356 times used)
Type: hKeycode: 1041,11%(753548 times used)
Type: )Keycode: 411,09%(739711 times used)
Type: (Keycode: 401,09%(736841 times used)
Type: ;Keycode: 590,86%(580753 times used)
Type: bKeycode: 980,79%(532778 times used)
Type: ,Keycode: 440,76%(512629 times used)
Type: =Keycode: 610,74%(503579 times used)
Type: wKeycode: 1190,62%(419356 times used)
etc.
Note: This stuff does NOT represent every key pressed, hotkeys and errors and corrections are obviously not saved in the text files.

Same results without space and letters, very useful to assign the most important symbol keys:
Search mode=ExceptLetters

Type: /Keycode: 472,52%(1710099 times used)
Type: .Keycode: 461,42%(964040 times used)
Type: )Keycode: 411,09%(739711 times used)
Type: (Keycode: 401,09%(736841 times used)
Type: ;Keycode: 590,86%(580753 times used)
Type: ,Keycode: 440,76%(512629 times used)
Type: =Keycode: 610,74%(503579 times used)
Type: "Keycode: 340,38%(255445 times used)
Type: <Keycode: 600,32%(213786 times used)
Type: >Keycode: 620,3%(203429 times used)
Type: }Keycode: 1250,28%(187354 times used)
Type: {Keycode: 1230,28%(187017 times used)
Type: +Keycode: 430,27%(181705 times used)
Type: -Keycode: 450,24%(159515 times used)
Type: ]Keycode: 930,19%(130828 times used)
Type: [Keycode: 910,19%(130687 times used)
Type: _Keycode: 950,13%(89213 times used)
Type: *Keycode: 420,12%(83203 times used)
Type: :Keycode: 580,11%(77487 times used)
Type: !Keycode: 330,1%(64444 times used)
Type: &Keycode: 380,09%(58918 times used)
Type: #Keycode: 350,07%(47258 times used)
Type: |Keycode: 1240,05%(34348 times used)
Type: 'Keycode: 390,05%(31284 times used)
Type: ?Keycode: 630,03%(19709 times used)
Type: \Keycode: 920,02%(15340 times used)
Type: %Keycode: 370,01%(7019 times used)
etc.


Based on that I created my own keyboard layout, which was updated 9 times until I was happy with it.

Version 1 looked like this (pretty much like dvorak, some cosmetic changes at the right side):

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 {}.

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.

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:

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).

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).

abi/blog/abiKeyboardV9.zip">Download AbiKeyboardV9 installer

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: Learning Dvorak

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 :)

If you got comments or some ideas to improve this even more, let me now!


Useful links

Introducing Dvorak
Keyboard Compare Applet (nice)
Best keyboard layout creation tool, hidden and hard to find, but this is the only free useful keyboard layout creation tool.

The Dvorak Keyboard and You
Changed Dvorak for similar symbol keys
Learning Dvorak
Pic of Dvorak default Layout (us)
Critik to Dvorak
Keyboard Layout Manager (allows to change keyboard layouts) It's shareware.
Some discussions about Dvorak (coder related):
Dvorak discussion 1 Dvorak discussion 2 Dvorak discussion 3
 Wednesday, December 01, 2004
Wednesday, December 01, 2004 2:18:53 AM UTC (  |  |  )
I just finished updating the Arena Wars Website, but I had some stupid troubles with the IIS security. If I change any file there, I get .dll could not be accessed error. Everytime when deploying I had to rename the full directory to another one, reset all directory and security settings and send rename it back (and set again all security settings). Seems also to be only an issue with Win2003, on XP I had no problems at all deploying the WebApp (1.1, 2.0, doesn't matter). Really strange .. the MSKB articles also don't help much (because they describe 1 mio other unrelated problems).

As you can see on Graphical Statistics I did some graphics by the WebApp (and for generating them I need the security stuff above). I did take a look at stuff like NPlot, but its much to complicated to do anything with libraries like that. My code is only 100 lines or so for the image generation, its pretty straight forward and much easier to modify IMO (or am I the only one thinking the NPlot stuff is kinda ugly?)

Also check out the final release of TestDriven.NET if you haven't got it yet, the free registration is kinda stupid (you have to enter a lot of stuff), but the Unit Testing Addins for Visual Studio are really good and should be used by any Coder (I use it now for 3 months, even the beta versions were great)!

 Monday, November 29, 2004
Monday, November 29, 2004 12:27:25 PM UTC (  |  )
Yeah, I finally made the first RWA (Replay with Audio) for Arena Wars. There is now a new Replays with Audio Section on www.ArenaWars.net, if you want to record and publish yours there, just write me an email with the .AWReplay file.

Download Michi_vs_Seno_commented_by_abi.AWReplay
Choose save as "*.* (all files)" or rename it back to .AWReplay if you got IE, else it might get renamed to .Zip.
You can play any RWA with any Arena Wars version (even the Demo) and even record RWAs with the Demo. Have fun!

Its really fun to record and watch RWA's, I hope you like it and if I get some response in the ArenaWars boards I will do some new cool ones (currently its in english, but maybe someone can convince me to make some german ones too).
Monday, November 29, 2004 1:01:39 AM UTC (  |  |  |  )
Today I sucked at BWCL (StarCraft), then when playing Wolfenstein3D (really funny oldschool, I lost all my lifes in 6.7, but the 6. campaign is really hard) and now I suck to finally make my first RWA (Arena Wars Replay Commentary). I get a couple of minutes good comments and then I just get lost. Man, I just wanted to finish my first RWA today, that's not looking good for me (wanted to do that a long time ago).

At least the programming does work well, I fixed most bugs in my CodeRush plugin and will hopefully finish it this week and release it (with tutorial, sourcecode and everything).

And now a picture totally out of context:
 Saturday, November 27, 2004
Saturday, November 27, 2004 1:34:55 PM UTC (  |  |  )
Omg! Are we famous or what? Doesn't make any sense. www.ArenaWars.net was hacked a couple of hours ago. This is how the site looked like (all other www.ArenaWars.de, www.Arena-Wars.com, etc. sites were also affected):


A couple of days ago some russian guy did spam the Wiki Strategy Guide Section on ArenaWars.net, the full story (in german) can be found here in the AW boards.

This has NOTHING to do with the Arena Wars game server, any other service, server or website from exDream or ArenaWars, it was just the website (and only the start page) which got affected. The site is restored now, but sadly the security isn't because I have no direct access to that computer, but the Server administrator has been informed.

I already have a guess how this could have happend, but until can't tell you right now! All I can tell you that some russian guys were involved, I got some log entries, emails und urls, but that won't help my in any way I guess.

If you like to talk about this, please go to this thread in the ArenaWars boards.
 Saturday, November 20, 2004
Saturday, November 20, 2004 1:26:32 AM UTC (  |  |  |  )
Well, there wasn't much news this week here. ArenaWars v1.2.1 did come out, more on that on www.ArenaWars.net, I also did some server improvements yesterday and switched to release mode for the first time (now the server has much more cpu power).
I also wanted to start a Replay Commentary section here, but I'm not really in the mood and am a bit depressed (has also to do with how bad ArenaWars marketing and stuff is doing and the relationship with the publishers). Maybe later or maybe if something makes me happy again.

Other than that I just reinstalled VS2005 to continue with my other stuff (had to do that because the Oct Express Edition was not compatible and stuff, but the Oct Edition is not really useable, just the E&C feature is cool). Also a new version of CodeRush is out and I will check out the new features and hopefully finish my CodeRush plugin soon (it works already great, but it needs still some improvements).

I also missed the start of the DotNetRocks radio show, it started earlier today? Its running right now :)
Update: Ok, they just recorded DotNetRocks and are now broadcasting Mondays :-)
 Monday, November 15, 2004
Monday, November 15, 2004 5:31:19 PM UTC (  |  |  |  )
Well, I should be happy, few weeks ago I was somewhere in the hundreds. But now it's getting close, when searching for Nitschke at google there is some other guy in first place still: Ray Nitschke. I will get you, hehe! And don't tell me I have no chance to accomplish that with "Benjamin", I know that myself :-(

Other news: As you can read on exDream.com and ArenaWars.net, we won the german developer price in 2 categories: 1st place in Innovation and 2nd place in the mid-price category. More information about the german developer price (in german) can be found here: www.deutscher-entwicklerpreis.de

Btw: As soon all this Arena Wars stuff is finished (soon), I will get back to business and post more about Game Development again.
 Saturday, November 13, 2004
Saturday, November 13, 2004 2:05:57 AM UTC (  |  |  )
The first show is currently recorded, turn in at http://radio1.franklins.net:8000/listen.pls (winamp stream).
More info about the show can be found at: mondays.pwop.com, I think sometime monday you can download the show (if you had not listen to the show live).
Sadly, the