Taking Matters into Our Own Hands: A Proposal for a Fan-produced SMAC Remake

I'll answer that, at least give you my opinion.

Making the game so it is expandable pretty easily (a la something like the original Bioware Neverwinter Nights) is an excellent idea.

But it seems to me before making real changes to the way the game is played, you ought to clone the whole thing as faithfully as you can first.

Also you might consider limiting what you want to accomplish out of the box. If I were running it, I'd like to have a design framework intended to accomodate multiplayer.

Then I'd forget all about it, until the single player version is finished. There are better programmers than I am, and if they differ, maybe there is a good reason. But that is what I would do.

Things like scenario editors and the like are things I think most people want to see, but that is a secondary consideration to getting a workable game going.
 
I do not think you would have to totally reinvent the wheel, so to speak.

Kyrub and Scient did a pretty decent job with improving the AI, but you still have a ways to go with getting the AI to actually use terraforming and crawlers properly. I have a feeling their methods will have to be used.

In my opinion - and I have said this on other forums though I visit them infrequently - is all this game needs is 2 things. Everything else is gravy. These 2 things get done or even one, it will set the AC community by storm.

1. 14 factions. Would require changing UI frames for planetary council and other UI changes to allow this. Faction selector UI would have to be remade. May need more starting areas on map generator. May be other things for diplomacy.

2. Civ 4 Blue Marble style graphics pack. Probably a bit easier codewise from my untrained guesstimation. Does not have to be Civ 5 standards nor do you need to attach a 3d engine. All you need is to fool the client into displaying higher resolution tiles.

BTW... agree with others about Planetfall. As a purist, I did not like the new terraforming and total rework of the tech tree. Any redo or mod has to respect classic or you end up alienating folks. This includes respect for SMAX and SMAX factions including the aliens, which a few may have issues with. Any updates would have to work with SMAC and SMAX! Still, has anyone else done better?

Now, a bit of positive. Some of you may remember a little strategy game called Age of Wonders: Shadow Magic published a few years after SMAC/X. That community has totally modded that game, has a "unofficial" patch and many, many mods. They are even working on a second patch while a rival group already has a second patch! Maybe SMAXers could do this like the folks at AoW Heaven have.

One can hope, because it will be a cold day in hell before we see an official update to this game!
 
I have read a little about freeciv, and about Scient's and Kyrub's patches. (Thanks everyone for these tips!)

I would like to share what I am thinking about how to develop our ideas, and hear your thoughts on it.

Using freeciv would allow us to reuse a large, tested code base, and so we could publish something sooner rather than later.

However, to make the best use of freeciv's code, it is more feasible to think in terms of "what is the most AC-like game we can make on top of freeciv?" rather than "let's recreate AC on top of freeciv".

The reason for that is that including AC-like art and rules on a freeciv mod / fork would be straightforward, while inserting some of the AC features which are lacking in freeciv (e.g., unit workshop, terraforming) would not only require coding them, but also coding them and interfacing with freeciv, which is actually harder than doing them standalone.

The freeciv code is being actively developed. Much more actively than I would have guessed, to be honest! So if we go this route, I think we should select a specific version of freeciv and fork it, and only when we have something playable we should merge it back to the trunk. My reasoning here is that it is already quite a lot of work to repurpose freeciv into an AC-like game, and having the code base change while we do that would not be a good thing.

In summary, I think an "AC-like" game on top of freeciv is very doable, and would be enjoyed by many fans of AC. However, this is also an inversion of what most of us agreed before, that an AC "clone" would be done first, and only afterwards more creative things would be attempted.

Only to put this in (a little more) context, I have checked out superficially the AI patches by Kyrub and Scient. The path they took was (as far as I understood) to include or substitute parts of the original binaries so that bugs and features could be added. While this is very interesting, I don't think it would scale very well for larger problems, which could impact several different parts of the game. Also, since we do want that the cloning be a stepping stone to having a new, improved game, we have to consider that this approach would not get us much closer to that goal.

The TL;DR version: I think we can develop an AC clone from scratch more easily than trying to shoehorn it into freeciv; and that we can make an "AC-like" mod for freeciv much more easily than to clone AC. The strategy of patching the original binaries doesn't seem scalable, and would not lead to an open source, improved "AC2".
 
Is there anything like a roadmap of how Alpha Centauri actually works?

Like what dll's it uses, what each program and file associated with the game does?
 
