Register
Email: Password:
Forum » Super-Awesome Thingy (Maybe)

Super-Awesome Thingy (Maybe)

MageKing17 17 years ago
Well, I've decided it's about damn time I learned some proper C++ (not just "Hello, World!" nonsense), and our school happens to have these things called "Senior Projects", so I've decided to kill two birds with one stone. For my senior project, I'm going to learn C++, then make a 4X turn-based strategy game from the ground up. I don't really need any help with ideas for the latter (I think I've got enough ideas for fifty games), but I could use your help with the former. If any of you know C++ (I know you exist), I would really appreciate any help you can offer as I figure it out.
#
E_net4 17 years ago
Sure's good to see something planned, although I cannot help you with C++... Amarth?
#
Crazy 17 years ago
Wow. That'd be awesome.
#
NeoGangster 17 years ago
Good luck and don't forget there are tools to help you in game making, recently XNA 2.0 was announced which supports networking, but it uses C#
if you don't know what XNA is then look here or here and to get started with it look here or google it
#
Amarth 17 years ago
I know a bit of C++, but not really much. I do know that about all tutorials on the internet will teach you "wrong" C++, i.e. using C++ like it's C, and as such missing out on most of the powerful aspects of it. Interesting stuff can be found on the documentation of open source projects, like KDE. Now, I don't know what you want (2D? 3D? Networking?) so I don't really know what libraries you'd want.

I would suggest, however, that you don't use C++. Unless you know your way around it, it will be more of a hindrance than a tool, and you will learn wrong things (hack instead of solve, etc). It is much better to use a high-level language (python + pygame seems popular for games). Learn to use functions like map(), reduce() and filter() and don't use those idiotic for-loops. Use proper object-oriented design and not series of if-then-else (or switch) statements. Short functions with high cohesion instead of +20 line functions that are hard to follow. Exceptions. Model-View-Controller separation. Etc, etc.

Really, Python or even Java are easier tools to work with than C++, if only for garbage collection and better OOP support. I say you learn C++ only after having a sold basis in object oriented design, because otherwise you'll revert to hackery (and thus bugs).

[edit]forgot to mention, but yeah, I heard good things about XNA. Microsoft territory though.
#
MageKing17 17 years ago
"Amarth" said:
Now, I don't know what you want (2D? 3D? Networking?)
2D, and networking if I can wrap my head around it.

"Amarth" said:
I would suggest, however, that you don't use C++. Unless you know your way around it, it will be more of a hindrance than a tool, and you will learn wrong things (hack instead of solve, etc). It is much better to use a high-level language (python + pygame seems popular for games). Learn to use functions like map(), reduce() and filter() and don't use those idiotic for-loops. Use proper object-oriented design and not series of if-then-else (or switch) statements. Short functions with high cohesion instead of +20 line functions that are hard to follow. Exceptions. Model-View-Controller separation. Etc, etc.
I appreciate the sentiment. C++ it remains, however. Mainly for all those reasons you want me to stay away from it.

"Amarth" said:
Really, Python or even Java are easier tools to work with than C++, if only for garbage collection and better OOP support. I say you learn C++ only after having a sold basis in object oriented design, because otherwise you'll revert to hackery (and thus bugs).
I'm sure they are, but C++ it remains.

I don't really need help with the code aspect itself (although thanks for the tips about pitfalls to avoid), really, I just need to know a good, free compiler (or how to use Cygwin's version of GCC, it's confounding me).

EDIT: Got Cygwin to compile, but I don't think I'll use it. I'm going for Dev-C++ instead.
#
NeoGangster 17 years ago
Code::Blocks is another free IDE which you could use
#
Quanrian 17 years ago
Nice to see more projects popping up. Just remember, all the knowledge or tools in the world doesn't matter if you don't have the persistance to match them . If you want a good analogy, finishing a game is like proving the god you imagined exists.
#
Amarth 17 years ago
"Quanrian" said:
If you want a good analogy, finishing a game is like proving the god you imagined exists.
What, it can't be done?
#
E_net4 17 years ago
... Huh, god or good?
#
Anarion 17 years ago
"Amarth" said:
"Quanrian" said:
If you want a good analogy, finishing a game is like proving the god you imagined exists.
What, it can't be done?
Bwahahaha!
#
MageKing17 17 years ago
"Games are not released... they escape."

Well, I successfully created a game of Hi-Lo Dice (minigame from Golden Sun), and have gotten example programs using PDCurses to compile, so I may attempt to create something slightly more advanced. Then I think I'll move onto the Win32 API stuff. Wish me luck.
#
Amarth 17 years ago
How about using at least a library like SDL? Less headaches, more crossplatformness. Or if you don't want crossplatform, try Popcap's thingy to 'easily' create 2D games.
#
MageKing17 17 years ago
"Amarth" said:
How about using at least a library like SDL? Less headaches, more crossplatformness.
As opposed to the Win32 API? I'd imagine a lot of things give you less headaches than that.

But sure, SDL sounds as good as anything.
#
Amarth 17 years ago
I dunno, you don't fully need to understand Win32 I suppose. NeHe has a good introduction on how to start up a basic window (though it mixes it with initializing a basic OpenGL context). As long as you don't need advanced message passing functionality, it's not too hard. But with SDL, it's just calling a couple of methods (one to initialize SDL, and I think one each to init screen, input, sound, ...)

Anyway, good luck with it.
#
E_net4 17 years ago
After all this discussion about the usage of libraries...
What is the plot of the game? How will it work?
#
MageKing17 17 years ago
"E_net4" said:
What is the plot of the game? How will it work?
It's a 4X turn-based galactic conquest strategy game... it has no set plot. And how it will work is not yet fixed. I plan on having personality take a large role, though.
#
Forum » Super-Awesome Thingy (Maybe)

Post Reply


Your email:
Your name: