Project Discussion: Abiotika Factions

A Viking Yeti

Carnal Leviathan
Joined
May 27, 2003
Messages
889
Location
Somewhere in the middle of nowhere.
I'll start by saying that I disapeared 'cause I got out of highschool, moved to a diferent state, and, aside from having no internet access, had no time. Sorry to those I worked with on here, this all happened fairly suddenly (specifically loosing internet access).

Now, for the meat of the thread. I've started programming a game in C++ (using the SDL API), named, not surprisingly, Abiotika: Factions. It's a turn-based, tile-based space strategy game, focused on empire building and consolidation (the stability of internal affairs is going to be very improtant in this game). When I say 'space strategy game', I'm not talking on the order of galaxies or even thousands of lightyears; it takes place on a scale of (for the large map) about 50-70 lightyears, comprising a 500x500 map. The engine I've programmed can display a basic, 'clean' (as in empty of factions or resources) map of a million tiles plus in about 40 seconds, so map sizes isn't that much of a problem.

The game takes place on the system and inter-system scales primarily, with systems' orbits taking up rings of tiles around the stars. I think this gives the game a somewhat unique approach in the area of space strategy games in that most either have systems represented by single tiles or whole galaxies represented as such. From the math I've done, the scale is still absurd (interstellar distance are dramatically smaller with regard to the span of systems). I'm not particularly concerned with this as I doubt anyone wants to sail endlessly in space just to see your army/armada destroyed. But I digress...

The point of this thread is really that, though the units won't be displayed directly on the map in full (too cluttered), they will use the same form as civ graphics (.pcx spreadsheets, that is), and seeing as I plan for this to be a fairly graphically dense game, I was looking to see if anyone was interested in volunteering to create some units for me. It's going to be freeware, so I won't be paying anything, but you will get full credits of course. I plan to make a good portion of the graphics myself, but any help would be awesome.

Below are some screenshots of the map engine I have so far. It's still pretty early on, and I've got a lot of bugs to work out, but I think I'm making progress. If anyone would like to here more details about the game, the units I would like, or would like to discuss game concepts/implementations/design, feel free to be my guest.
 

Attachments

  • SCREEN SHOT.gif
    SCREEN SHOT.gif
    31.5 KB · Views: 264
  • SCREEN SHOT 1.gif
    SCREEN SHOT 1.gif
    38 KB · Views: 239
  • SCREEN SHOT 2.gif
    SCREEN SHOT 2.gif
    38.8 KB · Views: 225
:dubious: .. whoa.. major come-back! Dude.. some crazy sh!t happened this year :D

Your game sounds very interesting :) I`m not sure I understand what you are saying about the units.. they won`t be displayed in full.. no animations? :confused:

How would a 128 MB RAM system handle this game? :mischief:
 
This looks very promising. I would apprecate you keeping us informed as to the progress.

Steph is also working on a game SSS, a turn based tile game which is in effect Civ3++. While your game strikes me as more of a GalCiv take off. So your's and Steph's games are compatible but not competitors. So another possibilty for you to explore would be co-operation with Steph.
Shared code base might help each other out. Or might fight like cats in a washing machine.
 
:dubious: .. whoa.. major come-back! Dude.. some crazy sh!t happened this year :D

Your game sounds very interesting :) I`m not sure I understand what you are saying about the units.. they won`t be displayed in full.. no animations? :confused:

How would a 128 MB RAM system handle this game? :mischief:

