Thursday, September 19, 2013

About the blog

Hello,

This blog was created by Dejaime Neto, to teach the very basics on game development to anyone who wants to learn.

If you are wondering what the name of the blog means, it's just as stupid as you thought.
Build and Run (aka F9) + Run and Gun = Build and Gun.
Gimme a break willya? I'm a programmer, not a marketeer!

The Blog

I am one of those crazy dudes that believes it is not worth paying for something that is just slightly better than an Open-Source or Freeware alternative, if better. That said, I will always use free resources, IDEs, libraries, tools. This is specially good for beginners and hobbyist, since, as me, they probably won't want to spend USD$ 500 microsoft asks for visual studio, to name one. On top of that, I see no point on teaching game development using a demo version of such, as many many books and online resources do, since if you ever get to something you think is releasable you'll have to pay for the license in the end.

As this is a personal blog, a personal project and thus written by a single person, try not to believe everything in here. Programmers, including me, always tend to be absolutely impartial when evaluating tools and languages. That said, I'll talk a little about myself :
I am a mechatronic engineering student and hobbyist game developer. My engineering background allowed me to learn C, C++ and very little Assembly. Picked up a bit of Java along the way, but didn't like the trade-offs; maybe I'm a control freak or smth. As of scripting languages, my favorites are Ruby and, specially for games, Lua, Brazilian like me. My favorite game development books are Game Coding Complete 4thEd by McShaffry and Graham and Programming Game AI by Example by Mat Buckland, both beginner books, if you have already been introduced to C++.

Why?

Why bother building up a web blog if you won't be adding any monetizing like ads, referral links [...] ?
It's simple, actually.
I believe that one doesn't know something until they are able to explain it. That's what I'm doing here. I'm putting my own knowledge to test, trying to bring up articles, tutorials and posts on the subject of game development, allowing me to diagnose my own strengths and weaknesses. In the future, I want to build sample open-source games and prototypes, really simple ones, since I learn a lot by sample code; specially complete and finished games and prototypes code. This would put my own skills to check once again, see if I can actually praxis what I know.

You don't know if you can do something until you try. I'm trying, at the risk of worldwide embarrassment. And I hope you'll do the same.

I can also train my english at the same time! win-win-win-win situation!

Blog Content

So you ask me: "what does one find here?"; that's and easy to answer question! (easier said than done)

Used IDEs:
Primarily Code::Blocks, for C++ programming.
 Used Libraries and Engines:
Box2D, for C++. The best 2D Physics library out there;
Allegro, SFML and SDL, my favourite game development libraries;
Boost library, to do all the heavy lifting for us not-so-experienced programmers; and
Maybe in the future:
Torque2D, a complete game engine, now open-source;
Haxe, the most cross-platform engine I've found.
Used Languages:
C++, for everything, since it is cross-platform and the most powerful language I've used. I'll be using some C++11 features, so remember to set the -c++11 compiler flag.
Lua, if we ever get to a point where we can use script on a game prototype.

Ok. Now you know what I'll use. All that's left is to know how I'll use all of this stuff.
My initial idea is to accomplish 3 main goals over the next years:
  1. Teaching Content: Enough for a reader to come in here and learn all he needs to know to build a simple game, from ground up to releasable state;
  2. Games or Prototypes: Actual games or prototypes, even if really simple, that you can play, understand, and read its source code. It would be a great way to learn things like setting up IDEs, configuring them, Linking libraries, etc;
  3. Higher Level Game Engine (HLGE): This would be the blog's child, that'd mean the blog had actually paid off and all our hard work was not for nothing! The HLGE would be a higher level engine that incorporated Box2D physics, rendering (probably with one of the 3 libraries listed above or maybe OpenGL directly), that maybe I make a post in the future explaining it further.
 As you can see, I am setting my expectations really, really, high. So, please, If I fail to accomplish any or all of these, please don't throw stones at me, throw burgers! At least that would make me less sad over my own failure.

If, after reading this, you feel all motivated and stuff (what I doubt, btw), and you want to help me accomplish this dream by making it part of your own dreams too, contact me. I must warn you that I am, as of now, a terrible programmer, and this will certainly slow me, us, down.

You can reach me at dejaime <at> buildandgun.com .

Thank  you for your interest!
Dejaime, over and out. 

This blog is proudly hosted by Blogger, Google, free of charge.