Tool developing

Posted in Uncategorized, programmming on February 22nd, 2009 by admin

My framework is far away from being usable by non-programmers and there is only a basic function set. But I think it is time to start developing some basic tools to make it easier to use. Right now this tools wont be used to create games, but it always looks good when your engine offers some tools. The more important part is that I can check if the design of my framework allows tools to be easly integrated, which I hope it the case .

Im trying Qt as a Gui library, simply because I have a university project next semester which will focus on Qt and learning one library is easier then two. I dont like the idea behind moc, but I can live with it and Qt seems a like a really good choice for Gui developing. The first tool I plan to develop is a simple package inspector, which shows you the components of a package. Nothing fancy, but useful and it is the foundation for a component editor, enabling the user to build a game without the need to code.

CMake

Posted in Uncategorized on February 15th, 2009 by admin

Im not sure which is the right buildtool for me. I know I want a tool which doesnt build the project directly, but generates the needed makefiles or visual studio files. This makes developing for me a lot easier, I use visual studio and I dont want to maintain two build systems, visual studio and my buildtool.

The only buildtools which can do this, as far as I know, are premake and cmake. I like premake, its easy to use, very well documented, but it has some problemes with my project structure. So I tried cmake which works fine with my project and also comes with a nice gui and a lot of features. The downside is that the documentation is crap if you dont buy their book. I needed a lot of experimenting before if worked the way I wanted it, but know it works and I think I will play with cmake a bit longer until I decide which buildtool I will use. But right know cmake has the lead.

The never ending search for perfect programming rules

Posted in Uncategorized on February 11th, 2009 by admin

In six days the first round of the “Jugend Forscht” research competition is to start and Im busy preparing everything for this, so today just a link.
I totally agree with the statements. There are no rules for programming their is a set of best practices and experiences which one should know and have in mind while developing but they are not mandatory. When you start to do something just because it was always done or because someone says you have to do it this way otherwise it will be wrong, just stop programming and think first.

Every line of code you write is different and therefore different rules apply. Of course there are rules which are almost always true and should be followed. But these rules are subject to change and not god-given. Sometimes a old rule doesnt work anymore and then we just abandon it and search for a better rule. When you stop to question your doing and stop searching for better ways to do something you gave up becoming a better developer. Always thing about what are you doing and why are you doing it.

Installing hudson

Posted in buildserver on February 8th, 2009 by admin

I dont like setting up servers,I dont have enough practice to do it fast and there are so much little things that get in your way when you dont know exactly what are you doing, much like when you want write a small program and dont know how to program. So now Im starting to learn a bit about setting up server and so on which takes way to much time I would rather spend developing, but it must be done.

So it was a nice surprise that installing and running Hudson is extremely easy. Just download the war file and start the Java VM with the war file, thats all, its a one liner after downloading. Of course you can embedded it as a java applet in apache, but I dont need it right now. The configuration is done using the webinterface and setting up a new project is even easier then installing hudson. Right now my buildserver downloads the code from the mercurial repository and creates the documentation using doxygen. When Im finished switching my buildsystem from premake3 to premake4 Im going to let the buildserver compile my framework.

eeeBox

Posted in buildserver on February 3rd, 2009 by admin

Yesterday I got my eeeBox after waiting almost 2 month. After playing a bit with it I removed the preinstalled linux and installed the newest Ubuntu server version. Im planing to use the eeeBox as a build and test server. Im trying out Hudson for this task which sounds promising. I will post a detailed first impression when I used it enough to give a proper review.
When the buildserver is completely set up it should build my framework each time a commit to the repository happens. After building it should run the unit tests, static code analysis, generate statistics about compiler errors, duplicate code, code metrics and other stuff to ensure code quality. I also think nightly build, uploading new documentation from doxygen and building SDKs can be done using the server. It will take some time until everything is running, so Im planning to do it step by step until all these little annoying, time consuming task are done automatically.

Tags:

Everything is malware

Posted in Uncategorized on January 31st, 2009 by admin

Right now google.de and google.com have a rather annoying defect. They think every site is malware and wont direct you to this site. Even when you google for google, google is telling you that this site, in this case google.com,  may harm your computer. I would find this rather funny if I wouldnt need google right now.

This shows that the google malware system is probably really broken.  One possibility is that someone used an * to describe which sites are malware or there is an error in the algorithm or there malware detection server are down and without them everything is marked as a malware just to be sure.  I hope the last idea isnt true, because this would be a really bad design choice in my eyes.

Update:

Now google forbids me to go to a site with this error message:

Your client does not have permission to get URL /interstitial?url=http://premake.sourceforge.net/about from this server.

And one minute later it works :)

Books to read: The pragmatic programmer

Posted in Books to Read on January 30th, 2009 by admin

So 2 days late, my review of the old classic “The pragmatic programmer“.  This week I was able to get this book from my local library and it is pure gold. Every programmer should read it if he hasnt already. The book contains a collection of tips and tricks on how to become a better programmer. Some of them are rather obvious like using source control. The book is old, so maybe when it was published it wasnt  normal to use source control like these days. Besides obvious tips there are a lot of great ones,  like how to make your code testible, why you should use design by contract and how to do refactoring right. All the information can be found in other books as well, but this books destills and collects them.  Each tip is coverd in four to six pages making it perfect to read before you go to bed or during a small break.

One thing I found amusing while reading was that they described the techniques I use for my game framework completely.  I want to try design by contract in the near future, it sound helpfull but I dont know how to use it in C++. There are some librarys which implements the needed features, but they dont look that good to me.  And before this I have to finish writting Unittests for my framework, another tip in this book, which I already did before reading it :).

Additional information to Visual Assist X

Posted in Uncategorized on January 25th, 2009 by admin

This weekend I found a very interesting blog which started reviewing programming tools . The first review was about Visual Assist X which I love and it seems the author does too.  So if you want to know why he loves it, read his blog. He also describes a bit more about Visual Assist X and what features he uses. All in all its an interesting post.

http://smaton.blogspot.com/

Networking and why you should do it

Posted in Uncategorized on January 22nd, 2009 by admin

As a programmer I try to belief that when you get a good job offers it is because you are simple a good programmer. This isnt entirely true, much more important is your network and how you try to maximize you opportunities. Skill plays a big part in this, because if you suck at programming nobody important/interesting is going to waste time talking to you. But once you have reached a certain level you will get some offers and often they will be unexpected. Of course there are different level, if you are a student and a hobby game developer there simply wont be a person offering you a job as lead programmer. But their might be a person who asks if you are interested in writing an article about the hobby gamedeveloper scene in Germany for a national developer magazine. This happened to me and from their on I wrote an article about the GCDC every year for them. Or you submit a small paper you have writen in your freetime to a conference just to get some feedback on how to improve it and get accepted.

Most people would think this is luck, which is almost totally wrong, luck does play a small role. But much more important is that you try to be in a position where “luck” can help you to get interesting offers. Go to conventions, conferences, local game developer meetings and talk with other people. But be carefull, dont run around asking every person you meet if their have a job for you, just talk about you, what your interests are and get to know as much as possible about the other person, it will someday be helpful. And besides all these arguments, talking to other game developer is fun

Books to read: The Cg Tutorial

Posted in Books to Read on January 19th, 2009 by admin

For anyone who is interested in learning how to program graphic cards using shaders I would suggest reading The Cg Tutorial. CG is a programming language from nvidia which has a similar syntax like c and comes with a great set of tools, like  FX Composer. The Cg Tutorial is also from nvidia and covers all basics needed to create shaders using cg. With the book comes a learning tool, which encapsulate all the details and just let you copy and modify the examples shaderes used in the book. I find this a great way to teach shaderprogramming, because it protects you from all the details which normally stops you from actual writing shaders.

I bought this book some months ago and started reading it some weeks ago and it is simply great, easy to understand, even if you dont have all the needed mathematical basics. And if you already know how to program, which Im sure you do, otherwise shaders wont be any use to you, cg is easy to pickup and to use.  Difficult is to tweak the shaders so they look good and have a decent performance, but there are other books which cover these topics