-
Deployment with IExpress: How to turn your MSI file into an EXE
I have no problem with MSI file downloads. They are as simple as running an EXE. However, for reasons unknown, a lot of people don’t seem to like or understand downloading and running an MSI file; they feel more comfortable with EXEs. Visual Studio Setup projects turn your application into an MSI and a setup.exe…
-
How to determine programmatically whether your application and OS are 32 or 64-bit
First of all, we must clear up a misconception. Some people want to programmatically determine whether the underlying processor in use is 32 or 64 bit. This is a misnomer, as modern Intel and AMD processors can and do run in both 32 and 64 bit modes, in addition there are considerations of cache width,…
-
How to determine programmatically if your processor has hyperthreading, SIMD and other processing capabilities with __cpuid
One of the machine intrinsics in Visual Studio is the __cpuid function, which returns a 4-byte array containing various bit-wise information about the processor hardware capabilities. While all the gruesome details can be found on MSDN’s __cpuid, __cpuindex page, here is the basic principle:
-
Tutorial: A Modern Approach To Implementing High Score Tables in C++ using STL and Boost
In this article I shall demonstrate a modern, object-oriented, re-usable technique to adding a local high score table to your C++ Windows games using STL and Boost. I shall use our SimpleTetris game of which this article is a follow-on. Please note that this is by no means an efficient implementation, it is designed to just…
-
Coding Challenge Postmortem And Analysis: Asteroids in 10 Hours
If you missed the live blog then check out Coding Challenge: Write Asteroids in 10 hours or less for the background. Let us now take a retrospective look at the results. The latest version of the game and source code can be found here.
-
Coding Challenge: Write Asteroids in 10 hours or less
Update 17-Jun-2012: Fixed some typos, the broken formatting in some of the code and the missing types after static_cast and dynamic_cast operators, and updated the code snippets to reflect two bug fixes. Update 18-Jun-2012: Wrote the final section regarding the implementation of shields and waves. The sun is shining brightly, it’s nice and warm outside…
-
Tetris Revisited: Bells & Whistles 1
This is a follow-up from the 8-hour Tetris prototype article. Now we have a working game prototype, I shall walk you through how to make a series of basic improvements. The full source code is available below (see the original article for other dependencies you need to install to compile the code; the game is…
-
Coding Challenge Postmortem And Analysis: Tetris in 8 Hours
You may have seen that yesterday I coded Tetris from scratch in 8 hours in C++ (source code and EXE links on that page). Today I shall reflect on the whys, the good and bad points and lessons learned.
-
Coding Challenge: Write Tetris In 8 Hours or Less
UPDATE (next day): You can read the postmortem report here! Can I write the entire game of Tetris in 8 hours or less using my Simple2D wrapper library? Let’s find out. I’ll update this blog as I go!
-
Learn To Program 2: Ground Rules
So you’ve decided you want to learn computer programming. That’s great! Now what? I’m not going to start teaching you to write programs in this article; instead I’m going to give pointers and topics for thought that apply equally to all beginning coders.