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
Archive
| April, 2008 (1) |
| March, 2008 (1) |
| February, 2008 (3) |
| January, 2008 (4) |
| December, 2007 (2) |
| November, 2007 (2) |
| September, 2007 (2) |
| August, 2007 (2) |
| July, 2007 (10) |
| June, 2007 (6) |
| May, 2007 (9) |
| April, 2007 (11) |
| March, 2007 (10) |
| February, 2007 (3) |
| January, 2007 (1) |
| December, 2006 (4) |
| November, 2006 (13) |
| October, 2006 (1) |
| August, 2006 (14) |
| July, 2006 (5) |
| June, 2006 (7) |
| May, 2006 (9) |
| April, 2006 (5) |
| March, 2006 (8) |
| February, 2006 (8) |
| January, 2006 (2) |
| December, 2005 (9) |
| November, 2005 (7) |
| October, 2005 (5) |
| September, 2005 (2) |
| August, 2005 (5) |
| July, 2005 (2) |
| May, 2005 (2) |
| January, 2005 (2) |
| December, 2004 (16) |
| November, 2004 (12) |
| October, 2004 (8) |
Popular
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

Email: 
Total Posts: 213 This Year: 0 This Month: 0 This Week: 0 Comments: 434
|
Made with
 |
Disclaimer
The opinions expressed herein are my own personal opinions and do not represent
my employer's view in anyway.
| | 
My brothers
netfreak.de

mirkman.de

Sign In
|
Thursday, December 29, 2005 7:47:28 AM UTC ( All | Boo | Game Development | Lua | Other | Programming )
|
I've updated my Commenter plugin for CodeRush today. I did some refactoring and was getting annoyed that some of the .NET 2.0 features did not get commented properly yet (like generics or anoynmous delegates). I also fixed some older bugs and issues.
This is the changelist (full history can be found in the original article):
- First version for VS2005 and using .NET 2.0 now for supporting generics and anoynmous delegates (more useful comments now inside of anoynmous functions and code blocks defined there).
- Fixed again: No xml generation inside of methods (recent CodeRush version changed its behaviour somehow). Check is now performed inside the recursive method, this fixes all older issues too.
- When commenter is disabled the globol hotkeys don't work anymore now.
- Version number in options and a link to check if any new updates are available
- Hotkey for generating comments and XML: Ctrl+1. Saves you typing '}' and doesn't require you to go to the last line of a block all the time.
- If using defines in the using statements the surrounding region is now generated properly. Also adds automatically the #if DEBUG and #endif statements (which I use to exclude NUnit from the release build) around using NUnit.Framework, which is often generated by adding the namespace automatically or using some template.
|
Click here to download CR_Commenter.zip v1.5
And here is the sourcecode for CR_Commenter v1.5
 |
I also wanted to add an embed with region feature, but it is already pretty simple with CodeRush if you know the hotkey: Select a block you want to build a region around (e.g. a method, you can press ctrl+shift+up/down quickly select the method). Then just press Ctrl+R, thats it.
If you are using CodeRush (and you need it for my Commenter) you should also check out these new CodeRush tutorial Videos from Developer Express, they are pretty cool and informative.

