First project using Hinge3D

Posted in Hinge, programmming on March 29th, 2009 by admin

Hinge3D, my game framework, isnt used by many people around the world. Right now there is one, me. And even I only use it to program testgames to improve the framework itself. This will change in April. Then there will be twice as much people using Hinge3D. A friend of mine and me :). Next Semester we participate in a hands on lecture at our university, which focuses at game development. So for the next six month 2 programmers and 3 artist are going to use the framework and created the next big MMORPG.

Or rather a nice small casual game with innovative game mechanics and a unused setting. More details will be made public when a first prototype is running. Which should be at the end of May. To develop the game Hinge3D have to be improved and extended. Im excited how the game will be and what effect this project will have on Hinge3D.

Right now I cant start programming right away, because my university thinks it is a good idea to have exams at the end of the semester. After the 7. April I can start the project. Until then I have to learn :( .

Editor Part2

Posted in Hinge, programmming on March 12th, 2009 by admin

Today I tried the XML feature of Qt and once again Im astounded. After only 2 hours, my editor is now able to save and load xml. I can save my created games and load them anytime I want. Its much better then doing everytime the same thing to test a small bit of the editor. No only drag and drop and context menu is missing until the first version of the editor is usable and presentable. Im think I can implement these features using some time on monday and thursday before the next round of Jugend Forscht begins, where I will present my editor to the public.

Editor with Qt

Posted in Hinge, programmming on March 6th, 2009 by admin

I had some spare time the last days, so I was able to play a bit more with Qt. After getting moc to run like I wanted,moc is a Qt tool needed to created new gui widgets, I started developing the first prototype of a ComponentEditor. It took me 4-5 hours until the first functional version was done. At this state I can load packages, create new ComponentOwner and create new instances at the start of the game. This is enough to create a small demo game. Of course the editor isnt usable, one wrong click and the whole editor crashed, but if you know what to do it works, its not comfortable to use, but it can be used.

The next step is the make it more error proof and add a save/load dialog so the user dont have to start all over again when something goes wrong.
Later I will post a first preview of the editor.
Edit: Here the youtube link

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.

Code completion to the rescue

Posted in programmming on January 10th, 2009 by admin

Often when talking about programming many programmers, especially Linux programmers, say they dont use a IDE, which I find rather disconcerting. After asking them you often hear things like:

  • I dont need such fancy things, it distracts from the real programming.
  • Im working on Linux, there is a different tool chain from windows, we dont need IDEs we have vim and make.

This itself are valid arguments and I dont think everybody needs an IDE, but everybody needs code completion, if he isnt working on a small project with just a few hundred lines of code. It doesnt matter it the code completion is done by a IDE or by an text editor like vim or emacs. The important thing is that you use code completion, and a good code completion.

What is a good code completion

With good I mean a code completion which knows the following

  • which files you are using
  • which library you are linking to
  • which header to you include
  • and so on.

Not a simple one that just knows what you have written in this file and offers you only keywords from this file. Also very important is that the code completion sorts the proposed word using an intelligent algorithm, which takes into consideration what you have written the lines before, often you want to use a variable after defining it but also offers syntax based proposals, like variables if you writing a for-loop and class names if you are inheriting.

The code completion should also be namespace aware and for me the most important point, be always be shown. I dont want to ctrl + space to get a proposal,  I want a small pop up window below my cursor which is always there and offers a proposal which is accurate enough that I only need the write 3 or 4 characters before hitting enter and let the code completion to its work.

My favorite code completion systems


Of course what Im describing is the ideal code completion, which wont ever exist, but there are some which are pretty close to my description, for one there is Code::Blocks which has a good code completion, the sorting is often suboptimal and it only works if you have types two or more characters, but besides these point it works pretty good, much bettern then the eclipse c++ code completion.

My favorite is Visual Assist X, a Visual Studio plugin, which does everything almost perfect, but has sometimes problems and wont react at all while waiting for the parsing result, but this happens once a month or so and takes just 30 secs to wait, so nothing really bad. Sometimes its just wrong, especially if templates are involved, but I havent seen a code completion which handles them always correctly. Maybe there are some vim or emacs plugins which do code completion, but I havent found them or found somebody how uses them with all the above described features. Often it is more like a simple code completion.

Use the power


But if you have a really good code completion it fantastic, it just doesnt saves you some typing, it is a form of documentation. Often I dont know what the name of the function is, only some bits, my code completion will help me. I dont have to remember all the parameters and what they are doing, my code completion helps me there to. With a good code completion I dont have to use the documentation of librarys most of the time, only when I need a totally new function. This is even more true when the author of the library used doxygen comments, my code completion shows them to me and this helps a lot. So every programmer how dont want to spend his time looking up functions and parameters should try to get his hands on a good code completion.

Tags: ,