Want to program video games? - Page 5
Blogs > CecilSunkure |
Skeggaba
Korea (South)1556 Posts
| ||
Umpteen
United Kingdom1570 Posts
For what it's worth, I've been programming games for a living since 1994, and I wholeheartedly endorse the approach described here. I prepared a similar series of exercises for my nephew when he expressed an interest in learning to code. Some are recommending development platforms other than the ASCII console and C++, including high-level SDKs. Personally, I think it depends upon what you're trying to do. Using Unrealscript or the free Cryengine SDK etc allows you to focus on content production. If what you have is a content-led idea for a game, particularly a first-person game, and can create or source the art you need, these platforms are excellent. What do I mean by content-led? Well, let's say you came up with the idea for Amnesia: The Dark Descent. The mechanics of that game are pretty much covered by the Unreal or Cryengine SDKs. What makes it different is the art, setting, story and such. However, I would not particularly recommend these SDKs to a programming novice. They are certainly not aimed at the novice. They are powerful professional-grade tools aimed at experienced programmers, level designers and game artists (ie, development companies) who want to compete at a high level of production value but lack the resources to develop their own API. They are not there to be your friend or hold your hand. A step down from there things start to get more interesting for newcomers. I've used C# to prototype some simple ideas at home, and I find it pitched at just the right level for someone who wants to cut their teeth on - for instance - a 2D platform game. You get nice simple wrappers for loading and rendering bitmaps, managing windows and input, and the sense of connection between the code you're writing and what's happening on the screen is strong and direct. This is fantastic if your idea is gameplay-led (eg innovative movement mechanics) or intentionally retro (16bit Zelda-style): you don't have to get your hands too dirty but at the same time there's more control (and more useful learning imo) than if you use a 'game creator' type suite. But if you're just starting out as a coder, Cecil's approach is, in my opinion, hard to beat. Pasting characters directly to the window lets you forget about doodling and concentrate on fundamental principles like loops, functions, data structures and the like. Your development is iterated on a super-fast turnaround, and you'll find yourself bolting on more and more features as ideas occur to you. Got a little ascii man moving around the screen? How about making it scroll? How would you do that? How about adding monsters? Weapons? Pathfinding and other AI? Keys, doors, switches, items - maybe an editor to speed up content creation. The sky's the limit. The important point here is not that you'll be advancing the frontiers of computer science by scrolling a level around in a window, but that you'll be nurturing the number one skill essential to development on any platform in any language: problem solving. I first learned to program in BBC BASIC. I learned 6502 assembler, then 68000 assembler, then C++ as the platforms I was developing for changed. I've dabbled in Javascript, PHP, C# - it really doesn't matter. The one constant has been the need to take a high-level conceptual problem and break it down into solvable chunks. Different languages support different solutions more or less elegantly, and I value the perspective upon problems learning new languages has given me, but being a programmer is, for me, about the way you think, not about what you type. | ||
Slaytilost
Netherlands968 Posts
The reason I've chosen to focus on C is twofold: in the game industry 90% of video games are coded in C/C++. You might want to adjust that 90% of yours, or perhaps adjust your definition of game industry. Perhaps 90%-ish of games that are boxed and are for purchase in your local store, but remember that the game industry is much, much more then that. The mobile game industry is booming, and web-games have been around for a while too. They usually use higher level languages such as Java/C# or Actionscript, and iOS games are frequently built in Obj-C. In fact; i've been a professional game programmer for 3 years now, and i hardly know any C++, let alone objective C. But i still have collaborated on 3 titles that are currently available in the appstore. Since we use some amazing middleware (Unity) we can code comfy in our C# environment, even for Android and iOS. In short i'd like to say that the game industry is much broader then what people think. Its not only the starcrafts, modern warfares and battlefields. Its also Doodle Jump, Dora the Explorer and Hello Kitty online. | ||
Teoita
Italy12246 Posts
| ||
livingtarget
8 Posts
On November 17 2011 06:47 fanta[Rn] wrote: Great blog, looking forward to more. I'm pursuing a CS computer graphics degree and made a 3D engine/game for a class before and its then when I realised that all the Java we've been using for the other CS stuff is killing me in C++ lol. Edit: listening to the podcast, how do you reverse the screen...? I did java at university and thought it was pointless because I wanted to do C but in the end I got a job as a Java Games Programmer. Missing function pointers the most to be honest. At least Java and C are fairly similar syntax wise anyway. | ||
AimlessAmoeba
Canada704 Posts
| ||
BisuDagger
Bisutopia19139 Posts
Btw, this article reminded me of when I wrote my first Gameboy Advanced game which was, oh so much fun :/ | ||
Tobberoth
Sweden6375 Posts
On December 02 2011 22:41 AimlessAmoeba wrote: This is so weird. Only just yesterday I got the urge to program my own NES game, and after an hour or so of searching, I gave up already because I couldn't find a good resource for a beginner like myself. My original attempt at college was CPA (Comp. Programmer Analyst) but the stuff they were teaching me (although, probably necessary) was terribly unexciting and I dropped out. I wish I hadn't at this point but if you keep this blog going I think I may take a crack at teaching myself because I have a lot of simple ideas and I'd love to just create SOMETHING at this point, a labor of love so to speak. NES is probably pretty far from what a beginner should be doing. Going basic and starting with C is one thing, to program a NES you have to work with 6502 assembly which is a pure bitch in comparision. It's easy to believe that NES games should be pretty simple to make because of how simple they look, but since it's assembly and extremely limited by the hardware, it's quite a hard nut to crack. | ||
Ramuh
Germany238 Posts
On December 02 2011 23:47 Tobberoth wrote: NES is probably pretty far from what a beginner should be doing. Going basic and starting with C is one thing, to program a NES you have to work with 6502 assembly which is a pure bitch in comparision. It's easy to believe that NES games should be pretty simple to make because of how simple they look, but since it's assembly and extremely limited by the hardware, it's quite a hard nut to crack. Looked at GB a while ago, even with a C compiler its unintuitive as shit, stupid sprite stuff | ||
Heyoka
Katowice25012 Posts
| ||
AimlessAmoeba
Canada704 Posts
On December 02 2011 23:53 Ramuh wrote: Looked at GB a while ago, even with a C compiler its unintuitive as shit, stupid sprite stuff Ah, well thank you for clearing that up - I was totally under that assumption, that the simplicity would make it the easiest to learn. Could I make something with like, a retro NESish look with C if I got enough experience with it? | ||
Roggay
Switzerland6320 Posts
| ||
Abraxas514
Canada475 Posts
I'm a hobbyist programmer, this is my baby child: http://irrlicht.sourceforge.net/forum/viewtopic.php?f=6&t=36040 I also have a message board (free hosting... but it goes down pretty often) at http://starempires.zxq.net Irrlicht is a very high level graphics engine that's based on either DX9 or openGL. There are some twenty tutorials for newbies to understand the engine and some basic problem solving using c++. Also, the forums are incredibly helpful if you don't mind waiting a day or two for an answer. Good luck everyone! | ||
shannn
Netherlands2891 Posts
| ||
Umpteen
United Kingdom1570 Posts
On December 03 2011 00:12 heyoka wrote: I found a book on 6502 assembly in my dad's den over the summer, it seemed to bizarre I brought it with me when I moved to NY. Shit is confusing as fuck. So that's what you've been reading instead of emails... | ||
gCgCrypto
Germany297 Posts
| ||
Hairy
United Kingdom1169 Posts
On December 03 2011 00:51 shannn wrote: You'd figure with all these skillfull people on TL that we'd make our own starcraft game ))) Actually, making my own hobby clone version of BW / SC2 was something I've been thinking about doing for a while. It would have incredibly basic visuals (I'm a programmer, not an artist), and my own hand-crafted sound effects (though nothing is funnier than having a game using your own hand-crafted sound effects/voices). Undoubtedly the pathfinding would probably be just as bad as SC1 :D Huge project though, but lots of fun. My issue with hobby projects like this is that I simply can't seem to find the time to get around to doing them. That and the 'getting started' phase with a new programming project is the absolute worst; I always end up saying "fuck it" and aborting the fetus before it's even begun to take shape. | ||
Dyskrete
Australia2 Posts
| ||
Hairy
United Kingdom1169 Posts
On December 03 2011 01:31 Dyskrete wrote: Wow seems sweet. As an aspiring Australian sound engineer i would be more than willing to contribute whatever i can for this project PM me if u want more deets Thanks for the offer, but when/if I get my smeg together to start a big pet project like that it would be a long long time before I would even be at the stage where sound effects could happen If you're interested in doing your own project it might be fun to do a total sound conversion for SC2? Should be completely possible using the current SC2 tools available afaik. | ||
Warpath
Canada1242 Posts
Me and some classmates are working on a fun little co-op XBox game where you customize a little character (heavily themed on actors like Rambo and Morgan Freeman) and kill space pig-men. Here's one of the earlier screenshots :D (all its really missing is the hud and players/updated artwork) + Show Spoiler + Game developing is awesome, if your interested you should take a look into the field! | ||
| ||