It's hard to really explain. All I can say is I prefer allegro. One difference I seem to recall is Allegro behaves more like linear executed code and SDL behaves more like Windows programming where you have Events and have to return at the end. In other words, Allegro is less of a hassle. And I disgree, jump right into trying to write games, but not one big game. Try writing parts of games. For example the very first game to try to make is Pong. It has very simple rules but you will be handling input, graphics, collision, and can add sound and music. You can get the hang of those important basics. I think you learn by doing. Just remember don't try to tackle a huge project right away. Use smaller ones to learn concepts you'll need for bigger games.
That's kinda why I wanna make a basic shoot em up, but now that you mention it, a pong clone would be great practice
Try http://www.stencyl.com/ I have been playing with it for a while, haven't finished anything yet, but it's easy, there are plenty of tutorials (even on youtube) and generates flash files and iOS files. 2D stuff. Also try http://unity3d.com/ more complex, 3D stuff, works on web browser (with plugin), PC, Mac, iOS and Android. There are more tutorials and support for Unity, but since it's mostly for 3D games, it's more complex to start with.
If you make a pong clone in Allegro as I described, following that up with a shoot em up (1942, Raiden, whatever) I think you'll succeed. Pong has or can have most of the elements of a shoot em up. Sprites, Collision, Input, Sound and Music. With a shoot em up, you'll probably want to have a scrolling background and you'll have more objects to keep track of besides two paddles and a ball. But if you can do pong, I'm sure you can do a shoot em up. I never did one but I had thought of it. Instead I did a platformer.
Does it have to be open source? Microsoft gives away their basic version of Visual Studio for free. If it has to be open source, try Dev-C++.
XNA isn't a bad place to get started. There are a good amount of examples out there. It's free, It's C#, and with a Creators Club membership you can run stuff on the Xbox 360 For something a bit simpler, you might check out pygame (http://www.pygame.org/news.html). Its a python based framework for writing games. Python might be a bit easier to grasp than C++ or C# if you have never written code before. Its a dynamic language that might be easier to learn than BASIC for a newcomer. Good luck!
One word: Unity If you really are a n00b like you say going for C++ is going to melt your brains, and probably slightly toast your ass too depending on which IDE you use
Personally, I am in a similar situation. I'm a 3D modeler/animator, and beyond that not much else, with the exception of sprite art, texture art, sound editing etc... I'm venturing into programming myself, practically from scratch. I've attempted many ways to get into it, but for me personally, i learn under pressure and deadlines. as such i am enlisting myself in a 20 week programming course at the Academy of Interactive Entertainment, after hours, as i still need to maintain a career, after which I will take on a more advanced course which should then become a sufficient grounding. If you are looking at this as a career aspiration, for indie development or whatever, this course is setting me back about AU$700 (the basic 20 week course, not the advanced), which I don't technically have to spare, but i realize that I need to put myself in this position if I'm dead serious about it. The advantageous a course brings is structure; it is structured so as to be incrementally more difficult in the lead up to something bigger. Being new to programming, it is extremely difficult to structure your own learning when you dont even know what you need to learn.
Maybe 20 years ago, jumping into programming might have been a daunting task, but it's considerably easier today, especially with the internet. Simply put, you should be able to teach yourself a new skill using the internet as your primary teach in today's world. There are libraries of free information out there at your disposal. The hardest part is commitment and time. For anybody who is a complete beginner at programming, I suggest this: http://www.khanacademy.org/ It's no substitute for actual experience, but it's a great tool for picking up the basic concepts quickly.
Thumbs up on the link Perfect K. Not necessarily for the programming side, but has some really interesting stuff on there.
It depends on how determined you are to learn how to code, but what about using Game Maker? A close friend of mine had a similar vision, and ended up making his own pixel art but using game maker to put it together in to a shmup. Only for personal use, of course, hence the borrowed music. Here's a video of me testing the game, might want to skip 50 seconds or so. Just a thought, anyway
If you still go with C/C++ and want to use a free/open source IDE, I'd say you go for Code::Blocks. As for a free compiler, the ones I know of are: MinGW DJGPP Borland C++ Compiler 5.5 (this one is quite old, but should still do the trick) I'm sure there are others (both IDEs and Compilers); hopefully other members will give their thoughts and input. Good luck!
I use the site all the time to strengthen my math skills. I found that site when it was in its infancy around the same time I was taking DiffEq in college. It was a life saver.
Hello all, If you are interested in the topic connected with Game Designing, you can download the teaser of new Game Coder Magazine in which there are few articles about the topic I've mentioned. http://en.sdjournal....5_teaser_05.pdf
GameMaker is for making simple 2D games without hard-coding. Even 3D games if you buy the full program.
Dude seriously go with Unity, its as easy as this gets and allows you to create some pretty impressive games Escape Plan for the Vita? Dead Trigger? all made with Unity