This is Legend of Mana for the Playstation 1. I've wanted to make a game similar to this for a long time.
This game features real-time battles. Someone told me that C++ couldnt do real time battles... but I have a friend who made a shoot-em up flight game using it.
Since I have you here, do you have any idea what programming language this game was made in? If c++ isn't the answer, know what is?
Of course you could make a game like that in C++, in fact, I bet that game actually was programmed mainly in C++. I'm not sure why that person said C++ couldn't do real time battles, they clearly have no idea what their talking about. C++ can do anything, its only the skill/imagination of the programmer that limit it.
<REALITY CHECK>
It's not technically the skill/imagination of the programmer that makes a Playstation game like that. It's the skill/imagination of the team of professional programmers, writers, artists, musicians, managers, accountants, etc. working for years on each title that makes (or breaks) it.
<\REALITY CHECK>
I applaud your enthusiasm but I wouldn't want to see it turn into frustration which results in you giving up on your goals. Learn a language (or two or three) and get the basics down. Once you get some skills you can join up with some of the internet teams that work together on creating games. If you find you like it and have some talent perhaps you can get a job with Sony and help code The Legend of Mana II for Playstation 5!
Or.. perhaps you'll find you prefer to score the soundtrack, create the graphics or write the new plot. That's where the chicks and catered lunches are anyway. 8^D
<REALITY CHECK>
It's not technically the skill/imagination of the programmer that makes a Playstation game like that. It's the skill/imagination of the team of professional programmers, writers, artists, musicians, managers, accountants, etc. working for years on each title that makes (or breaks) it.
<\REALITY CHECK>
I wasn't talking about developing games.... I meant the limitations of what programs could be developed in C++. The language itself s able to create anything, but that doesn't mean the programmer using it is able to as well.
C++ can do real time battles, but from what I understand, one needs to come up with a clever way to do so, as a computer (and gaming systems, too) can only perform a few calculations at a time. The sort of multitasking used in most real time battles would have to be programmed in somehow.
It's not about multitasking. If anything, it's about trying to keep the calculations fast enough to be able to run them in real time. But for a smaller game that shouldn't be much of an issue.
+1 hanst99. Current game engines are optimized enough to create, display and control multiple game objects and all the physics that allow them to interact. Plus particle physics like explosions, smoke, fog in the environment. Add to that reading the controls, playing game sounds and the background music, AI, etc. It's amazing that a relatively cheap PC and graphics (or game box) can handle it all the way it does. I'm not sure if all the underlying code is C and C++, it probably drops down into assembly for some of the calculation intensive routines. Either way it's a great way to waste A LOT of time. (Speaking from way too much experience here!)
@ Modshop: I wasn't directing my comment at your comment. I realize you see the big picture. I was just trying to be the voice of reason to a newb to prevent him from assuming too much and ending up frustrated.
Of course the way that technology is advancing it won't be too long before a single user will be able to sit down and generate a full blown CGI movie, adventure game of FPS all by himself. IF they have the skill & imagination.
I assumed that much of the calculations can be done offline. So particle physics like explosions, fog, should be diffusion equations whose real time calculations should be quite simple. Just plug in the starting state and obtain the time variable diffusion from pre-calculated results.
Likewise, even advanced AI (my area, but not in games) should be achievable much faster than a human player can react.
So although I am not surprised that it takes a big team to produce highly efficient code in all these areas, I'm surprised that the result is particularly computationally intensive. (Though maybe your point is that it takes such a team to ensure that it is not computationally intensive!)
You can do certain offline optimizations, yes, but even if you somehow got it to the point in which you just have to pick a behavior from a bunch of precalculated ones - I personally doubt this is possible for nontrivial examples, but I'm not that versed in the field of AI - you still have to get the game data to a format the AI engine understands (which involves lots of collision checking, amongst others), and translate the result back to effects in the game world. For every single actor. Which could be hundreds, for instance in an RTS. This gets expensive rather quickly, depending on how frequently you update your game logic. And then you still need to manage sounds, video, input and possibly some fancy stuff like precaching data for the next level, defragmenting memory... And remember you have to all of this very often, all while keeping the appearance of fluidity to the user. Oh, and of course you can't waste too much memory either.
That is to say - it may not be extremely computationally expensive on its own, but in a complex real time context "expensive" gets a wholly different meaning.