FreeCiv is based on Civ II I think.

Originally to Civ I, then extended to Civ II (which is closest our default mode). However, freeciv rules are not hardcoded, but quite configurable coming from so called rulesets, text files describing the rules in use. Freeciv 2.3 (& upcoming 2.4) ship civ1/civ2/default/multiplayer/experimental rulesets, with more available for download. In development version we have under version control also civ2civ3 ruleset combining ideas from civ2 & civ3, and my Alien World ruleset http://www.cazfi.net/freeciv/alien/. Both of these are available for freeciv 2.3 and 2.4 as separate downloads.

From my point of view (= in interest of Freeciv project) you should first create ruleset with as many SMAC style features as you can with current freeciv engine. Then you/we could develop the the engine and ruleset in parallel for more and more SMACcish experience.
 
Hmm, Cazfi. I was looking at some of those screenshots from the older project. Yeah, you would need to work an entirely new UI. Still, that is a lot of work they did. Shame it never came to fruition.

Graphics are even uglier than SMAX. But, I assume those screenies are from when FreeCiv was Civ1 based.

Also, how are you guys going to handle terrain altitude. To my knowledge, SMAX was the only Civ to really do that properly. The Planetfall team really lost out because there was really no good way to handle that. The terraforming game is what made SMAX a classic.

Have not played FreeCiv, yet though. I want to look at FreeCiv's default engine before I make judgement.

I can not code my way out of a paper sack. But, I would be willing to test out builds. Alpha testing is a lot of work. As long as I can chime in time to time to gently push features in a kind way :)
 
When ever there is project like yours considering if they should base their work on freeciv, I recommend sort of head-first-approach to just test it. Creating the initial draft-quality ruleset will take only couple of nights, and then you can actually test the game if it's worth to continue to more demanding phase of the development (one including also code changes to freeciv engine). That investment of couple of nights is really negligible when you are considering game project that will take thousands, maybe tens of thousands, of hours.

For reference what it takes to build something like freeciv, there's OHLOH estimates what it would have taken to build it as paid work project: http://www.ohloh.net/p/freeciv/estimated_cost

Not all the work of the previos freecivAC project was lost. Their powerful effects system was adopted back to freeciv and it's now critical part of what makes freeciv ruleset format to allow such a fundametal changes to rules (i.e. not just definining some values).
Effects system means that you can make any requirements, such as having certain building in a city, to produce any effect type, such as "Output bonus". So, for "Marketplace" in a city to give 50% Gold bonus you define:

[effect_marketplace]
type = "Output_Bonus"
value = 50
reqs =
{ "type", "name", "range"
"Building", "Marketplace", "City"
"OutputType", "Gold", "Local"
}

but you can just change the requirement to be specific government type, nation, tech, city size, minimum year...
 
@Cazfi.

Okay, I sat down for a bit with default Vanilla FreeCiv. I must admit, the sheer scope of the project impresses me.

HOWEVER, I do see some issues that may hinder support of this unless there are substantial changes. Please do not think I am being a "negative nate". I only critisize out of love for this genre.

1. FreeCiv's user interface. To me, it is pretty unintuitive. It looks like a control panel out of a 2000MSCE training book. Now, even original SMAC/X has okay UI. It is not modern, but I think any remake needs to have graphical frames at least to SMAC/X standards. Now, really old school purists who still have a Commodore 64 and have Linux on an old 286 will blast me, but hear me out. There are other old school projects that are much more ancient that puts out games called roguelikes. Now, the purist will claim a true rougelike must be all ASCII graphics and use arcane command line type inputs. Only few folks download these mostly nostalgia reasons. But, when someone improved the UI, put okay graphics in, and got rid of the command line, those roguelikes took off!

2. AI traits. Many wanted even more variety even in SMAX's diplomacy. But, I dare say even the existing diplomacy in original SMAX is a bit more complex than FreeCiv. When I see the orange borders of Sister Miriam, I know I am going to be in for some rough times. One of the shining lights of SMAC/X was that the AIs felt almost like real characters in a novel you were playing as a tbs. Each faction - even the ones from the expansion - had a definate flavor to them other tha different graphics. I KNEW Yang. I KNEW Miriam. I knew I had to watch against Roze. And what the heck.. that durn pirate Sven off my coast eating my squares! I want to feel being a character. SMAC is not so much a game but a random soap opera!

