How to build sliding block puzzle software for mobiles - c++

I want to build software of the good old sliding block puzzle for mobile phones could you please guide me how to generate the sliding block puzzle and solving techniques

Have a look at Simon Tatham's Portable Puzzle Collection, with full source. You may be able to use its framework directly, and even if you can't you'll find excellent examples of solvers.

Related

Exemplary 2D game engine

Is anyone here able to point me to a simple and well designed C++ 2D open source game engine? The genre is less important, I wish to learn by example. I wouldn't want anything particularly complex as I'm interested in learning general concepts, rather than getting into the nitty-gritty of the engine implementation.
If I were you I'd look into ClanLib - it is open source, cross platform, and the source packages contain 50 or so easy-to-follow examples, from simple image rendering, to a fully working server-client dice wars implementation.
And if you're eager to get started it's easy to set up with Visual Express, so you can play with in in no time.
Also: here are some others if you want to give them a try.
Personally I learned a lot, looking through the source code of Frogatto, even the source code can be viewed only here.
It is of course a more complex game, but there is much to learn regarding software/game architecture and design.
Have a look at SuperTux, it's a nice little platformer game inspired by Mario, written in C++.
There is a builtin level editor, too.

How to get started with game programming using VC++,C++,DirectX quickly?

Hi I am working in VC++ and I am quite interested in game programming and I have few queries.
1).What one must know before starting game programming ?
2).Can anybody give me info # resources like tutorial ,links ,etc. which would help me to start as fast as possible ?
3).Also give me info # some good books on game programming ?
Any help would be greatly appreciated.
Before you start programming you must have a good understanding of the language, how to program and how to structure and test your code. Oh, and a huge amount of either patience or free time. On the maths front, Vectors, Matrices and Quaternions are the main things I found I needed.
The other thing that often goes overlooked when I programmer starts writing a game is someone to create the assets. Preferably someone specialized in it.
You mention DirectX, which is not actually a fast way to go as you have to build everything from square one, which means a lot more maths, performance testing and overall handwork. I would suggest at least a rendering engine like Ogre3D. There are plenty of tutorials and a very good community.
There is a good post here on why you should write games not engines.
The main reason you would want to use DirectX is to enhance your understanding of the lower levels, all the things an engine is abstracting for you. While I think this is a good thing to do, I wouldn't want to do it for a major or first project.
The main site I used for help was gamedev.net, although I also found some intresting articles on gamesutra
It takes time and requires a lot of patience. And playable game is more than just working C++ code.
gamedev.net.
First, download Visual C# Express Edition, and then download XNA Game Studio 3.1.
After that, check out the XNA Creators Club - that has lots of help to get you up and running quickly.
Are you 100% dedicated to C++? If not, I would recommend starting with XNA/C# instead. DirectX will force you to spend a lot of time up front learning API calls before you ever get something on the screen. XNA will allow you to start coding your game very quickly while getting immediate feedback while you program.
If you are committed to C++, I would recommend Beginning Game Programming by Jonathan Harbour. He starts with an easy to understand framework that won't take long to pick up. Remember that to use DirectX you will have to learn win32, and low level DirectX code.
For tutorials, try googling "c++ beginning game programming tutorial". Gamedev.net will be another invaluable resource. Go to the "For Beginners" forum and look through the stickies.
As for what you must know, it depends on your aspirations and your choice of tools. As a beginner, you will want to start small and in 2D or text games. To get a Pong game going in XNA, you only need to have basic C# skills and basic collision detection. To get a Pong game going in DirectX, you will need to understand win32 code, and a ton of device calls. To do a console text game, you only need to know basic C++ and maybe some basic gameflow techniques.
If using DirectX is not a fixed requirement, you should consider OpenGL, and use a library like SFML or Allegro to handle all the basic stuff.
http://www.talula.demon.co.uk/allegro/
http://www.sfml-dev.org/

Experiences with Adobe's "Adam and Eve" C++ GUI library?

I tried out the demo application which was pretty impressive. However building it and integrating it with my own code is hard because it's such a large project.
Has anyone successfully used it for their own projects? Was is difficult to build and integrate with your own C++ code?
Link: STLab.
For the interested: there's also a Google Tech Talk clarifying the philosophical ideas behind the project.
ASL is used fairly heavily within Adobe. The layout library (Eve) is used in many Adobe products and variants of it have been in use since Photoshop 5. The property model library (Adam) got a little use in CS4 and will likely be used more in future products. I can no longer speak with certainty because I left Adobe a few months ago and am now working at Google. I still put in some time on ASL and continue to collaborate with Prof. Jarvi and some of his students on the property model library (see the paper on the ASL wiki).
It can be a bit difficult to integrate with your product. The platform libraries in ASL (backends to Adam and Eve for Windows and Mac Carbon) started as some small example code, then the community started to refine it (the Windows port was initially a community effort), then we had some ambition to make it a real, supported library. But then Apple dropped Carbon for 64 bits and Adobe's framework plans changed so we weren't able to leverage our efforts here inside Adobe. Because of this the platform libraries are a little shaky - if your code base is already using a framework you might consider integrating Adam and Eve directly (the API for both libraries is very small). There are two challenges with integrating with a framework. Eve needs good metrics to do a good layout, including things like baselines - getting that from your UI toolkit may be tough. The property model library assumes a strict model/view/controller pattern that most UI toolkits don't obey so you have to do a bit of adapting. Feel free to ask questions on the ASL mailing list. We can also help with building - it really isn't as complex as it seems.
I watched the Tech Talk.. He sort of lost me when he showed the real world example code and then a massively shorter version using his model... I suspect that his implementation, just like anything else, would in practice be bogged down by real world considerations if actually pursued to solve real problems...
That said, it was interesting... The first half of the talk was great... I especially liked his assertion that Generic programming is the mathematics of coding...

