Sign in to follow this  
AppleBoy

Programming demos

Recommended Posts

AppleBoy    122
Hello! I've been programming C and C++ for a while now and have recently got my eyes open for the demoscene (www.pouet.net). I'm completely in love with the idea to make demos! But I'm stuck, I don't really know where to start :( Do I have to learn som Assembly? Should I use OpenGL or DirectX or some other API? I'm a complete beginner to the world of graphics programming, but I'm a dedicated programmer, so I don't think I'd have a problem learning. Any links, tips or anything that might just help me out is welcome! Thanks in advance! // AppleBoy

Share this post


Link to post
Share on other sites
TheAdmiral    1122
While you could feasibly use any programming language you like, it's fashionable to make tiny exes in the demo-scene, so assembly is pretty much necessary. You could save yourself a lot of effort, at the cost of some credibility, using bare-bones C.
Assembly is an easy language to learn, if you're familiar with procedural programming. At first, you'll sorely miss the cosiness of strong typing and you'll likely get yourself into nasty pickles before long (it's difficult not to shoot yourself in the foot), but once you get the hang of it, the spartan nature becomes somewhat refreshing.

All the demos I've seen use OpenGL, and I suggest you do the same. While I prefer DirectX as an API, it is COM-based and thrives on object-orientation. Assembly language isn't OO, and dealing with COM in ASM is the sort of thing that gives me nightmares.
OpenGL, however, is very much functional, and is hence far better-suited to assembly coding.

Regards
Admiral

Share this post


Link to post
Share on other sites
Zahlman    1682
The demo scene isn't about real development; it's about technical challenges.

Typically you are "allowed" (and in fact strongly encouraged) to take advantage of modern hardware (including graphics cards), powerful graphics APIs etc., but the aim is to make things ridiculously small for what is delivered. And I do mean ridiculous - it's been decades since your program was *expected* to fit in 64Kb (unless you count mobile development, but that's a whole other story - for one thing, you make a JAR there rather than an executable), and back then you could do a lot less (due to wayyy slower processors and probably no graphics card at all) in that space. Heck, by default my compiler makes a bigger .exe than that for an *empty* C or C++ project (about 68Kb for just the DJGPP "stub" - naturally it gets significantly bigger if you include something like stdio.h, and up to more like half a meg with <iostream> :) ).

Of course, beginners (and experts alike) shouldn't *normally* worry about such things - at all. These are one-time costs for the executable size, and you probably can't even buy a new HD smaller than 40 gigs or so these days.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this