3D games (development environment)
3D games (development environment)
I'm searching a 3D games OS wich is not to expensive. I want to create a game and sell it by i-net or anywhere. I try to make a game like GTA3+... I know, this will be difficult, but I try, and it doesn't has to be that big... I got the 3D GameStudio v5 and my dad gave me "Microsoft Visual C++", but I don't really know how to learn that... I lost the CD of 3DGS :-\ ...would it be clever to buy a new one? Am I able to make this game, with my programs I got?
What can you suggest to me?
What can you suggest to me?
Re:3D games OS
(You're probably referring to a development environment, not OS, right?)
Not to discourage you, but if you have no previous programming experience, Visual C++ is definitely overkill and will only result in frustration.
The best thing for you to do would be to get your hands on either Microsoft Visual Basic or Borland Delphi; both allow you to start out programming in an easy and visual fashion, and include good tutorials, yet are capable enough (especially Delphi) to produce a real game.
Not to discourage you, but if you have no previous programming experience, Visual C++ is definitely overkill and will only result in frustration.
The best thing for you to do would be to get your hands on either Microsoft Visual Basic or Borland Delphi; both allow you to start out programming in an easy and visual fashion, and include good tutorials, yet are capable enough (especially Delphi) to produce a real game.
Re:3D games OS
Actually, version 6 of 3D GameStudio just came out a little while ago, anyway. It's probably a good place to start if you want to do 3D work, but I'd wait until you learned some general programming experience, and had some text and 2D games under your belt, before getting a new copy.
Game development is a pretty complex are these days, and there's a definite difference between game writing and plotting, 3D graphics engine programming, artwork (with gameplay, still and cut-shot art being each it's own specialty!), incidental music composing, foley (audio special effects), strategy AI, character AI, character interactivity design, and so on, just as there are in filmmaking. Writing a major game, especially a 3D game, is a serious undertaking, and the big studios usually have large in-house libraries of tools and utilities to make the work easier. This isn't to say it's impossible to make a great new game yourself, but it won't happen overnight either.
Where to start depends on where you want to head with it. If you're looking to get into 3D graphics work, well, honestly speaking, you should do a good year or two mastering 2D graphics first. If you can get a copy of Flash MX, then that's probably the easiest way to start on both the art and the programming side; ActionScript is an easy language to work in, and is specifically design for this sort of thing. Otherwise, I'd recommend downloading Python, a free IDE for it such as Dr Python or Boa Constructor, and the PyGame tools, and you should be alright. You will eventually want to learn C, and probably either C++ or Java, but that can wait until you've successfully written three or four Flash or Python games first. Recommended 'finger exercises' for this would be
If you want to learn strategy, pick a language which does well with complex abstractions; Python is again a good idea, as is Scheme. start with puzzle games like Animal or Kim, then go through the usual list of simple board games: checkers, othello, go, chess, etc. Perhaps a few card games such as poker or blackjack, too.
If you want to learn character interaction or plotting, well, you're in luck; just go to the AGI and SGI forums on this message board and ask about SGI Studio. AGI and SGI are special interpreters for graphical text adventures of the Hero's Quest and Leisure Suit Larry variety; while the art may seem crude by today's standards, they are excellent for learning how to design a game to be interesting, rather than just an excercise in Blowing Sh*t Up.
Whatever you do, you'll want to check out some of the gaming sites and message boards, such as You might also want to look through the older messages on this board, as plenty of others have already asked the same questions. This thread might be a good place to start.
Game development is a pretty complex are these days, and there's a definite difference between game writing and plotting, 3D graphics engine programming, artwork (with gameplay, still and cut-shot art being each it's own specialty!), incidental music composing, foley (audio special effects), strategy AI, character AI, character interactivity design, and so on, just as there are in filmmaking. Writing a major game, especially a 3D game, is a serious undertaking, and the big studios usually have large in-house libraries of tools and utilities to make the work easier. This isn't to say it's impossible to make a great new game yourself, but it won't happen overnight either.
Where to start depends on where you want to head with it. If you're looking to get into 3D graphics work, well, honestly speaking, you should do a good year or two mastering 2D graphics first. If you can get a copy of Flash MX, then that's probably the easiest way to start on both the art and the programming side; ActionScript is an easy language to work in, and is specifically design for this sort of thing. Otherwise, I'd recommend downloading Python, a free IDE for it such as Dr Python or Boa Constructor, and the PyGame tools, and you should be alright. You will eventually want to learn C, and probably either C++ or Java, but that can wait until you've successfully written three or four Flash or Python games first. Recommended 'finger exercises' for this would be
- A simple tile or board game like Checkers (also good for learning strategy)
- a simple paddle game like Pong or Breakout
- a Tetris play-alike
- a Space Invaders/Galaxian/Centipede type game (Centipede is a particularly good choice)
- a maze game like Pac-Man
- an overhead map game like Berserk or most of the scenes in Metal Gear Solid
- a side-scroller like Defender or Super Mario Bros.
- an overhead map scroller like the original Gauntlet
If you want to learn strategy, pick a language which does well with complex abstractions; Python is again a good idea, as is Scheme. start with puzzle games like Animal or Kim, then go through the usual list of simple board games: checkers, othello, go, chess, etc. Perhaps a few card games such as poker or blackjack, too.
If you want to learn character interaction or plotting, well, you're in luck; just go to the AGI and SGI forums on this message board and ask about SGI Studio. AGI and SGI are special interpreters for graphical text adventures of the Hero's Quest and Leisure Suit Larry variety; while the art may seem crude by today's standards, they are excellent for learning how to design a game to be interesting, rather than just an excercise in Blowing Sh*t Up.
Whatever you do, you'll want to check out some of the gaming sites and message boards, such as You might also want to look through the older messages on this board, as plenty of others have already asked the same questions. This thread might be a good place to start.
Re:3D games OS
While I agree that VC++ isn't a good place to start, I don't think I'd recommend Delphi, and I especially wouldn't recommend VB The visual tools that go with them are designed for general Windows application programming, especially a type of data entry forms referred to as CRUD screens, and are a poor match for game programming. While I agree that Delphi is a decent language overall (being essentially Object Pascal), and for all I know has a decent game library, my experience is that it's better to learn console programming first before learning any kind of graphical programming.Arto wrote:Not to discourage you, but if you have no previous programming experience, Visual C++ is definitely overkill and will only result in frustration.
The best thing for you to do would be to get your hands on either Microsoft Visual Basic or Borland Delphi; both allow you to start out programming in an easy and visual fashion, and include good tutorials, yet are capable enough (especially Delphi) to produce a real game.
Obviously, not everyone agrees on this; well, that's what makes horse races, isn't it? YMMV.
Whatever you do, Dwarfy, feel free to ask for help here.
Re:3D games OS
My biggest mistake was learning programming with a visual programming tool, Delphi. I'm not saying that using Delphi was a mistake, but I should have used Turbo Pascal. Prorgamming IMHO is best learnt, as Schol-R-LEA said with console programming. At least there you can see in one or two places the whole program and you can start from the ground up (my course repeated that mistake trying to teach VB to first timers).
srg
srg
Re:3D games OS
nods I've seen that a lot. Despite the hype, visual tools actually make it harder for novices to learn how to program; the main effect is to add to the conceptual burden up front, rather than reduce it. Not only does a new programmer have to master the language's syntax and semantics, the coding practices, algorithmics, data structures, and so on, they also have to learn form building and user interface design (rather complex skills by themselves), and understand event driven programming, which is much more difficult for most people to understand than the more linear style of console programming.srg wrote: My biggest mistake was learning programming with a visual programming tool, Delphi. I'm not saying that using Delphi was a mistake, but I should have used Turbo Pascal. Prorgamming IMHO is best learnt, as Schol-R-LEA said with console programming. At least there you can see in one or two places the whole program and you can start from the ground up (my course repeated that mistake trying to teach VB to first timers).
Visual tools themselves have their uses - though I've yet to see any I really like - but they require more programming skill to use right than a console interface, not less, because of the inherent complexities of GUI programing. They arose primarily in response to the mind-bending difficulty of writing code for the Windows API directly.
Interestingly, one of the easiest languages to write GUI programs in, Smalltalk, eschews form-building almost entirely; in Smalltalk systems where screen tools are provided, such as in Squeak and VisualAge, they work very differently than in most other languages.
Note that when I talk of console programming, I don't necessarily mean MS-DOS or Unix shell/xterm programming (though that's usually the case). Several IDEs - especially those for interpreted languages such as Python or Scheme - have text-mode 'listeners' or 'interaction windows' which the program can run in, while still providing a window-based development environment. While I feel that learning to use shell-based tools - especially automation tools like make - is a useful endeavor, this is mostly because many IDEs do such a lousy job at allowing you to automate and control certain aspects of the development process. There are some things which are simply easier to code out on the shell than to do using any of the current GUIs, and that is a fact.
Re:3D games OS
Woooooooooooooow! Thanks for the answers and help.
I know that it takes time to make a 3D game, but I just didn't know, what would be a good start. Now, before I ask more, I take a look at all the links you made.
Thanks for helping!
I know that it takes time to make a 3D game, but I just didn't know, what would be a good start. Now, before I ask more, I take a look at all the links you made.
Thanks for helping!
Re:3D games (development environment)
Ok, I start programming in Python. I'll make some Python games and if I got that, I can start with C?
Re:3D games (development environment)
That sounds like the best plan to me, yes. Python was designed to be easy for novice programmers, whereas C is designed for experienced systems programmers, and requires a certain amount of experience to use correctly. While they are quite different languages in some ways, they are similar enough that learning the differences shouldn't be very difficult, and many of the idioms used in Python can be applied to C as well. The fact that you can use Python interactively makes it possible to try out part of your code without having to write a whole program. Also, the video and sound libraries for Python are really quite good, and there are plenty of examples of Python game source code around.
BTW, did you pick up an Integrated Development Environment for Python, and if so, which one? A good IDE can be just as important as a good language, as it makes it easier to write and test your programs. As I said earlier, I've had good luck with Dr Python, though I understand Boa Constructor is a good choice as well. When you start working in C, there are several to choose from; I personally use Dev-C++ a lot, but I've used EMACS and Visual C++ as well, both for C and C++ programming.
As a last piece of advice, you might want to learn a little bit about x86 assembly language before learning C. Assembly programming is very different from either Python or C, and a good deal more difficult, but understanding how the computer works at a low level should help you understand some of the more difficult ideas in C, and make your programming a lot better in general. I usually recommend Assembly Language Step by Step, but your mileage may vary. You'll definitely want to learn Python pretty well before that, though.
BTW, did you pick up an Integrated Development Environment for Python, and if so, which one? A good IDE can be just as important as a good language, as it makes it easier to write and test your programs. As I said earlier, I've had good luck with Dr Python, though I understand Boa Constructor is a good choice as well. When you start working in C, there are several to choose from; I personally use Dev-C++ a lot, but I've used EMACS and Visual C++ as well, both for C and C++ programming.
As a last piece of advice, you might want to learn a little bit about x86 assembly language before learning C. Assembly programming is very different from either Python or C, and a good deal more difficult, but understanding how the computer works at a low level should help you understand some of the more difficult ideas in C, and make your programming a lot better in general. I usually recommend Assembly Language Step by Step, but your mileage may vary. You'll definitely want to learn Python pretty well before that, though.
Re:3D games (development environment)
I'd like to emphasize that while Python is easy for a novice programmer, it is also a very flexible language that is nice to program in even if you were a guru.
Re:3D games (development environment)
Excellent point; I hadn't meant to imply that it was a 'student' language like Standard Pascal, just that it was easier to learn than C.
Re:3D games (development environment)
Thanks to you both!
Ok, I try Dr Python. But because of "sucking in school" at moment, my parents won't let me use the computer. (only friday and saterday)
Ok, I try Dr Python. But because of "sucking in school" at moment, my parents won't let me use the computer. (only friday and saterday)