PDA

View Full Version : 3rd Challenge entry - Futuristic rts game



User137
17-08-2013, 08:02 AM
Idea is slowly coming up together, to have RTS with no direct control to individual units. It might remind mostly Settlers 3, but visually there might be similarities to Starcraft 2. Obviously i can't do as good animations and stuff, but i should be able to vertex-animate with nxPascal. It will be 3D, although (maybe?) not free to rotate camera because of terrain. It would just look bad to see the border in the distance... unless i'd use fog. I'm not going to use shaders so that even those with little older computers can try it. Even without shaders i can use custom per-vertex coloring if needed. Models and animations i'm going to have to create with my old Delphi version of Edit3D that comes with nxPascal.

There are few gaps in the idea still to think off, like what are the resources? One interesting idea i have, is to let player build any size drill anywhere he wants. Bigger the drill, the more resources it outputs, but the longer it takes to build and consume more some kind of energy resource to operate. Most importantly this kind of flexibility makes a difference when playing against AI, so that it's not a plain equal mirror match. Also number of bases, their locations, balance of defenders and attackers, static defence, type of units all makes a difference. I would think this is also influenced a little by Total Annihilation.

Game template is now copied for codebase, and repeatable terrain tile drawn with Gimp.

And don't be afraid to make another RTS after reading this, i'm 100% sure your idea is different than mine, likely in many ways ;) And never hurts seeing how others do it.

WILL
18-08-2013, 03:32 AM
Doing another RTS huh? :) Well I guess if you've been working in the genre for a bit it only makes sense to go with what you are readily familiar with.

It will be interesting to see how you handle the challenge part under RTS. I'm guessing that unit function balancing is going to be a priority since time constraints would prevent you from designing too many within the month's timeframe.

pstudio
18-08-2013, 08:13 AM
Sounds ambitious for a one month challenge. It will be interesting to see how far you can get with this game in a month.
It's a bit unclear to me how you envision this game will be played. Probably because I've never played Settlers. Would you mind explaining the gameplay with a few sentences and how it follows the theme of the challenge?

User137
18-08-2013, 11:11 AM
I haven't worked it out fully yet. I need to make lots of UI elements to make the plans for the AI, and i'm propably going to hard-code all the UI. There will be no bounding box selection, and if i'll allow unit selection it will be for 1 purpose, to show details about it. Bit like other strategy games, you can select a building from toolbox, and set where the construction yard will be at. But unlike other games, i also determine the building size upon placing it. Then nearest available workers start coming to build it, with no interaction from me (this is how Settlers works). I can determine how many workers (they fly in this game) i want made for the empire, and in games we know (TA) it's sometimes taking away from military production queue.

I'll also divide the map to 10 sectors horizontally and vertically to minimize amount of processing done. Each have their own list of units, so say if bomb is dropped on sector (2,4), then i only need to check unit collisions from there only. If the blast radius extends near the border, or even within corner, in worst case i'd check 4 sectors for that blast. But if AI has 500 units at sector (8,6) or something, they will be completely left out of calculation. It is also a boost for rendering. I can also use the mass collision i used in the other demo, with the sector optimization, and 1 other trick.

Yes it's propably a bit ambitious idea, which is why i won't start from 3D animations. There'll only be Skirmish game mode, no story, and no identifiable commander, unless time permits and i get new ideas. Other obvious problem will also be to make the enemy commander AI. I need to get enough playtime myself to know how it should be played, so that i can tell AI how to play. I am also cautiously worried about outposts, and UI related to them. World might just be a low varying heightmap from simplex noise, with single tile type for now. No looping from borders this time. I have done it before, but it does add bit more confusion and i can't afford the time.

User137
19-08-2013, 09:41 PM
Will see what kind of enjoyment level i can achieve with this, or will it again leave a technical and dry experience...

Progress so far, i've implemented some game objects and models (10 different units, 2+1 temporary models). Their ingame properties are configured in ini file. So much configuration options are in ini, that one could almost redesign the whole unit concept without touching source code. So with these working, i have first units on screen, with physics enabled. It is slightly different from the walker demo, basically i am simulating units with different mass. Sector system is also stable, but it's not used everywhere yet. Maybe i'll hold first screenshots till later, there is really not much to see yet ;)

WILL
21-08-2013, 02:27 PM
Will see what kind of enjoyment level i can achieve with this, or will it again leave a technical and dry experience...

This is a questions I ask myself a lot with pretty much all of my own projects. And it's a good question to keep asking from time to time. I would suggest to be sure to try your ideas before you outright discount them. You never know how all the elements of your game will fit together as a "whole experience" until it's there and you have a decent session of testing to see where your pros and cons lay. Like soup sometimes all it needs is a little "salt." ;)

User137
30-08-2013, 01:39 AM
Sorry, it's getting along very slowly, i have been spending my time elsewhere afterall... But i decided to pick up some pace today, by finishing the things i kept having motivation problems on. When i start coding i can accomplish alot in big bursts... as long as i have slight clue what i'm doing.
http://img853.imageshack.us/img853/2011/e5fb.jpg
Procedurally generated simplex-map terrain also with calculated light normals. Terrain and game objects all properly follow sector system now. Added simple smooth shadows before first screenshot. Mouse controls are done for scrolling/zooming the view. Doing some planning for UI on text document. I think main elements to come soon are unit construction toolboxes and mini/battle-map. It is easy to lose track on where the base is without it.

