Advertisement

RTS Traditions

Started by March 29, 2009 05:35 PM
20 comments, last by thk123 15 years, 10 months ago
In the perspective of all programmers, the keyboard is a faster input interface than the mouse will every be, and that is why people need to learn Unix/Linux like platform in college course because these platform do not emphasis the mouse as much as windows like platform. In the same way, the keyboard is the only interface for the hardcore player because they know that the keyboard is that much faster than the mouse could ever do. The best interface to communicate with the computer is still the keyboard for the time being.
I use QueryPerformanceFrequency(), and the result averages to 8 nanoseconds or about 13 cpu cycles (1.66GHz CPU). Is that reasonable?
I though that the assembly equivalent to accessing unaligned data would be something similar to this order:

  • move
  • mask
  • shift
  • move
  • mask
  • shift
  • or

    So it seems reasonable to say that it takes 14 cycles for unaligned data since we'll have to do the series of instructions once to access and once to assign?
As a comparison, the most competitive RTS out there (Starcraft), this is what they do:

1) Screen edge
2) They keep their original offset if they are close, if they are far from each other, they regroup at the point you clicked
3) No. The screen panning is locked when you drag a box.



Advertisement
Hi!

I have a question about making RTS game. I designed an sci-fi RTS game.
Soon i will finish with designing and start to develop in.
But i have confused about programming language.
I want to know, what do you suggest for me?
So, I have many years of Java programming (mainly i'am from the bussiness developing side of Java).
But i know, for game development the recommended language is C/C++.
I have a good medium knowleadge of C++ so i think with a little learning i able to make game (of course with my team!)
But if i compare my java and C++ knowleadge, the Java if much more major. So i confused because i know java, but i know that if i want a fast game with very nice graphics i must use C++.
It is true? Java isn't okay for game development?
For example in JMonkeyEngine.
I have seen torque engine witch is amazing. Have RTS kit..
So what do you suggest for me?
It is possible to make a modern (like nowdays RedAlert3 - i know it is very hard!) or i must use C++?
Thank you and sorry for my English!





Quote:
Original post by bocios
Hi!

I have a question about making RTS game. I designed an sci-fi RTS game.
Soon i will finish with designing and start to develop in.
But i have confused about programming language.
I want to know, what do you suggest for me?
So, I have many years of Java programming (mainly i'am from the bussiness developing side of Java).
But i know, for game development the recommended language is C/C++.
I have a good medium knowleadge of C++ so i think with a little learning i able to make game (of course with my team!)
But if i compare my java and C++ knowleadge, the Java if much more major. So i confused because i know java, but i know that if i want a fast game with very nice graphics i must use C++.
It is true? Java isn't okay for game development?
For example in JMonkeyEngine.
I have seen torque engine witch is amazing. Have RTS kit..
So what do you suggest for me?
It is possible to make a modern (like nowdays RedAlert3 - i know it is very hard!) or i must use C++?
Thank you and sorry for my English!


I'm probably not the best person to answer this, but I'll give it a shot :)

I'm using C# with XNA, which I find is great for me. I have loads of experience with Flash, but not a lot else. It was a great middle ground between Flash easy programming and proper no-nice-drawy-window programming!

Having said that, there are probably issues I am going to run in to using XNA. Most notably, making a menu is very difficult, loading screens seem near impossible too as the Draw function is after the load function.

As for Java, I was under the impression that, like Flash, it was great for small games, but was not powerful enough for full screen 3D games, but then I am no expert. It is also worth noting that libaries exist for C++ to assist in the making of games so it might be worth checking some of them out.

As for, can a game like Red Alert be made. That depends on the size and talent of your team. Creating the graphics that are present in Red Alert costs loads of money and takes a lot of man hours. Also, relating very specifically to your example, getting in the actors probably also cost quite a bit! Overall however, Red Alert is probably setting the bar too high. That is an AAA title that probably cost in the regions of £Millions (Guess by the way, if anyone knows better, correct away).

Hope that helps :)
-thk123botworkstudio.blogspot.com - Shamelessly advertising my new developers blog ^^
I don't agree on 3. I think that the map should move. But put some kind of speed limit on, like two or three units per second. Otherwise you'll end up with the nightmare Xyle described.

Quote:
Original post by bocios
It is true? Java isn't okay for game development?
For example in JMonkeyEngine.

I don't see any reason to switch to c++, if you are good at Java. I am planning to write a RTS in Java, with jMonkeyEngine. But at the moment I'm writing a small zombie game, just to try out the engine.

Quote:
Original post by thk123
As for Java, I was under the impression that, like Flash, it was great for small games

It can be used that way, but generally I think it's allot like C#
Fair play, like I said, wasn't really sure :)

Judging by the disagreement on (3) I think I will deffinitley have it as an option. So you would have it as slower if the a box is being dragged? Also, if you think the map should only move when the mouse gets to the bottom of the screen (rather than the viewport) would this change when dragging a box?

Thanks for the replies
-thk123botworkstudio.blogspot.com - Shamelessly advertising my new developers blog ^^
Advertisement
Quote:
Original post by thk123
Judging by the disagreement on (3) I think I will deffinitley have it as an option. So you would have it as slower if the a box is being dragged? Also, if you think the map should only move when the mouse gets to the bottom of the screen (rather than the viewport) would this change when dragging a box?


I haven't considered that, but yes that would perhaps be a good idea, since it would look bad, if the box was dragged over (or under) the HUD.
Yes I would like the map to move slower, while dragging the box. Not to slow, but not fast enough to cause any kind of disorientation.


Btw I found this link C# & .NET vs Java :)
[edit] AFAIK Java isn't interpreted at all anymore.
I'd have the selecting box limit to the top of the GUI* and have the screen pan when the mouse reaches the edge only. That way, the panning is consistent whether or not you are selecting and yet you still can see all selected targets. I would *never* have the screen scroll when reaching the GUI.

*Assuming the GUI is on the bottom.

Edit: I was rather unclear there. If the user is scrolling down, then the selection box will never be below the top of the GUI. BUT, if the user is scrolling up, the box can get below the top of the GUI, since that region has already been selected. I just want to avoid the case where the user selects units that are hidden behind the GUI, but I still want to allow the case where the user wants to select more than a screen's worth of units at once.
Hi!

Thanks for the answers.
Okay, a Red Alert like game really is a too high for me and my team.
But i just want to know where is the limit of Java with game developing (if it has any limitation)?
If we can make good models, graphics and we can programming very well Java, should we affraid that we reach a kind of limits beacause we use Java (Jmonkeyengine for example)?
So for example we can make a Red Alert quality models,etc... we can use Java to implement it?

Thanks and sorry for my English!
Quote:
Original post by bocios
But i just want to know where is the limit of Java with game developing (if it has any limitation)?

Java has allot of restrictions (I can't remember the exact reason why, but it is something about that it is run by a VM), but not really speedlimits. Therefore it needs a wrapper, to access stuff like hardware acceleration (LWJGL is one of the best, and jMonkeyEngine is based on LWJGL).
AFAIK thats the same for C#. It uses XNA to get hardware acceleration.

Like I said before, I believe that Java is capable of creating big games. check out Odd Labs

btw I would rather not talk to much about Java vs C++, cause there are a million threads about it already, and it tend to start flame wars :/

This topic is closed to new replies.

Advertisement