No, they will have animations and eight directions, but they won't be displayed directly on the tiles themselves (at least, not by default). Instead, a still icon of the unit will be displayed on the tile, and when you click on the unit, or it's on auto-move, or it gets into a battle, then (to the side, in that little panel) it will displayed the full animation. The reason for this is the tile size in my game is very small, and I didn't want to loose a lot of quality with the units (especially if I borrow one's from this site). The tile size is 15x10, but it can be changed in the mod file (you'll have to resize all the graphics though).

Well... I'm running 512 MB, but the program currently takes about 21 MB with the 1000x1000 map I was talking about. All said and done, by the end of a game (i.e. tons of stations, units, factions, et cetera) I'm shooting for about twice that, thought it may reach three times that. My 400-450x400-450 map (the default mod map) takes, currently, about 12 MB. To answer your question more simply, if the code's resource consumption goes as I've planned, you could hypothetically run a 350x350 to 450x450 map on 64 MB RAM. Processor speed ins't something I've quite looked into yet, but it hasn't become an issue on mine (a 2 GHz AMD Sempron), but I would advise at least 700 MHz.
 
This looks very promising. I would apprecate you keeping us informed as to the progress.

Steph is also working on a game SSS, a turn based tile game which is in effect Civ3++. While your game strikes me as more of a GalCiv take off. So your's and Steph's games are compatible but not competitors. So another possibilty for you to explore would be co-operation with Steph.
Shared code base might help each other out. Or might fight like cats in a washing machine.

:lol: ...Yeah, I was think of consulting with Steph, he seems like a much more experience coder than myself. I'm self-taught, so I'm sure my code is disgusting, but for the time being it doesn't crash, and it doesn't have any memory leaks. In any case, my game does kinda' remind me of Galatic Civ, but it's not going to be as simplistic... What I intend to do, basically, is make a game that is to GalCiv what SSS will be to Civ3. Really, it's fairly similar to the Space Armada project on here a while back (which is also another person I need to talk to).

Oh, and I'll definitly keep you guys posted on my progress. Right now the game can create a 'psuedo-random' map (still have to work on my random map functions) based on a number of tile types whose prperties are loaded from .ini files. The number of tile types isn't hardcoded (nor is much), and the game can handle multiple graphics for the same tile type (for variety; i.e. not all reg giant stars have to look the same... Really, you don't even have to have a red giant type, or you could have three). I'm working on adding planets right now, who will orbit (tile by tile, each turn) around their respective stars.

As it sits, there are several 'classes' of space and several planet 'classes'. There's inner (inside the asteroid belt), outer (outside the asteroid belt), deep (in between stars), and debris (asteroids, planetary remnants -yes, you can blow-up planets-, chemical pollution, scrap pollution, et al) types. For planets, there's rocky (self-explanatory), arid (martian), terran (earthen), gaian (swampy), gaseous (again, self-explanatory), and icy (plutonian). Only icy and gaseous exsist in outer-class space. Rocky, arid, terran, and gaian exsist exclusively in inner-class space. However, all these flags (though hard-coded) can be set for whatever types of space you add.
 
Wow.. blowing up planets.. a dream come true! :D I smell a WH 40k mod for this game :mischief:

Will spaceships be able to carry infantry for planetary assaults? :)

Yes. Each planet/moon/station may have mulitple owner's (this will be figured by a percentage of land under each owner), and will have their own terrestrial divisions on the planet. Depending on the number of troops involved, upon declaring war with a faction that you share ownership with, you may choose to advance your forces on theirs on the planet itself (and vice versa for the AI); the length of the fighting will be determined by the number of terrestrial units involved. Stronger units that survive battles (on either side) may retreat and wait for another battle in the planetary war. Depending on the number of units destroyed on either side (a percentage of the total forces present for either side), a certain portion of the oppossing sides planetary territory will go to the victor. In mathematical terms, whatever percentage of the enemies total forces are destroyed, that perctange of their territory becomes yours (assuming your the victor). In this way, planetary wars can be long and drawn out, destroying infastructure on the planet and requiring time for your forces to heal. I.e. planetary wars won't be single battles that determine the absolute owner of the planet or whatnot, they'll be campaigns involving a slower acquisition of the total territory.
 
Is it going to be just math or are we going to be able to see the units? This is a great game you are making, thanks :)

I'll be using graphics for the terrestrial units (part of my reason for coming to the forums). They'll play like regular Civ 3 graphics during the battles, the math I was talking about is just how the victor will be figured and what he/she/it will win. Thank you, by the way, for both the interest and the compliment (preemtive compliment?).
 
Those are just background stars. Tile graphics is all, you can change that if you'd like. Oh, and I could always use a cheerleader, :D. The funny thing about this project is last time I tried I couldn't get any graphics to display at all, so instead I started on a 3D space fighting game, and promtply quit working on (as I do with most programs). I don't what I did, but something gave me the spur to stick with it this time, and Now I've been working on it since... Janurary 5th I believe. Largest program I've ever made.
 
Sure, if you need some help you can ask me

Well, it's probably to far now, but I was if there's any way to make multi-dimensional vectors. Well, not necessarily vectors, just a non-static container. I don't really need to remove or add info from the middle of stack (or at all, really). Thanks, by the way.
 
Well, the way I have set up is... Um, probably over complicated. I have all the tiles stored as instances of the tile class, each one storing an integer for its type, x position, and y position on the map. The type calls an instance of the tile properties class (i.e. one instance for each type of terrain), and, based on how the map is drawn, I have a function that, given and x and y position, total map width and height, will retrieve a tile id. The tile id is the location of that tile instance in a vector that stores all the tiles... ...Seemed liked there'd probably be an easier manner of going about this (probably faster too), but I didn't know of any, so that's how I set it up.
 
Top Bottom