User137
03-09-2013, 10:19 PM
I found out another cause for low framerate with high object amounts. I separated smoothing groups for flat faces, and this caused at worst like 800 calls to vertex array rendering per object, if each face was 1 group. I added new procedure to nxPascal model class to combine groups with same material, to 1 group. This gave a significant speed boost, and the process itself is unnoticable. While taking this screenshot with 500+500 objects, game was at full 60 fps, and 0% cpu use (some new things to be spotted there too ;) ):
http://oi40.tinypic.com/a5db8y.jpg

The AI behavior and its controls for player are already planned out till the end, but i hope i can implement them...

Sascha Willems
05-09-2013, 06:06 PM
Looks mighty interesting. Do you think you get it done in time? Even if not try to at least make a public prototyp of it, so we can take a look at it ;)

WILL
05-09-2013, 11:20 PM
Wow, that's quite the amount of little guys on the screen. :)

User137
07-09-2013, 10:47 PM
Now it's starting to look like a base a bit.
1200

1 important part was finally making that mouse-pointing on heightmap terrain, so that i could place structures (to-be-construction yards) where i point and click. The way i did it was not how i planned to do it though, somehow found an easier way. If i start by getting mouseray - plane-intersection from zero-grid, then moving the intersection.Y to heightmap level, i can repeat the same plane-intersection 3 more times. Each time using plane that is on the height-level of last intersection point. With 4 of these checks it ends up "close enough"/"exactly" to where cursor is on terrain. It might not work if there are hills so high that you can't see land behind it, but i'm not having that kind of camera angles.

Will see how i end up making the construction itself... Showing more polygons as the progress goes? :D I guess it might work if i sort them in height axis. But then i also need an indicator of a construction site, possibly faded version of the model.

Also made unit construction queue, it's just not showing on screen yet. I'll add tiny numbers on the left icons to indicate how many are being produced, quickest progress and items queued afterwards. Functions are there to retreive all this data.

Seems to be roughly 1300 code lines in overall project so far... It doesn't yet feel like i'd get crushed under in the complexity, and i've been trying to make it very modular and readable. Planning all that ahead is a bit taxing too, maybe.

WILL
12-09-2013, 10:34 AM
Well holy cow! Talk about taking it up a notch. ;)

How come your other RTS game never looked this good? :P

User137
13-09-2013, 06:07 AM
How come your other RTS game never looked this good? :P
Yes they did, almost the same 4 years ago ;D (No need to embed, not related to contest)
http://www.youtube.com/watch?v=kzDrqhHbwKw

I have uploaded first "bad" version to FTP, just to have something out there before time runs out... I realize i still have more than 24 hours remaining though. The project is moderately unfinished yet, but i have started works on the AI finally. Building production, queue displays, resource consumption things are done. Factories also assign themselves production from the queue and build the unit out from them. All construction shows a nice fade-model and uses new polygon-progress rendering. New textures are also added for the final needed steps; energizing and combat. ReadMe-file in the entry file also explains some of the basic info about game, how things should work and how you would play a finished game.

I guess musics are a must have or it won't feel like a game at all, even though there's not much to play yet ::) Going to add that right away.

edit: And 1 thing i most likely have to abandon is UI for the AI config. Ain't nobody got time for that... But not to worry, default values for the AI config can make up for quite nice game.

User137
14-09-2013, 04:41 AM
I think i run out of steam. AI and combat works though, and it is playable with musics and special effects. Video will come up soon, it's still uploading while typing this:

http://youtu.be/dP-gCWdadpc

Aside from FTP upload, you can also test it from here:
https://www.dropbox.com/s/d0x4rokfa95kldw/PGD_rts.zip (Updated link)

Start off with a few small extractors first, then more workers from factory. Extractors produce matter, and workers energy. Don't even try to build larger extractors at the beginning, you'll almost instantly run out of resources and all your production becomes nearly to halt. I could also say that the opponents build strategy is not quite perfect ::) But at least it's trying... something.

Ñuño Martínez
14-09-2013, 05:09 PM
Downloading...

User137
14-09-2013, 09:35 PM
New in uploaded 1.1 version:
- Musics rewind to beginning when starting new game with F1.
- Done the Extractor animations and effects (wheel and crystal starts spinning, and there goes out a energy beam towards ground).
- Made AI harder, by making it build stronger base economy.
- Increased turret damage as they felt a little useless. They do have twice longer fire delay than other military units though. Land fighters shoot slightly faster than air units, but air units deal more damage especially to other air targets.

WILL
15-09-2013, 09:09 PM
Wow looks great! I really like how they build the structures. Very pretty!

Please be sure to upload some videos (at least one would be great!) and any screenshots that show off the game well. I need those to help promote and increase interest in future PGD Challenge events like this one. Video uploading doesn't count towards your entry, it just helps me show off your game better. :)