The making of X-plosive Jigsaw Puzzles was not easy. It took about half of year of my time, endless nights in front of the monitor but it was all worthy. However, it would have taken four times more time than that if I wouldn't have used the web resources at hand. So on whatever project you are working, my advice for all the programmers who want to complete their projects in a decent time span would be: "Check the available resources at hand!". And the web is all about that: available resources ( if you know how to find them :) ).
The idea - let's say you have one already ( if not, there's not much I can do for you...). First thing you should do is to check out the competition. Try all the demos you can find, make a list of likes and dislikes about them. When you've done that, the next step is easy: put the likes on your to-do list and make sure you don't make the mistakes from the dislikes list! A common mistake is to skip this step. Really bad idea.... ( When I started to work on X-plosive JigSaw I tryied all the other jigsaw puzzle games I could find! It took me a week, as then I found over 10 games. I don't even try to think about how many jigsaw puzzle games actually exists! Brrr...)
The tools required - when you know what to do is time to think how to do it. And using what? By far the most important tool is the development environment ( aka "the compiler" ). There's not much really where to choose from, right now there's only a handful of IDE's fitted for writing games on the market. My advice for the undecided is: "Use the compiler and programming language you are best acquainted with.". Just a line to drop my personal opinion about IDE's: A RAD tool is probably best used for short projects. Advantages are that not only the development is faster, but resources for this tool are easier to find an install, there's probably much more people that uses it ( therefore more tools and advices ). I would consider RAD tools only Delphi, C++ Builder and Visual Basic, but I will not ever recommend building a game in VB. Another serious IDE is Visual C. This I highly recommend for any large project. Flexibility of C++ is still unmatched. However, for a small project, I would consider getting started in Visual C at least painful, if not more... ( If you never heard of IDE's, RAD, Delphi, Visual C and other, may I suggest that writing games is not really the best use of your time? ).
The specific tools - these are the components, Dll's, ActiveX's, other files that you will need to complete your project faster. For example: you should probably search the web for a GIF reading/writing component rather than write one yourself... Right? Right! Find sites on the web that have that: free source code. There's a lot of sites full of resources, and where you can find what you need. Higher quality tools probably costs money, but in the early stages I wouldn't recommend paying for any tools. You should only pay for a tool when you actually know that it will be useful to you, not sooner.
The most important specific tool ( if you are writing a game ) would be the graphics engine. I have nothing personal against DirectX or Microsoft but writing:
memset(&ddsd, 0, sizeof(ddsd));
ddsd.dwSize = sizeof(ddsd);
ddsd.dwFlags = DDSD_CAPS;
ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE;
hr = g_pDD->CreateSurface(&ddsd, &g_pDDS, NULL);
if (DDFailedCheck(hr, "Create primary surface"))
ddsd.dwFlags = DDSD_WIDTH | DDSD_HEIGHT | DDSD_CAPS;
ddsd.dwWidth = 320;
ddsd.dwHeight = 240;
ddsd.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN;
hr = g_pDD->CreateSurface(&ddsd, &g_pDDSBack, NULL);
if (DDFailedCheck(hr, "Create back surface"))
simply doesn't do it for me. I'd rather write:
A graphics engine does that. It also does: minimizes the headache, loads image files, handles the sprites, handles the flips, moves the starship across the screen in 4 or 5 lines of code, handles everithing, handles stuff you have no idea about! Using a graphics engine you won't have to worry about debugging low level DirectX. Just debug your own game. Focus on the big picture!
The graphics engine I used for X-plosive JigSaw Puzzles was DelphiX, written and published for free by Hiroyuki Hori. Great job Hiroyuki! I and the whole internet salute you! This graphics engine works with Delphi. Unfortunately, after a while I decided that I should make my own graphics engine and there is when the trouble started: debugging, code looking like the one above, searching the net for the most peculiar problems and their solutions.... This is how I came up with the advice: "USE a graphics engine!"
Use search engines to find the competition's games:
Another place to find games are the shareware sites like:
A good IDE for large projects: MS Visual C++
A good RAD-IDE for small projects: Delphi
A combination of C++ and RAD tools: C++ Builder
All names above are trademarks of the respective companies
Directx components for Delphi: DelphiX
Graphics engine for C++: SDL - for Linux, too!
3D coding - OpenGL oriented website: GameDev
A must-have for game coders: MS DirectX SDK
Crea-Soft is a computer programmer that likes writing about himself using the third person. Right now he(I) makes(make) puzzle games and you can see his(my) work on this site: Crea-Soft.com. And what a coincidence, you are on that site right now :))
Making of X-plosive Jigsaw Puzzles, Part I -
Part II -
Some quick links:
X-plosive Jigsaw Puzzles
Try playing our professional computer jigsaw puzzles.
Made for puzzle freaks only!
Online Jigsaw Puzzles
The baby brother of the above.
Simple puzzles, online and free.
A courtesy from Crea-Soft for puzzle beginners!
Online Sliding Puzzles
Another brain teaser.
Again, online and free. With the same courtesy from us!
And now some ads: