Im a big fan of RTS Games (Real Time Strategy) and Im a coder. So why dont combinate both
So I try to collect as much information as i can atm.
The first big thing is what language i should use. I like stuff where u dont have to download anything. Like all the Flashgames. But im not good in flash, so i forget about that. I think about:
Java (With JavaWebStart): Im good in Java and skilled in networkstuff, and with the new JavaFX technology its easy to do some graphical stuff fast. But not everyone have Java, not everyone like Java.
Unity3D: A very nice engine, works direct in browser. Im not very experienced in it, but its not so hard to learn. But the Game dont need real 3D (And get all the 3D Models is harder then just get some isometric 2D graphics)
What do u think, what will be your favorite as user (not as programmer!)?
And the second thing is, what do a RTS need for you to like it and play it again and again?
Im realy fan of Starcraft. So it will be placed in future, it will have different races, at least 2 ressources, basic units into hightechunits, ground and air units and so on. but it should be something own and not a clone of starcraft. So may u have some early ideas for me what would be very nice?
and the third thing is: How i can make it free but still get some money with it? For Server and stuff (and maybe also some money for myself:)
Ahh and i forget about 4. The publishing. With Flash or Unity i can go to sites like kongregate and post there a singleversion or something. But with Java or JS/HTML5 there is nothing like that. How to make the game famous then? There is nothing badder then a multiplayergame without players..:)
As for your plans for the game: start small. You have a long list of features, which will take quite awhile to implement. Start by just rendering a terrain. Then add one guy moving around on the ground. And so on...don't try to do the whole thing in one go.
But im not good in flash, so i forget about that.
Flash isn't all that hard. You just need the Flex SDK to compile your games. You don't need any other Adobe products like CS Suite to build Flash games. Having Flex Builder does make developing Flash apps easier though and it's not free.
From a user's perspective, a native HTML 5 solution is a win, but it needs more time for adoption and bug fixing. I would still put favour on Silverlight for development right now. You also have out-of-browser installation, so people can play from their desktop. Unfortunately, you're looking to do multiplayer and that's a tough problem to solve with any of the technologies. Neither web sockets, Silverlight, or Flash will allow you to host a game server on the client, so you're going to have to relay messages from a dedicated server. It's pretty tricky to setup and do right, so you may want to hold off on that till last.
what do a RTS need for you to like it and play it again and again?
I don't know.. strategy maybe? :lol:
How i can make it free but still get some money with it?
Ads or donations. Ads require quite a bit of effort to setup (tax laws and stuff), but generally have a better payout. Donations are easy to setup, just setup a paypal account and away you go, but the payout is usually not that good (unless you have a lot of gratuitous players)
As for publishing, host on your own server for sure. If for whatever reason other sites don't support your technology, convince them or at least setup an affiliate with them.
I think like someone said, the free flex compiler with an engine like Flixel might be a good way to go. There are a lot of flash portals and it's one of the easiest ways to publish your game. 2d graphics are not at all easy, so that's something you should give some thought about. Overhead is much easier than perspective. Unity would be another pretty good option because you can publish on Kongregate, but 3d graphics aren't trivial at all and you can spend easily as much time studying modeling as you do programming or perhaps more. A reasonable getting started game would be overhead 2d with fairly simple graphics. Strategy can be complex programming and wouldn't be anything close to my idea of a first game, but you could perhaps start slowly and build.
Hi and thx for your replays. First of all i have to say its not my first game (I did some basic stuff like spaceinvaders and co a while ago and also did a 2d sidescroll spaceship "shooter"). All in Java. But never done a RTS and never done a multiplayergame.
And i dont worry about 2d graphics becouse a friend of me paints very well (offline), then he scan and recolor it. so its very easy for me to get some 2d graphics.
And i readed much about RTS Networking (in this forum somewhere was a nice link - i cant find it atm - to a page who explains how age of empires networking works)
Next Step are get good Classes for all Stuff, get Units, get better Gameloop, Ticks. And then the big thing, Pathfinding. I think there i will have some problems (and ill need to read much).
I impemented an A* Pathfinding and also have the basic isomap. But there is still stuff i dont know how to do. For example: My map contains much fields, every field can be blocked or not. My Pathfinding now check where to walk and give me a fieldorder. But i dont wanna walk from field to field, i wanna walk "normal".
I created an image to show what i mean.
The colored fields is the pathfinding-way, and the red line is how i would walk when i walk now from field to field.
The blue line is how i wanna walk. You see its more direct.
(Ill upload a better image when im at home and have my code and my map )
Any idea how i can move like the blue line?
edit: link for myself: navigation mesh http://www.ai-blog.net/archives/000152.html
Without any idea of the details of your algorithm, you need to limit your allowable movements from one tile to the next through an edge. Given a position, the allowable nodes given the A* should only be those that can be reached via an edge, and not via a vertex.
Sometimes people just use an algorithm to smooth out the sharp turns. Personally, I never thought it looked bad enough to bother. In my opinion, you can never compete with the high end games being put out by professional companies so leaving some of those things actually gives it a little charm, and it's better to focus on original game play, which is the one place you can compete. If you picture ultra realistic models making those turns, it looks bad. If you have stylized simpler models, it looks fine and they are easier to build and you won't need as many animations.
One method I used is to compress the path to a set of waypoints. You can find these waypoints by analyzing the path for straight vectors. You can further reduce points by using an angular threshold, but you want to be careful not to influence the path result to much. Once you divide the path into several waypoints, you can treat each of them as points on a bezier path. Using the angle difference between waypoints, you can adjust the control points to add smoothing to the turn. It's not an easy concept to grasp if you're new to bezier curves. fireside's suggestion of keeping it simple can still produce decent results as long as your pathing has a sufficient number of points.
BTW, there's something iffy about your pathing heuristic. The A* algorithm should have moved towards the wall at an angle in the beginning (of your diagram) rather than straight down before shifting over to the right. You probably didn't take into account the weight difference for traversing in a diagonal, which is cheaper than moving directly along the axis.