3. Graphics. Yeah, gameplay > graphics. But, look at it this way. My english teacher one time told me how he graded papers. He used the restaurant analogy. The grammar was the plate. The content was steak. Now, if the plate had a speck on it, fine. As long as the steak was good, he would have no complaint. However, if the steak was raw, it would not matter about the plate. If the plate was filthy, even if the steak was cooked by Emeril Lagasse himself, it would not matter. But, he did admit the steak was more important than the plate. The plate in this case is the graphics. The gameplay is the steak. All good chefs know folks eat with their eyes. No need for a gold rimmed plate. But, the graphics of FreeCiv is like a plastic plate that does no justice to the existing complexity of FreeCiv. The graphics are going to turn away a lot of support, unfortunately. My trail run I ended up giving up the freeciv game and not saving. The plate was flimsy. The steak, okay, but not filet.

As I said, I critisize out of love. We all want to see a good rendition of a classic. Also, your existing FreeCiv project would GREATLY benefit from the influx of new code and ideas even from a failed SMAX remake attempt.

Good luck, and I will be playing.
 
1. Which client you used? Freeciv has several clients with different UIs. I have to admit that usability of UI is a bit problematic with all of them. As UI should work with any ruleset users design, we have to be prepared to provide access to vastly more information and options than most (any?) of the commercial civs. Another thing to note is that freeciv is primarily multiplayer game, and very competitive die-hard players are significant userbase segment - their needs for quick-select-potential-defenders-under-0.1-sec options drive UI design to quite different direction than needs of someone playing peaceful singleplayer empire building style. In general we have userbase segments quite different from each other and trying to make improvements for one without causing too much negative impact to some other is often challenging (consider also screen sizes of small tablets, and huge displays of PCs)
It should be quite easy to drop options your project really doesn't need from the UI, and then make it simpler.

2. Some work on AI traits has been made in current development version. Not that you could see that playing default rules, as that won't use it - they are just an option for custom ruleset designs. In fact default ruleset has changed only slightly over time - it's balanced as it is, and it's hard to change individual features without breaking the balance - and most of the new features are available in custom rulesets only. The civ2civ3 ruleset is quite different from default ruleset, and we consider to make it new default in coming versions (but not yet in 2.4 or 2.5)

3. Yes, graphics engine is quite dated, not supporting animation or 3D. It needs a rewrite soon in any case. However, graphics themselves are as flexibly loaded as rulesets. Freeciv comes with several tilesets (amplio2, trident, isotrident, hex2t, isophex) and more custom rulesets are available for download. In the choice of default tileset we again have to compromise between different user segments - hardcore players want as tiny tiles as possible so that more of the map fits in the screen - other player want as big, and detailed, tiles as possible. Some screenshots of downloadable tilesets: http://download.gna.org/freeciv/contrib/tilesets/freeland/freeland-3.0.png http://download.gna.org/freeciv/contrib/tilesets/chess/chess-v2.png
 
1. The version I downloaded is the Windows client from the link on the front page of your project website. Freeciv-2.3.2-gtk2-setup is the installation file. Multiplayer...eww. There are folks that do play MP from time to time with AC. To be honest, I usually lurk forums and do not post. But, the AC community seems to be spread thin over like 4 forums. They migrate a lot, too. Not sure why. The only tbs I have played MP was Civ 4. I found it lacking. These type games just take too long and I really can not be mad at someone if they do not have all night to play an epic session. I would be willing to bet most SMAX fans are of the sandbox empire building variety and are usually silent like me. I want the space soap opera and do not want to have to be dependant on when others or myself can play. I think many more are like myself. What is not to love about that? Plus, SMAX excels as an empire building game. It is only a above average war game, though war is part of it. Very few tbs games, even current, can match the level of things you can do to the environment in SMAX.

2. I see. You probably have a huge MP community of old wargamers who want balance. AI is rough. I am glad you are considering ruleset changes/additions to that. It truly makes a game feel better and there really is no excuse not to have it. For SMAX, you need aversions, agendas, aggresiveness. Civ 4 has a decent system for that. MP less so, AIs are just substitutes and no MP player wants a game just to play against an AI. But, the sandbox player needs "characters".

3. I looked at the different tilesets. It's great you have modularity. Still, it is kind of meh. I also realize you are multi-platform. But, to really get AC.. the graphics must accomodate more interaction with the environment. In SMAX, they can raise terrain. They can adjust the rainfall patterns. You probably need bigger tilesets to accomodate all that detail of elevation and multiple layers of improvements, elevation, fungus, etc that ALL effects the game. Someone, and I forget the link, put Sid Mieir's Railroads on Android. Another person was asking about SMAX. I think I would agree. This level of complexity that the graphics would have to represent would be hard to pull off for those guys.

With Planetfall, I do not think they started with the ruleset. They started with the terrain.At least that is what I saw the first alpha releases. The terrain AND natives (a whole different can of worms..lol) is just as much a faction as players or the AI.

I am going to do more research into what you guys have and try to crank up another game.
 
I will admit that when I decided to make my crazy Lost Eden mod 2 years ago, I compared FreeCiv, Civ2 and Alpha Centauri, and chose Alpha Centauri for the increased flexiblity, better graphics and characterisation. I'm playing a game now and am really enjoying the interactions between the characters. :D

I would love if FreeCiv was a bit more catered to being prettier and better on the AI side. I might have even gone with it in the first place (SMAC almost was a mistake as the community is too small to have nichés that would play my work, and my mod is largely Civ style in SMAC anyways) if the problems were addressed. Of course, haha, in the meantime I picked up a Games Tech/Computer Science degree anyway, so it's kinda moot now.

For the record, the SDL client that I tried seemed to be considerably nicer to play with than the Windows 3.1sque standard one. I'd love to have a FreeCiv I could convince my Civ 4/5 playing friends to play.

Could we draw up a list of changes that can bring the game to SMAC standards? The general consensus is that people want to play their game in a new fresher environment, not have a different game.

Stuff that I can think of off the top of my head:
  • Elevation, global warming and rainfall, in both model and view contexts (i.e. all parts of MVC)
  • Diplomacy that actually makes the characters believable
  • 3D units, either voxel or polygon based
  • AI in general (from what I remember 2 years ago the AI was pretty horrible, but that was 2 years ago)
  • Unit workshop based units rather than predesigned ones (LE had predesigned ones but this is normal SMAC I am talking about here)
  • Civics/social engineering (very important)
  • Civ/faction stats
(sorry if I derailed by talking about my own experience too much!)
 
I will admit that when I decided to make my crazy Lost Eden mod 2 years ago, I compared FreeCiv, Civ2 and Alpha Centauri, and chose Alpha Centauri for the increased flexiblity, better graphics and characterisation. I'm playing a game now and am really enjoying the interactions between the characters. :D

I would love if FreeCiv was a bit more catered to being prettier and better on the AI side. I might have even gone with it in the first place (SMAC almost was a mistake as the community is too small to have nichés that would play my work, and my mod is largely Civ style in SMAC anyways) if the problems were addressed. Of course, haha, in the meantime I picked up a Games Tech/Computer Science degree anyway, so it's kinda moot now.

For the record, the SDL client that I tried seemed to be considerably nicer to play with than the Windows 3.1sque standard one. I'd love to have a FreeCiv I could convince my Civ 4/5 playing friends to play.

Could we draw up a list of changes that can bring the game to SMAC standards? The general consensus is that people want to play their game in a new fresher environment, not have a different game.

Stuff that I can think of off the top of my head:
  • Elevation, global warming and rainfall, in both model and view contexts (i.e. all parts of MVC)
  • Diplomacy that actually makes the characters believable
  • 3D units, either voxel or polygon based
  • AI in general (from what I remember 2 years ago the AI was pretty horrible, but that was 2 years ago)
  • Unit workshop based units rather than predesigned ones (LE had predesigned ones but this is normal SMAC I am talking about here)
  • Civics/social engineering (very important)
  • Civ/faction stats
(sorry if I derailed by talking about my own experience too much!)

Yeah, I am enjoying the interactions with SMAX, too. However, after 2 victories at Thinker difficulty, I just had my behind handed to me. Conquerer Marr just took off and clobbered Yang and Zak and beelined straight through me. It was like a nest of green roaches and no cans of Raid. Darn you Scient and Kyrub! LOL.

Kilkakon, I think your list is right on track with what both the posters here would want and the lurkers would want from FreeCiv. Both empire builders and multiplayers would be united. I do think with effort, FreeCiv could be that. Question is, would it upset the existing FreeCiv community to want to step up to that? Otherwise, we are back to talk.
 
