Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 14 Jul 2000
Offline Last Active Sep 04 2015 11:15 PM

#5130040 Starting a new game dev career. A 2D game, where should I begin?

Posted by cdoty on 09 February 2014 - 02:58 AM

Hello guys, 


I'm happy to tell you that I'm starting a new game development career as an indie game producer. I had done some games in the past, specially in Flash, but now I want to take this seriously and by that (and because I love since I learn it on my professional career) I want to use C++ as my main code programming.


Go a step above SFML (or SDL) and find a game engine that abstracts the hardware differences.


And now to push one on my projects on you.. Try my Super Play game engine (http://superplay.info/)  to develop a game that doesn't directly relate to the system you are targeting.


Super Play supports Windows, Linux, Android, Ouya, GameStick, and iOS by pretending to be a SNES that was created in 2013.

#5124287 Anyone here a self-taught graphics programmer?

Posted by cdoty on 16 January 2014 - 09:41 PM

I wrote my first game on the ZX Spectrum some 29 years ago. My friends were busy swapping cassette games to try and beat each others' scores and I would borrow them to amaze myself at how they programmed it.

I then wrote several games on the Amiga, even publishing one on licenseware which had great magazine write ups (still got the Amiga Format mag somewhere).

Then onto PCs with a very early version of DirectX, which was mind-blowing compared to what I'd used before. Always self-taught in the early days, but now I just seek the assistance of the friendly experts on here. I work in an investment bank for my day job and it's nowhere near as much fun.

41 now and still tinkering with my engine and enjoying it as much, if not more, than when I was burying my head in the Amiga Hardware Reference manual trying to get a sideways scroller working in DevPac assembly in the early nineties.

For those younguns among you who think it's just a phase you'll grow out of.... It ain't!


I've followed about the same path, except for using a C-64 instead of the Spectrum. I used to copy pirated games to check out the demos I don't think I played most of them.

I also developed a few demos of my own, I loved raster (and later copper) effects. I also created a nearly complete BBS program that was similar to C-Net.


Later I moved onto the Amiga and developed a few demos, but was never able to put everything together into a game. The jump from the C-64 to the Amiga was a huge jump in understanding software and hardware.


I moved onto dos and 16 bit consoles, and created more elaborate demos. After reading a few books (Gardens of Imagination and some of the Andre Lamothe stuff) I started to grasp the big picture items needed to put a game together. 


After getting a game development job, and moving to C++ as my primary language (everything before was assembly, and some initial basic stuff), I started focusing more on the form and function.


I also finally put together my own engine, and now I'm enjoying the experience of getting it to run on different platforms. Surprisingly enough, I don't hate the layout of the code. But, I've taken the time to refactor, when needed, or scrap something if it didn't work.

#5080571 Why companies still use C++ and what should I learn then

Posted by cdoty on 25 July 2013 - 03:30 PM

C++ is a complex language that not only makes it easy to shoot yourself in the foot, but it ensures that you'll blow off your whole leg when you do so.

If you want to learn C++, it will be much easier to do so after you've mastered a similar language, so that you can just focus on it's quirks/pitfalls, rather than all the basics as well!


Yes C++ is a complex language, but there is no requirement to use it all. In fact there are many people that argue against using many of the features (multiple inheritance, etc).


But, you can effectively start out with C, with more flexible variable creation and better comments. Also, find a toolkit (SDL, SFML, ClanLib, etc.) because loading bitmaps and sounds, handling a GUI interface, and setting video modes are challenging.


Start your program with everything you need to get a simple concept working in main and eventually start pulling pieces out into classes. I still do this when I'm starting a new program.

#4995937 Create a Game Engine

Posted by cdoty on 31 October 2012 - 02:52 PM


This is really bad advice.

It's actually pretty solid advice, but it's missing a few caveats.

You need to be disciplined enough to take the time to refactor and clean up your code. If you're writing a bunch of functions to handle sprites, combine those functions into a unit of some sort (class, namespace, etc.). And, combine functions into generic versions when possible.

And, you need to be able to admit that the current solution isn't working very well, and start over. If you're doing this all along, you should never have to throw out the entire code base but only rewrite a specific module. The longer a bad module is left in place, the harder it is to remove or repair.

The idea boils down to iterating on the existing code until you can complete the game; and not writing code before you need it. It also accounts for the fact that it incredibly hard to anticipate every bit of code you need to complete a game.

#4809586 The importance of hardware knowledge?

Posted by cdoty on 11 May 2011 - 04:50 PM

How many of you would be able to make a working, programable computer? (i.e. not from pre-built parts)
How important is to know these things?
If the answer to the first question is, not many, is it worrying that the power to make computers is restricted to very few entities?
As computer engineers/scientists should we all be learning not only how to program and use software, but also how to make computers, and how they phsyically work?
Should we all have made, or make, our own little computer from scratch?

While not exactly easy to make a working computer, it is far easier than say 5 or 10 years ago with the system on a chip designs being so common place. The SOC concept has captured all of the requirements to build a computer, outside a few minor connection points, in a single chip.

The importance depends on what you plan to do. If you're going into electronic/chip design, it's very important to understand. As a software developer, understanding the system on a chip concepts may be enough. I would guess, there are programmers that have never dealt with hardware and only understand the concept of programming with a supplied API.

I don't think it's too worrying, we've moved past the point of needing to build computers for every project. Similar to assembly language programming, there are a people that can do it, but it's very rarely needed as a normal programmer.

It's nice to have the knowledge how computers work at a low level, but it's not as useful as it once was. It would be quicker to learn about pipeline stalls than it would be to learn the complete operations of a microprocessor, either way you have the applicable knowledge to optimize code.

As far a building a computer, time is better spent learning more relevant concepts. The amount of information that must be learned to go from assembly language to an object oriented programming language is huge; so you either learn less about each technique or you learn more about a smaller number of techniques.

#4533977 Best Game Engine for Indie Game?

Posted by cdoty on 29 September 2009 - 09:11 AM

Original post by NightMarez

Really awesome c++ engine, 0$, 200$ or 1000$, depending if you wish to use custom shaders and or sell the game.

Some even says its better then gamebryo ect.

This is a pretty impressive engine, especially considering the cost.

Although, better than Gamebryo sounds a bit ambitious. Gamebryo has one of the best asset pipeline I've ever seen in a 3d engine.