Question:
How do I progress to 'real' programming?
1970-01-01 00:00:00 UTC
How do I progress to 'real' programming?
Five answers:
2010-07-01 23:05:28 UTC
OpenGL right after ASCII kindergarten? Oh boy. Save that for next year.



Here is a list of libraries I've used with C and C++: All of them are cross-platform. SDL supports more platforms than anything I've ever seen (there's even ports for things like Dreamcast and the PSP) but all of these run on at least Windows, Linux and Mac.



- SDL: Simple DirectMedia Layer is a library for handling 2D graphics, audio, and input. It doesn't call itself a game library but that's what most people use it for. It's a bit low-level though, it leaves a lot of things up to the programmer, but there are extensions that simplify things. SDL_gfx lets you to draw primitives (circles, lines, squares, etc.) and rotating/scaling images, SDL_image lets you load a variety of image formats (SDL only natively supports bitmap files (*.bmp)), SDL_mixer has all the audio functions, SDL_ttf is for rendering text using Windows font files (*.ttf), and SDL_net does all the networking, including TCP and UDP protocols. Also, you can replace the SDL graphics API with OpenGL when you reach that level without much difficulty. OpenGL is just for graphics, so a lot of people do this to take advantage of SDL's audio and input functions while doing 3D games.



- Guichan is a GUI library that works with SDL and a few other libraries. I haven't used it much so I can't tell you a lot about it, but check it out.



- Allegro is similar to SDL. It has basically the same functions. They're like Coke and Pepsi. The main difference is that Allegro has an MS-DOS port, so if you're a retro fan you may want to give it a try.



- Lua is a scripting language and library. When you're making a rather complex game, for example, at some point it gets boring having to re-compile the whole thing just for changing one little variable. You can make all the stuff that changes (like weapon or character attributes, dialogue, etc.) in a Lua script which your program loads and just change that, no need to recompile.



- PDCurses is a ncurses port for Windows (and MS-DOS). It's for making more complex console apps. With the standard C routines you can't do things like plotting a character on a specific point in the console window or changing text color, but ncurses can.



- libxml is a XML parsing library. XML is a standard format for storing data as text. It's quite useful if you're too lazy to design your own binary file formats and helper tools for making data in such formats.



- Irrlicht is for 3D games. OpenGL is low-level like SDL. The reason SDL is easier to use than OpenGL is because programming in 3D is a lot more complex than 2D. Irrlicht lets you make 3D games with about the same level of complexity as SDL. It has many features like loading several model formats (which you would have to do by yourself in OpenGL). I haven't digged much into it, but it's worth mentioning.



- wxWidgets is for making graphical GUIs. Native windows though; it's different from Guichan because Guichan draws everything inside your game window. Yeah, you can use the Windows API for this, but wxWidgets is way more intuitive (the interface is object-oriented) and, as I said above, it's cross platform. A lot of programs written originally for Linux that now have Windows ports use wxWidgets because it's so easy to port. It also has a networking library, an XML parser and like a dozen other things I that may be useful in some cases. (Note: Remember SDL? There's supposedly a way to connect SDL into a wxWidgets window in case you're too lazy to make your own interface system by hand in SDL.)



If you were to make an instant messenger, all you'd need is wxWidgets. Or you could use the Windows API for graphics and WinSock for networking, but I'd only do this if you need your program to work fast on older computers (wxWidgets can take quite a bit of resources).



Good luck on your journey! :)
BobberKnob
2010-07-01 22:47:26 UTC
You can download the windows SDK and study it's documentation. I guess that would be the next step if you want to stick with C++.



Personally, I'd just save myself a lot of time and headaches and download visual studio express from MSDN.com, VB, C#, or C++ versions available.
?
2016-09-11 14:59:41 UTC
The Bush tax cost discounts contributes to the developing price range deficit. The finishing of those tax cuts will placed the cost again to 1999 stages that is intelligent. Lower sales men and women will rarely discover any change and higher sales earners will support the deficit to stabilize. We want a few law after the monetary trouble underneath which there was once no oversight. Government law on trade has been weakened on account that the Eighties. Yes, that's growth for the wellbeing of our financial system. The monetary markets appear to be doing particularly good. Alan Greenspan, a conservative economist, declared tax cuts will have to finish to avert to any extent further executive borrowing to finance the present deficit.
?
2010-07-02 00:47:39 UTC
HI, this is the same problem which came to me when i finished C++.

If you are an indie going for making games, it is going to be very tough for you in C++.

You should move to a language which gives you more versatility.

I suggest you move for C#.





C# is you can say an advanced version of C++ going visual and using it's OOP concepts.



From C# you get many paths to game designing,

1> use Microsoft XNA framework to create games for PC and Xbox

You can check samples of game created by xna at XNAcreatorsclub

2> use game builders SDK's such as Torque2d and Torque3d which are most popular when thinking of game designing.

You can check samples of game created by Torque at www.torquepowered.com

Use of Directx and OpenGl is nice but is lengthy and is not suitable for individuals.



Just download express edition of VisualStudio and get started.



But if you should first decide in which part you want to go. Windows programming is not same as game programming.

You will need another type of knowledge to create an instant messenger. For it start with Windows Programming C++.





I am also a individual game programmer and i suggest you not move to Libraries like Allegro etc. They create games of 98 while with XNA,Torque you can create games which are currently under play.
Dan
2010-07-01 22:41:19 UTC
Get the express version of Visual Studio, and start with Visual Basic.Net or C# - it's simply the best and easiest way to create windows programs. And Google a lot of things. Anything you need. The internet was invented by programmers, and we run it. Everything you need to know is on there, and 99% of the time it's free. We also are the most helpful group of any professionals I've ever seen. Places like StackOverflow are amazing resources for programmers of ANY skill level. It's basically Yahoo! Answers for programmers, except a lot fewer stupid questions, and a lot smarter people (you'll get answers from people who actually wrote the language you're using)



I'm a computer science major with an internship programming for an engineering firm, and I have to teach myself everything I do, so I spend a lot of time researching things online, and chances are you can find whatever you need, or someone who can help.



As far as an instant messenger, you'll need a UI (such as Winforms in Visual Studio) and a knowledge of sockets (which connect to IP addresses and ports, as you suggested.) The .Net Library (what Visual Studio uses) has a lot of different socket classes you can use easily. If you want to write your own protocol, you'll need a server too, or you can look into existing protocols like AIM or MSN.



As far as being frustrated - don't be! I actually started off with forms programming, not a console, and I'm definitely not better off for it. It was a high school class, and poorly taught - I didn't learn any of the basics before I started dragging buttons around. You're doing things the right way! Since you know some C++, start with C# (which is pretty close in syntax - just no pesky pointers or header files.)



And lastly - I can't reiterate this enough - get Visual Studio. I'm entering my third year as a computer science major at the University of Illinois, and if it weren't for Visual Studio - I would still have very little clue as to how to make a non-console application.



Get it, play around with it, and email me or ask any of the friendly people at StackOverflow if you have any questions at all!


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...