I've also checked out the Boo Programming Language today after playing around with IronPython the last couple of days. Boo is really cool and introduces a couple of ideas I agree 100% with. I have to try it out a bit more. One major problem is the fact there is no Visual Studio addin and typing in some editor or the console is no fun at all. A plugin for MonoDevelop and SharpDevelop does exist (and is actually implemented in the latest versions), but while these are very good open source IDEs, I'm a Visual Studio user and have a lot of addins I would miss in any other editor.
I use also use UltraEdit, which is pretty cool and can be used for all kinds of shit (not only text, hex, html, but also millions of source code formats). However, the Boo language is missing syntax highlighting support in UltraEdit (while almost 1 million other languages are supported). I just wrote this little wordfile myself for UltraEdit Boo syntax highlighting support: boo.txt, just add it to your UltraEdit wordfile.txt file.
Again: Boo is a cool language. I heard of it at the PDC, where I saw even the developer in some session, but I never checked it really out (maybe it was too Linux oriented for me). Maybe I will try to convert the SharpDevelop addin to Visual Studio if noone else does it (because I would really want that feature when coding in Boo). I still like Lua and Python too, but they don't have any intellisense support either, which is one of the main reasons I haven't switched over to writing more in those languages instead of c# right now.
Wednesday, December 28, 2005 3:44:01 AM UTC ( All | BroodWar | Game Development | Lua | Other | Programming | Reviews )
I'm working on a little other project right now and that will take a while before I can show anything. Its about a new programming language and testing out MSIL (.NET immediate language, looks like assembler) stuff.
I wanted to make a review of this year, so instead of thinking to much about it, here it goes. I will only talk about games, books or movies I know and saw, obviously this all is just my opinion! Some entries are older than this year, but I saw, played or watched them only this year.
Btw: I wrote this whole article (which is almost 40k in html, which I always use when writing blog entries) in a couple of hours and I have to say my keyboard layout I invented last year is really kicking off. I'm writing faster than ever and stay as relaxed as if I hadn't typed much at all.
Content
Best Games
The best game for me is still StarCraft, so lets talk about games that did come out this year.
Action games and others (only the best). In just the last 3 months a really big number of shooters did came out, all of them are really good. Strategy games are handled seperately below this section.
 | Battle Field 2 4/5: Not much to talk about here. This will be propably game of the year if voted by online gamers. It is a good solid online game, but a bit too time consuming and too realistic for me. I'm more on the fun side when playing a shooter. The predecessor Codename: Eagle (that is before Battle Field 1, back in the year 2000) had already a lot of the game play in it and was oriented more on the fun side. I still like to play it on LANs. Battle Field 2 is also a great game for LANs, if you have enough people. |
 | Serious Sam 2 5/5: Serious Sam is just a great fun game. I especially like it because I can play it like Quake for a couple of minutes and then return to working. There are not much games around today to do that. Also the amazing mass of levels and cool ideas in this game are just great. It is also the best coop shooter ever and part 2 is as much fun as the first Serious Sam. The only thing a bit annoying is the video skip error in coop mode and that there are no times in the games were you can relax, it is action - action - action! I already played it from start to finish twice, really good job croteam (once mostly alone and once in coop again). |
 | Quake 4 4/5: Hey now! I'm a big fan of all Doom and Quake games, I've played them all and they invented the whole shooter world today. Doom 3 was a disappointment for many people and Quake 4 looks exactly the same. However the gameplay is really good and except the fact that the first couple of missions are way to easy IMO the game gets really good and hard in the second half. It has a decent amount of levels and is a really good singleplayer shooter overall. The multiplayer part makes like in Doom3 no sense at all, I still can't understand why so much good singleplayer games force themselfs to implement a multiplayer which just can't work with this kind of a game (same think for Fear btw). The scenes in the first half of the game get really brutal, but if you know about Doom 3, you won't get shooked by Quake 4. |
 | Fear 3/5: This game got me really exciting and the demo was a hell of a demo, one of the best shooter demos I've ever played. The first couple of missions are still good, but then it gets boring and more boring. You have seen all the graphical effects and buh ho the girl and that old man that appear in some corner or directly in front of you don't shock you anymore. The more I played the more bored I got, I haven't finished that game yet. And that is a really bad sign because I usually play every single game I like from start to finish. It reminded me a bit of Project: Snowblind, which got boring after a while too and I never finished it. Anyway, if you get shocked or like horror or action movies this game is for you (ok, you might need a powerful and fast computer too). |
 | Call of Duty 2 4/5: Call of Duty 1 was a big success. I liked really don't like any World-War-II games because they are almost all the same and there are way too much games with this setting. However Call of Duty was different, it was fun to play and the missions were designed really good. The only thing of part 1 which annoyed me a little was the incredible short singleplayer (4 hours and it was already over). Call of Duty 2 is very similar to the first part, but includes new settings and exciting new graphical effects. Overall the game is produced really good. I haven't completed it yet, but I plan to play it soon. People who have played it liked it a lot. There are a lot of fan sites and stuff around, but I remember some strike some time ago because the community didn't want to wait any longer for the game SDK and said they want to stop playing CoD. Dunno what happend to that. |
 | Guild Wars 3/5: Guild Wars is a really good MMORPG (massive multiplayer online role playing game) and a lot like World of WarCraft (which is also a nominee for the best game of this year for most RPG fans), but it doesn't cost 15 bucks each month. I tried it out in may or something, but it didn't motivate me enough. I only played to level 10 or so and then stopped playing because I had other things to do. Thats the main problem with RPG games these days, they take too much time and they are just too chaotic and not shooter like enough. I like the older games like Diablo2 or Sacred (btw: the Sacred addon which came out this year was fun too) much more, which are fun to play for a while and then I can throw them away. |
