http://game-editor.com/Main_Page
This software makes game creation easier and allows developers to port the game to other platforms, including PC, Mac, Linux, Iphone, IPad, Windows phones, Handheld PC's, GP2X.
I think there is also an android port available on the site - in fact they supply a service for ports, and the sourcecode is available for developers.
Sunday, 10 July 2011
Monday, 4 July 2011
The battle against Flicker
Not the website that stores photographs - this is the battle against flickering windows ...
The old way to fix window flickering was to use double buffering, this basically means that the text/images are drawn onto a picture (called a buffer) instead of to the screen, the flickering is removed because the Paint() function does not draw the new buffer, and instead draws the old buffer. The new buffer is drawn on the next frame and the old buffer is recycled so there is always an offscreen buffer ready to be drawn to. This technique is perfectly fine since humans are ok watching a 30 frame per second video game, or even a 24 frame per second DVD.
So I found an interesting way to combat the flickering of rapidly updating windows without actually writing a double buffer ...
http://wiki.wxwidgets.org/Flicker-Free_Drawing
The old way to fix window flickering was to use double buffering, this basically means that the text/images are drawn onto a picture (called a buffer) instead of to the screen, the flickering is removed because the Paint() function does not draw the new buffer, and instead draws the old buffer. The new buffer is drawn on the next frame and the old buffer is recycled so there is always an offscreen buffer ready to be drawn to. This technique is perfectly fine since humans are ok watching a 30 frame per second video game, or even a 24 frame per second DVD.
So I found an interesting way to combat the flickering of rapidly updating windows without actually writing a double buffer ...
http://wiki.wxwidgets.org/Flicker-Free_Drawing
Sunday, 3 July 2011
GPL issues and the end of the Chess Engine Controvesy
This is all over the internet over the last couple of days
Rybka Banned
And the forums are full of people discussing and commenting, here is the Rybka forum:-
http://rybkaforum.net/cgi-bin/rybkaforum/topic_show.pl?tid=22232
I think the main problem is that the Engine was entered into the World Computer Chess Championships when it was first released, for version 1 and 2, and at this stage it still contained code from 2 influential Open Source programs. The rules of the International Computer Games Association required that the contenders admitted when their programs were based on other sources, and this was not admitted by Rybka. After a release of a decompiled version it was found that Rybka was very similar to an engine named fruit, and also contained codes from Crafty. So eventually after more than 5 years Rybka has been disqualified based on accumulated evidence.
There is also the problem of the GPL (General Public Liscence), which requires that if GPL codes are used in a program that the source of the new program should also be released, and the authors given credit. This was not the case with Rybka however.
An interesting case is the fact that an Engine named IPPOLIT was released that claimed to be stronger than Rybka. The Author of Rybka, Vasich Rajlich claimed that the IPPOLIT sources were his code and that it was stolen from his computer or decompiled from a Rybka executable. It is interesting that since he claimed this on his forums he could arguably be in accordance with section 6.b of the GPL. A look at the site for IPPOLIT shows that the group responsible for the release call themselves the Decembrists (Russian revolutionary link) and claim to be waging a software war against the capitalists. This could in fact be a clear contempt for the GPL because after all GPL code is usually free.
Rybka Banned
And the forums are full of people discussing and commenting, here is the Rybka forum:-
http://rybkaforum.net/cgi-bin/rybkaforum/topic_show.pl?tid=22232
I think the main problem is that the Engine was entered into the World Computer Chess Championships when it was first released, for version 1 and 2, and at this stage it still contained code from 2 influential Open Source programs. The rules of the International Computer Games Association required that the contenders admitted when their programs were based on other sources, and this was not admitted by Rybka. After a release of a decompiled version it was found that Rybka was very similar to an engine named fruit, and also contained codes from Crafty. So eventually after more than 5 years Rybka has been disqualified based on accumulated evidence.
There is also the problem of the GPL (General Public Liscence), which requires that if GPL codes are used in a program that the source of the new program should also be released, and the authors given credit. This was not the case with Rybka however.
An interesting case is the fact that an Engine named IPPOLIT was released that claimed to be stronger than Rybka. The Author of Rybka, Vasich Rajlich claimed that the IPPOLIT sources were his code and that it was stolen from his computer or decompiled from a Rybka executable. It is interesting that since he claimed this on his forums he could arguably be in accordance with section 6.b of the GPL. A look at the site for IPPOLIT shows that the group responsible for the release call themselves the Decembrists (Russian revolutionary link) and claim to be waging a software war against the capitalists. This could in fact be a clear contempt for the GPL because after all GPL code is usually free.
Interesting Program On Alta Vista
I have to admit I haven't used Alta Vista much recently, however after googling for a youtube video downloader I found this ...
http://youtubedownload.altervista.org/
http://youtubedownload.altervista.org/
Wednesday, 29 June 2011
Favorite library in C++
This is a great GUI for software on most platforms (i.e. Windows, Linux, Max, Unix etc)
WxWidgets
This software will build on a very minimal workstation with only the basic libraries installed. It also looks great and has tons of examples to work from.
WxWidgets
This software will build on a very minimal workstation with only the basic libraries installed. It also looks great and has tons of examples to work from.
Example of the Classic problem with programming
The classic problem with compilers and programming is in my opinion the fact that compilers sometimes compile code that looks mathematically incorrect or illogical. This can cause the following problems, a) programmers start to believe that their math is incorrect and lose faith in mathematics, b) programs will not port to other systems.
Here is an example (the quick example ... the long example was a so-called generic parser that worked a couple of years ago and should never have compiled since certain variables were uninitialized at startup, the problem was that when the code actually worked I didn't bother to check for bugs).
finding substrings:-
if( text.find(".") > 0)
{
// process text that contains a "." character
}
This works fine in one part of the program, however later I have to use this :-
int full_stop = -1;
full_stop = text2.find(".");
if( full_stop > 0)
{
// process if string called vlocal contains a full stop
}
otherwise the program does not work. So I have to actually create an integer if I call the function within a loop, or is it breaking for some other reason? Only the guru's who write the compilers really know for sure.
Here is an example (the quick example ... the long example was a so-called generic parser that worked a couple of years ago and should never have compiled since certain variables were uninitialized at startup, the problem was that when the code actually worked I didn't bother to check for bugs).
finding substrings:-
if( text.find(".") > 0)
{
// process text that contains a "." character
}
This works fine in one part of the program, however later I have to use this :-
int full_stop = -1;
full_stop = text2.find(".");
if( full_stop > 0)
{
// process if string called vlocal contains a full stop
}
otherwise the program does not work. So I have to actually create an integer if I call the function within a loop, or is it breaking for some other reason? Only the guru's who write the compilers really know for sure.
Subscribe to:
Posts (Atom)