Information on L-Systems

I am about to start a project for university to build a procedural city for a pre existing project.
I was wondering if any of you have had any experience coding L-Systems before and know a good place for me to start out. I have done a bit of work before using procedural methods and Perlin Noise and fBm so I get the premise of what an L-System is in the fractal sense. I am more looking for a place where maybe can push me in the direction of coding the L-System.
Any help or technical documents you can point me towards would be great.
I did a project on using L-Systems to procedurally generate 3D trees and found the book "The Algorithmic Beauty of Plants" helpful. It's available for free at that link. Not directly related to procedural cities, but very interesting, and a good resource to learn about L-Systems, I think.
I'm working on an L-system project too, and it's been tremendously helpful to look at some pre-existing code: lsystem.py - There's also pseudocode in Fundamentals of Natural Computing which I found really helpful. It takes you through the process of using turtle graphics to create a simple L-system tree, and quickly moves on to more advanced stuff.
Well ... I'll go first and hand you the Wikipedia link, which looks reasonably meaty, and has quite a few external links of its own.

Application for sketching ideas on a computer [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this question
I've always wanted to sketch all ideas I come up with in the computer instead of on paper, but everyone knows that sketching with good 'ol fashioned pen and paper beats the crap out of trying to do it with a mouse (or even worse, a touch pad).
So I turn to stack overflow with this question: Does any one of you know a magic program that will help in sketching out diagrams, ideas, etc. with decent speed on a computer?
I'm not after something that will do pretty diagrams (that take ages to do, btw.) like Visio, Dia (kudos the the Dia developers though, kick ass app), etc. but for jotting down quick ideas and drawing early work flow sketches, etc.
(I know - a wacom board, but it's not really feasible to carry it around with your laptop)
I still go for a whiteboard and a decent camera on the mobile phone.
Normally when working on the whiteboard, we often go through a phase of erasing out all the unimportant stuff after we've worked out what the real essence of the problem and the solution. So we put some nice pictures on the wiki ;)
Did you consider some kind of mind-mapping application ?
PersonalBrain is quite handy for that type of task, even though the "diagram" feature is quite limited.
alt text http://www.thebrain.com/site/personalbrain/learningzone/topUses/awareness3.png
I'm actually a big fan of OneNote. It's great for entering text and organizing it in a visual way.
This won't do for situations where you're working with other people, but I often do my brain-storming with GraphViz.
GraphViz gives you the dot and neato languages for drawing graphs. So you start jotting down items and the relationships between them in your favourite text editor:
graph brainstorm {
release -- documentation
release -- "bug fixes"
release -- enhancements
documentation -- "release notes"
documentation -- "user guide"
enhancements -- "user requests" -- "support team"
enhancements -- marketing -- demo
}
You can then turn this into a image:
neato diagram http://share4pic.com/images/2/9/3/2935067.jpg
There are lots of options for formatting and layout and so on if you want to prettify the output.
It doesn't work for idea's or diagrams, but i found this very impressive: I love sketch. Hopefully, we'll see similar tools in the future for other forms of information.
When i was still using windows i used adobe illustrator and a wacom tabled for sketching diagrams (example). Powerfull, but a steep learning curve, if you just want to do sketching.
On linux i use Inkscape (with a wacom tablet). It's not as powerful as illustrator, but it gets the job done. (example).
I would love to use a sketching tool for creating presentations. Have a number of slides on my screen, and just sketch to contents of every sheet, also using the wacom to drag and drop the slides in the right order, etc.
There was a research project called SILK (Sketching Interfaces Like Krazy) a few years ago (mid 90s) at Carnegie-Mellon. Two papers that talked about the work are Interactive Sketching for the Early Stages of User Interface Design and Just Draw It! Programming by Sketching Storyboards.
I thought their ideas were very cool, but the project seems to have blown away. I'm mentioning it here for two reasons:
To support the questioner's idea that this would be A Very Good Thing for early design stages, and
In hopes that someone else will have more luck than I did in finding out what happened to SILK (or at least the prototypes).
I know you are "not after something that will do pretty diagrams".
However, I believe this new web flash-based application LovelyCharts might be oo assistance for quick (and nice too) diagrams, and can be compliant with your goal to "jotting down quick ideas and drawing early work flow sketches, etc."
Example of work flow sketch:
The closest thing to the feeling of writing on paper with pencil or pen that I have found is a graphics tablet (relatively inexpensive and small Wacom Bamboo is enough) with Autodesk's SketchBook Pro software.
Try the trial (if you have graphics tablet handy, not really the same with a mouse), it's amazing how natural digital drawing feels with that app.
Depending on how close you are to implementing something, balsamiq mockups may be what you want. I find it great for mocking up user interfaces, and it's probably not a bad way to start sketching a development idea.
Autodesk Sketchbook Pro is the closest I've come to a whiteboard after an extensive search. Minimal controls, yet enough. It's also attractively priced, in line with its simplicty.
Maybe you should consider buying a Graphic Tablet .
I recommend Wacom Bamboo
I wouldn't suggest it, but people have mentioned mind-mapping products and even OneNote (¡sin comentarios!), so I'll plug my TheKBase Desktop and it's Cloud brother, TheKBase Web. NO, they will not help you draw things like on paper, but in many cases, diagrams are not what you need. You want to organize your ideas and whip them into shape.
If you insist on diagramming, 30x less annoying than Visio is SmartDraw (sorry for the Spanish grammar).
Moleskin for the win!