Question is, would it upset the existing FreeCiv community to want to step up to that?
Well, there's three options (or "options" as I think only one way can success) how projects are organized:
1. You "SMAC clone" people join Freeciv community, and drive your agenda in freeciv development.
2. SMAC clone project is completely independent fork of freeciv; you just copy current freeciv source code as base and develop SMAC clone from there.
3. SMAC clone is independent project, but in close collaboration with freeciv project so that common code flows to both directions.

About option 1: If I read your messages here right, you wouldn't be happy to compromise with SMAC features the way democracy of larger group would most likely dictate. It's possible that complete SMAC mode would come out this way, but it would take long time as often times it would be not the highest priority.

Having SMAC clone as independent project would give you possibility to focus on just SMAC features. We've had several successfull "one-goal" forks in the past. In a way freeciv is so big (in terms of distinct user segments, number of target systems, different configurations) that personhours divided evenly over all the aspects means relatively slow progress in any one aspect. More lightweight fork can provide you just those features you need much faster. (I have observed another thing making fork progress faster than that of freeciv: they tend to have much lighter quality assurance protocol than freeciv proper. That's quite natural for SW project trying to get their initial version out, while freeciv is already very mature and we cannot make new versions worse (more buggy) than previous)

From the past experience, I'd say that difference between options 2 & 3, is that completely independent project can initially progress even faster, not needing to care about any code reusability or compatibility matters. Then the project dies, alone, as initial developers lose interest, and with non-reusable code nobody else can save that work.

It can be part of successful fork's lifecycle that once it's ready, active development ceases, and feature by feature freeciv proper adopts code from the fork until fork gets obsolete (many years later)
 
Yeah a fork definitely sounds the most practical choice out of those. And as you say it's always possible for it to be merged into the trunk later. I think it's better to try and harass the few SMAC playing programmers we have rather than try and persuade the FreeCiv ones to stop their own priorities to work on this stuff.
 
I agree that we have to try to get SMAC features into freeciv before we can "give up" and go for an independent approach. Also, although I still think that it would take less time to implement some stuff if it was an independent project, I have to concede that the reusability issue trumps this, because the total time it would take to create a SMAC clone is much greater than what a few programmers can provide on their free time - so it only makes sense to go forward with this if it is done in a sustainable manner, that is, in a manner that will conserve whatever effort is put into it.

If there is an agreement about this, I would like to start getting my hands dirty.
 
I spent a few hours looking at the documentation, and from the looks of it it's written in C (why not C++? :(). The existing features bearly cover Civ 2 requirements, so it'd be necessary to add everything that I listed, but designed properly so it wasn't just hacked together. Got to do things properly! :)
 
I'd recommend that you follow freeciv-dev mailing list ( http://gna.org/mail/?group=freeciv ) , or at least freeciv-commits, to know what happens in the common codebase (you don't want to keep bugs that have readymade fix in upstream freeciv).

I maintain so called stub-ruleset, that is meant to be used as starting point for developing new rulesets from scratch. I'll update it against latest freeciv development version for you to use (unless you rather start by modifying some of the existing rulesets) http://www.cazfi.net/freeciv/rulesets.html

You may also want to check out Alien World ruleset, documentation at least, to get some inspiration and idea of what is possible with current ruleset format (that is: it's possible to create non-civ2ish ruleset). Alien World is still in development, but documentation covers already existing features (not something I'd like to develop in the future).
 
@ Cazfi

I was going to lurk in FreeCiv forums to get an idea of the community. Now, some of us are on Alpha Centauri 2 forums. One of the admins there (Buster's Uncle) even talked about possibly offering forum space if needed to facilitate a project if desired. We all want this that bad. I also noticed FreeCiv forums are down since March. Is there another gathering place for the FreeCiv community? I love talking shop, learning, and contributing what I can within my meager talents.

BTW, the SDL client is a slight bit better than the GTK client I tried. Still, anything would have to be brought to SMAC/X standards. That, my friends, is a lot of work.
 
Freeciv developer community is at freeciv-dev mailing list. That's the official forum of development related things as our commit rules say that changes must be posted there for discussion (which may result in rejection of the patch) at least 36h before committing. Currently all patches are handled in gna.org patch & bug trackers which forward any changes to tickets to the mailing list (almost all of the mailing list traffic comes via trackers).
Forums ever were more for the user discussions, most developers didn't have time to even follow then regularly. They went down March when the server machine failed. We'll look into getting new forums more once free from the pressure from 2.4.0-beta1 release (coming weekend).
 
Top Bottom