Strategy Games (RTS):
 | Act of War 3/5: At the first look this game is all about graphics and effects, the videos. Then after the second look it is even worse, there is no good unit handling possible and almost no balance at all in the game. However, it was still fun to play the singleplayer (as short as it was) and overall it was an ok game. The multiplayer is due the missing balance and the immense amounts of hitpoints each unit kills not really fun. C&C players will like this game more than StarCraft or WarCraft gamers. |
 | Armies of Exigo 3/5: This game did come out November 2004, but I had no time to play it back then (only the demo once). Like The Lord of the Rings RTS game (see below) it is very similar to WarCraft III, but IMO Armies of Exigo is way better despite the really bad success it had (almost noone knows about this game). Armies of Exigo was planned as progamer game, has some really decent videos and nice graphics (almost as good as LotR and way better than WarCraft III). However, all community sites have closed and there is absolutely noone playing online (and not offline either ^^ the marketing sucked even worse than for Arena Wars, and this is an EA Game). Anyway, it is still one of the best RTS games I played this year. |
 | The Lord of the Rings: The Battle for Middle-earth 2/5: Basically this game is exactly the same as Armies of Exigo except the big name and the amazing marketing and success. I personally don't like this game at all. The singleplayer is boring as hell, every mission is the same and only the first couple of missions were made interessting. The multiplayer is even worse, there is no good balance and the gameplay itself is boring as hell with all the heroes and bunkering in bases. When I compare LotR online players (e.g. in the ESL or Giga leagues) with other RTS gamers (like WarCraft III or StarCraft) it is really sick: The LotR are sitting there playing with one hand only and clicking the mouse a couple of times per minute. On the other hand WarCraft III or StarCraft players use both hands and click like 50 times per second and almost destroy their keyboards while playing (which is also more fun to watch ^^). |
 | Earth 2160 1/5: Another game where almost every screenshot looks like it is a shooter. Last year a lot of games like that did come out, all sucked. But the bad controls or the strange screenshots are not the problem of this game. The intensions and ideas for Earth are really good and the graphics look fine too, but the game is just no fun to play. The singleplayer is just boring as hell. You get the feeling like no of the designers plays any other RTS game. It is more fun to play Warcraft I or Dune 2 (which are almost 14 years old). The multiplayer makes absolutely no sense at all, it is very hard even to log on and when you finally made it there is noone around. I played online once or twice and it is really just crazy how imbalanced this game is. PC Game magazine claim this game has a great balance and when you actually trying to play it seriously it is like running against a wall. Tip: Choose the alien race and just build few brain bugs, you can't lose a game now. Better tip: Don't play this game at all. And don't ask me why this game has so many awards it doesn't deserve. |
 | Age of Empires III 3/5: And finally a couple of month back a new Age of Empires game came out. The graphics are really good and it is one of the first RTS games ever to make good use of shaders and normal maps. It is a solid game and especially something for fans of the Age of Empires games. The Age of Empires games did never really convince me. Maybe I just don't like the setting, Sci-Fi or the present time is much more interessting to me. Other than that I havn't played AoEIII a lot yet, I can only tell you that the heroes idea and the extras you get from your hometown are really bad ideas IMO. While I would say AoE is more of a singleplayer game than a good balanced multiplayer game, the already big online community of AoE does tell me the opposite. There are already a lot of leagues with AoE in it. |
As you can see I'm not very friendly to RTS games. I rather play older games like StarCraft, WarCraft III or even C&C Generals than any of the RTS games this year (yesterday I even played WarCraft I (1994) from start to finish, cool game ^^).
I don't know of any other RTS game that did come out this year, maybe I missed one? Btw: I don't count Tactical games like Panzers into strategy games. Neither do The Sims or games like The Settlers or Civilization count on my list I'm not saying these games are bad, I just don't play them and couldn't tell you if they are bad or really bad, hehe. Also I think Civilization was the best game in its time and The Settlers 1 was really great fun, but why do I have to play the same game over and over again every year? Its just boring and the new sequel games don't add anything exciting to it. Anyways, the sell like shit and people keep producing them ...
Ok, enough overview. I played few more games this year, but most of the games I just don't like and I uninstall them after a couple of minutes playing them. Other games are only small games or shareware and they are not worth standing next to this big games ^^
So whats the best game for me this year? On the shooter department it is Serious Sam 2, which has the greatest replay value (I didn't even finish Fear and I will not play Quake 4 again for a while). For the strategy games above I would say Act of War and Armies of Exigo were the best RTS games released this year. I don't play AoEIII, but compared to Act of War or Armies of Exigo it is much better produced and has better graphics, I guess most people will vote AoEIII as the best RTS game this year. But please don't mention Earth 2160 ever again :D Lord of the Rings will stay with us for a while, no matter of what I think or how good or bad the game actually is.
So why not make StarCraft the game of the year 2005? I played it more than any other game this year :D It is amazing how much comunity sites and leagues were created this year for this 8 years old game (GosuGamers.net, PGTour, ESL-Pro Bw, GGL AmeriCup, etc.).
Some links about top games this year:
Best of E3 2005
IGN PC Best of E3 2005
Top 10 2004 (more like Top 10 of all time)
Best Movies
Well, I watch some movies from time to time too, but I can't remember them a week later ^^ For this reason this section is really short. For a great movie site and I bet they will do some 2005 review too, take a look at www.rottentomatoes.com.
- King Kong 4/5: I just saw it a week ago, so I can still remember. It is amazing that this movie cost 207 million dollars. It is a really stupid movie and somehow I expected too much. Once you relax and just "watch" the movie (if you don't fall asleep in the first half) it is actually a good action movie. The dinosauriers were fun and King Kong running around in New York was great too. Just don't talk about making sense ^^
- Serenity 5/5: I'm a fan of the Firefly series, so it is no wonder that I like this movie, which is based on the Firefly series, which was canceled after 1 season 2 years ago. Basically the idea was to mix the wild wild west with a sci-fi theme in space. The characters are really interessting and it is just fun to watch, they don't take themself too serious like some of the Star-Trek series. Anyway, this movie is really good, also for non-fans, it is produced ok and the storyline is interessting and exciting too.
- Harry Potter and the whatever this year 3/5: Well, I watched the first one and then skipped the other two and suddently Harry Potter became really old and some of the scenes (like the bubble bath scene) were really inappropriate IMO. For Harry Potter fans this is a good movies, for the rest of us, it is just ok.
- The 40 Year Old Virgin 5/5: This is a really funny movie and I liked it.
- Mr. and Mrs. Smith 4/5: I just like Angelina Jolie, so every movie with her in it has to be good. Well, don't remind me of Tomb Raider. Anyhow, this movie is actually fun to watch and has a funny plot.
- Madagascar 4/5: A nice family comedy (I went with my little sister), but the amount of CGI movies the last couple of years is rather sickening. But if you only watch every 10th of them, they are actually good ^^
- War of the Worlds 4/5: A lot of people really hated this movie. I can't understand why, it was a solid sci-fi movie and I really liked the idea to tell the story from a completly other perspective (not the usually 1 man kills all boring action shit). Maybe it was Tom Cruise, who is really stupid (ever heard him talk in an interview?), but he is a hell of an actor and I still think this movie is one of the better ones from Spielberg these years.
Ok, I can't remember more movies right now, who cares anyway :D
Best Software
Well, the award goes to Visual Studio 2005, there is no competion, next section please :D
No, seriously: For programmers Visual Studio 2005 is the greatest thing happend this year. Even the beta, which I start using at the beginning of this year was very useful and made me much more productive. Ok, lets try to think of anything else:
- TestDriven.NET: This rather simple NUnit addin for Visual Studio is a great way to use unit testing in Visual Studio, you can also use the implemented Visual Studio Test System (which is good if you plan to use Visual Studio Team System in the future), but if you just have Visual Studio Express NUnit is your only good choice. Download it from www.testdriven.net. The TestDriven.NET Version 2.0 for Visual Studio 2005 is available since last month too, good stuff.
- CodeRush: Not really a new tool this year, but it is still updated and the most useful Visual Studio addin for me. They just made a couple of cool tutorial videos for it a couple of days back. I've also written an plugin for it: CR_Commenter.
- FX Composer v1.8: The best shader edit tool around and NVidia still keeps updating it. Even our graphic artists use it now, after hiding the code and just showing them the buttons and scene preview, they are happy and can use it just fine to finetune shaders.
- IronPython: IronPython is the implementation of Python in .NET and it outperforms the original script language by the factor 2 or even better. I played a little bit with it after the PDC this year and it made my think of a couple of new ideas. I'm still a fan of Lua and think it is the better and easier choice for small programs or just saving small scripts. However, the work of the IronPython guys - who work at Microsoft now - is really amazing.
Can't remember more plugins, but I'm sure I used a lot more and tryed out a lot of stuff this year. Check out this list of Ten Must-Have Tools Every Developer Should Download Now (by MSDN Magazine). I will not go into detail about other useful programs and tools like Photoshop CS2, 3DS Max 8, Miranda IM, Skype, etc. there are better sites than mine for that :D
Best Programming Books
Graphics and Shader technologies:
 | Game Programming Gems 5 5/5: Like any other Game Programming Gems Book this one is no exception, it is just great. You can read it from front to back or use it as a reference if you look for solution to common game programming problems and even programming problems in general. It covers 7 sections from general programming and mathematics over AI and physics to finally Graphics, Network and Audio. This one is the most recommended game programming book series. |
 | ShaderX4 4/5: Another book series, I read the first 3 and use them as a reference whenever I look for cool shader effects. The 4th volume isn't released yet (but is comming this or next week, I preordered it a while back). I expect the content to be as good as the predecessors. Wolfgang Engel is a good editor and I heard him speaking at the Quo Vadis developer conference, he knows a lot about shaders ^^. |
 | GPU Gems 2 4/5: And another book series (does it ever stop?). Good stuff for NVidia developers (I like NVidia), but since most shaders work fine on ATI hardware too (except you tried to write PS3.0 when ATI still hadn't any cards for that), it is a good shader book. It covers some nice tricks and can be compared to the ShaderX books. Unlike the Game Programming Gems or the ShaderX books every page is printed in color and this makes it also a good colorful picture book where I can show effects to my artist guys, who won't even bother to look if it isn't a nice picture. |
 | Shaders for Game Programmers and Artists 3/5: This is one of the first shader books I've read, but even for a first book I think it is too shallow. It jumps right into post screen shaders, which are very advanced IMO and then continues with much easier shaders. The book is all about ATIs RenderMonkey tool, which I don't like because the output is unusable (I need freaking fx files). It is still a good shader book and may be helpful for artists, beginners or people who just want an overview of shader technologies. |
 | Programming Vertex & Pixel Shaders 4/5: This book is the best and most complete shader programming book for anyone seriously wanting to go into shader technologies. It is a bit harder to read than the previous one and sometimes way to mathematical instead of just having fun with shaders, but it pays of because you learn all basic shader technologies you will ever need. Again a book by Wolfgang Engel (like the ShaderX books, which are more advanced). |
AI Programming:
 | AI Game Engine Programming 4/5: I just got this book together with Programming AI by Example few weeks ago, so I haven't read it all yet. But from the looks of it, it goes into a lot of shooter AI problems and discusses useful techniques, not only about AI, but also how to use scripts (Lua), how to write all kind of state machines and neural nets. The CD does not only contain all sourcecode and figures, but also a bunch of useful web bookmarks sorted by category, I like that :) |
 | Programming Game AI by Example 4/5: This book is a bit more for beginners and immediate programmers than the rest of the books here. It is still a great book, but it "only" explains how to get into AI programming, as soon as you are ready to go, the book ends. The book starts with math and physics and does a good job explaining them. Then it goes to state driven design and continues with game agents. It does also cover questions about path finding, fuzzy logic and scripting. It is written by the founder of www.ai-junkie.com and written really good. My only critic is the fact that it is a good beginner book (and how likes to be considered as a beginner ^^). Anyway, I got it together with the previous book at the same price and thats really ok. Maybe it is good for a reference or to tell interns or wannabe AI programmers "Go read that". |
 |  | AI Game Programming Wisdom I and II 5/5: Similar to Game Programming Gems this series is all about finding skilled professionals writing capters and articles, which do really help you out. Steve Rabin is the editor and did also edit the Game Programming Gems AI sections, he also is the creator of www.AIWisdom.com. Like the other two AI books I havn't read all of it (I'm so busy you know), but from what I've seem and read this is a really helpful resource when doing anything releated to AI programming. |
General Development and Programming:
 | Refactoring: Improving the Design of Existing Code 4/5: Dirk Primbs said to me when I read this book on the flight to the PDC that you could probably dry up a cellar with this book. Maybe he is right, this book is all about crazy design pattern and rules. The first couple of capters are good to read and the rest is more of a reference. Anyway, the idea counts and refactoring is one of the most useful processes today in writing big programs. Good book, was written in 1999 and still applies 100%. |
 | Rapid Development 4/5: This is a good book about software design and keeping schedules, but it is a bit too long and sometimes hard to read (you know I have this problem of reading only half the book and then never finding time to finish it ^^). It was written back in 1996 and the techniques described still apply, but some of the ideas are not as flexible as they could be with all this new technology around (e.g. when using agile methologies you have to plan differently). Still it is a very good book and it contains a couple of interessting stories from big products like MS Word and how they never kept their schedule ^^ |
 | Code Complete 2 5/5: One of the best books ever for any kind of programmer. It is about describing the process of developing software and helps you to find out the most efficient ways to manage your projects. It does go into great detail by explaining which data structures, which routines, which loops or which strategies are the most useful. It is one of the books I would recommend both to new programmers and to experienced programmers the same way. This book just helps anyone and should be on every programmers desk, not the book shelf. |
 | Managing Agile Projects 4/5: What does Agile Projects mean? It is about scaling and customizing your project depending on the customer feedback . That sounds still to vage? Ok, it does mean that you don't plan every single bit before writing code, but to cut your project into smaller pieces and only plan the overview and then directly start developing. Now you can present a very early version really fast and with the help of feedback (customers or yourself) you can adjust your project instead of wasting time and resources developing something noone wants. You can also shorten specific parts of your project if you see there is no time left or other parts are more important, which again is not possible if you had planed every bit of your project in advance. It is a technique that goes hand in hand with Unit Testing and Refactoring (see above). This book does give a very broad overview and doesn't really talk about coding, its just methologies. Anyway, its a good book (not too long, this way I can actually finish it even with my book reading problem, see above, hehe). |
 | Maximizing .NET Performance 5/5: I'm a performance freak. In the past I often tried to reimplement existing and working code into assembler just to see how much faster it could get. Later I found out that it is often much more important to work at a much higher level and rethink a problem until the solution is good enough to run very fast even if not optimized to every bit. This is still true and I still think that most performance problems come from bad coding or suboptimal algorithms and not because of the language. However to even think of good solutions you need some knowledge of what is possible, what is fast and how do certain things affect your performance. This book gives you a very useful inside of .NET and covers a lot of tricks and tips about .NET performance. It is also a good reference book. |
 | Code Generation in Microsoft .NET 4/5: Last year I heard this DotNetRocks radio show and Kathleen Dollard was the guest. She talked about Code Generation using templates and other tricks. I immediatly bought this book. It is mostly written in Visual Basic, but a c# convertion does exist too. It does a good job explaining how to use Code Generation with the CodeDom, but does not go into detail about MSIL (which I was more interessted in). Anyway, the book is written nicely and I could learn a lot from it. The books presents an entire framework for building SQL bindings, stored proceduces and building WinForms from XML templates. It is also one of the first books on this subject (and maybe still the only one going into the CodeDom instead of MSIL). |
Other:
 | Programming in Lua 5/5: This is THE book for Lua programmers. It is also available for free to download from lua.org. I first read the online version and then bought the book because it is so good and it helps to have a reference. Lua is a very simple script language. But sometimes it is so simple that you just don't know which keyword to use or what to type. Having a few useful code examples every other page is the biggest help ever. With help of this book I learned Lua in 1-2 days and could really do useful stuff with it (instead of writing just hello like most languages you learn in a short time). |
 | Chris Crawford on Game Design 5/5: I recommend this book because it is easy and fun to read. Chris Crawford sound sometimes a little crazy and the fact that he hasn't released any games in the last couple of years might speak against him, but his experiences from the past (he talks about the 70th, 80th and 90th and games he has done and many other classic and inovative games. He goes also into detail what is missing in most games today and how to fix that (very theoretical, but his thoughs are interessting). Even if you are not smarter after reading this book, you will feel smarter. |
Ok, that's it. I have a couple of more books lying around here (like Extreme Programming Adventures in c#, Physics for Game Developers or The Pragmatic Programmers), but I have not read them yet and can't give a good review about them, but they are all good books I guess. I also recommend The Odd Todd Handbook: Hard Times, Soft Couch, which has nothing to do with programming, but helps you sometime to get up and not end like him.
I hope you like my review of 2005. If not or you have anything to add and don't encounter the Internet Explorer bug not able to post comments, you can post a comment below ^^
Tuesday, August 16, 2005 1:15:27 PM UTC ( All | Game Development | Lua | Programming )
You can find exDream entertainment (and obviously me too) at the Games Convention 2005 in Leipzig (Germany) in Hall 2/E71 (Business Center, Northstar developers).
I was planning to write some other blog entries about recent developments as well, but I had not much time and a lot of troubles with one of my tooth (root canal resection was done 2 weeks ago and there is still a lot of pain going on, I'm only at 25% health, I guess I need some health packs).
However, one thing I worked on last weekend was Lua2IL, the homepage from the Lua .NET Guys (Roberto Ierusalimschy (founder of Lua), Renato Cequeira and Fabio Mascarenhas) was updated a couple of weeks back and you can download the Lua2IL Binary and Sourcecode files there and play around with them. I think this is very powerful stuff, you can now compile Lua bytecode directly to .NET IL code (and save it for example in a .dll assembly file) and use that directly from your .NET code. For example: I use currently a similar approach as LuaInterface, where all the Lua code is compiled natively and then executed with help of the Lua50.dll with some interop calls from .NET to call methods and set values. This is pretty nice for some smaller problems (some data stored, maybe some AI code), but for my fancy Effect-Particle-etc. System I wrote a while back for Lost Squadron it was quite a lot of work to syncronize the Lua code with the .NET code and everytime I changed some tiny bit of any table or method, I had to adjust some .NET caller code as well.
With Lua bytecode compiled directly to .NET IL and use it as a simple .NET assembly this problems are not longer an issue, because you can call methods directly now and use your .NET code in Lua much easier. Currently I've done just some simple tests and ported some old code to .NET 2.0, but the performance is also very nice (read about it here: PDF paper about Lua2IL from Fabio Mascarenhas, Roberto Ierusalimschy). When I have more time in the next couple of weeks I will hopefully implement more stuff in Lua and play with on the fly generated code a bit more.
Links of Lua2IL project:
|
 |
Saturday, January 08, 2005 10:10:36 AM UTC ( All | BroodWar | Game Development | Lost Squadron | Lua | Other | Programming )

Day 19:
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. |
Ratta ratta, peng peng, boom!
Shoot'em'up
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.
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:
Troubles with IIS
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.
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 ...
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).
RenderState errors
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).
Light-Effects in DirectX
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).
Basically this code is used (the light effect is a white texture with
a spotlight effect in the middle as the alpha channel):
Device.RenderState.AlphaBlendEnable = true;
Device.RenderState.SourceBlend = Blend.DestinationColor;
Device.RenderState.DestinationBlend = Blend.SourceAlpha;
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 :)
DirectX OutOfVideoMemory
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.
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.
VS2005 needs a lot of RAM
But VS2005 consumes still a lot of RAM (>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.
Todays Links
The links for today are The Z Buffer and Managed world, both great Managed-DirectX sites.
GosuGamers.net
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 www.GosuGamers.net. 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 www.GosuGamers.net
Tropical-Islands
I'm now going to visit the Tropical-Islands resort (new big thing here in germany) with my brothers and some friends :)
Development will continue tomorrow.
Wednesday, January 05, 2005 6:36:35 AM UTC ( All | Game Development | Lost Squadron | Lua | Programming )
|
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 IronPython implementation and written some Python test
programs. Python 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 Python and especially
IronPython 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 Lua. 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 Lua is much more
customable and allows modifying much lower level methods and calls.
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 end of next week. 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.
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).
Well, first of all Lost Squadron has to be finished
Useful links today:
| 
Day 16:
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. |
Wednesday, December 29, 2004 11:42:35 AM UTC ( All | Game Development | Lost Squadron | Lua | Programming )
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 ( abi/blog/PermaLink.aspx?guid=42bdcd49-2490-4f60-af1c-3ff54c1be1d1">see last post) and it is still interessting and insightful. Yesterday I still was
in vacation land and had to force myself to get back to coding ^^
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.
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.
LUA links in case you are interessted:
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).
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).
|
|