Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Making a Game

Name: Anonymous 2013-07-18 17:41

Srs thread plz.

I've been meaning to make a game for a while now, tentatively as a hobby. For convenience it will be on the "PC platform".

Although of course, technically game development is only half about programming, the other half being the design/creative aspect, which I understand. Naturally I care about creating the underlying program first, e.g. with moving rectangles that I can later put graphics on top of.

My experience with programming and learning about computers in general has been one of solitude, and I can hardly see myself working with another person on a game, but at the same time I feel like there's too much reinvention of the wheel going on by doing everything myself. Therefore I'm making this post as a somewhat general advice thread.

For now I plan for it to be a 2D platformer game, as it seems to be simple yet not boringly simple to expand upon. Inspiration comes from games such as Cave Story, MapleStory, IWBTG, Super Smash Brothers. There's something about the 2D platformer that fits real-time simulation. The birds eye view style seems to be best for story-based games, which I'm not much into. Although, I don't dislike the thoroughness of simulation that a 3D game can provide (RuneScape, OoT, First Person Shooters). But for now, the relative simplicity of 2D will do. The game also must have a networking feature for interpersonal gameplay. It seems that nowadays it's simply a feature that can't be ignored in terms of availability, relativity, and the amount it adds to gameplay variation.

I'm not a complete noob; it's been somewhat of an aspiration of mine for several years now. I'm fluent in C and have a basic understanding of the compilation process and a general understanding of the x86 architecture. I also have some experience with the UNIX-like environment if that matters.

The reason why I don't like Java or other high-level languages is that C seems to have the most native support for APIs/libraries, and I feel that it gives the most flexibility/control. That, and language constructs above C seem to be somewhat extraneous, though I do admit things like lambda expressions work really well where they work best. C seems to be the best language for practicality.

I have some code written already, and some tentative thoughts on the underlying engine. But I find myself starting over and over from some design flaw. At some point I thought that I'm simply doing it wrong for starting from scratch. To those experienced in the field, do you think it's worth coding a game in low-level C nowadays? I know there are libraries such as Allegro and SDL that take care of the implementation side of things. But perhaps my thinking is old? Being such a broad topic, and of somewhat universal interest, there's alot out there and I acknowledge that. By now there's a myriad of ways to "make a game", ranging from using an "engine" or some other high level environment to "writing code" of a particular language. Should things be done through high-level game engines or is C still relevant? Because it's an unavoidable fact that not everything goes on in the CPU, in particular things like graphics is done on the graphics chip which we don't necessarily program except in cases like OpenGL. Perhaps it's better in the long run to use some established game development package?

Anyway. Not even sure if I'll get any meaningful responses on here, probably because I don't know exactly what I'm asking for. At the very least I'd appreciate some pointers to people who know what they're talking about. The typical google for forums/IRC shit isn't quite what I want, but maybe I wish for too much.

Name: Designs are TODO.lists 2013-07-18 20:01

>>1,5
First read about Game Design, and design the game. It has nothing to do with programming, but writing the plan of what the game is, and what components you need to make it:
https://en.wikipedia.org/wiki/Game_design

Once you have mapped out what you need to accomplish, start making objectives, and how you can separate the work; i.e. while you work on the program code/engine, your artist draws the main worlds, the musician scores the main themes, your integrators make the demo for testing, etc..

Obviously I am implying that you make a repository for your work, for other to contribute if you want to get things done faster (unless you want to do it for yourself). Look at the Touhou projects as an example. They talk in IRC what they want to accomplish, the make a wiki page as a repository, and work on the game, from hundred of volunteers, you paid nothing for.

Above all, the game Design makes you focus on what needs to be accomplished, instead of looking at other details of some tool or library that might optimize your work, but ultimately distract you. Once you have a Beta product, then you can go back and fine tune your piece. Once you improve on your skill and knowledge, THEN make a newer update version, because it is optimized.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List