Apolyton Archive  |  Preserved copy of the Apolyton Civilization Site and its forums as they stood in September 2005. Read-only; nothing here can be posted to or replied to.  |  Forum index |  About this archive |  The 1998–2001 UBB forums
Today on Apolyton WARDELL INTERVIEW PROMO A.C.S. HISTORY CHAPTER 4 GET CIV4 /w FREE PLUS! A.C.S. PHOTO GALLERY GET A.O.M. V1.1
Apolyton Civilization Forums
main| civ2| civ3| civ4| smac| ctp2| ron| moo3| galciv| galciv2| alt| about|
ApolytonPLUS | register | search | faq | new posts | pm (-/-) | upload | members
hall of fame new! | civgroups | civgroups news | interviews | the column | radio | chat | directory | news | store | PLUS
Apolyton Civilization Forums : Powered by vBulletin version 2.0.3 Apolyton Civilization Forums > Alpha Centauri > AC-Creation > Crazy idea? Rewriting SMAX from scratch
Show a Printable Version | Email This Page to Someone! | Receive updates to this thread | Report this to Apolyton news!
16.Sep: ZAKHAROV TURNS ELEVEN
15.Sep: `POSSIBILITY` IS ALL FOR NOW
15.Sep: THE SINGULARITY CONNECTION

bottom of page
  - ALPHA CENTAURI PC $9.99 - Centauri Dawn $6.50 - Dragon Sun $6.99 - Twilight of the Mind $6.99 - Power of the Mindworms $8.95 - ALPHA CENTAURI MAC $19.99
Is this a feasible idea! (Time out:0 days after 24-09-2004, 19:09)
Yes, I like it, think its possible, and I want to participate in it.
I like this idea, and I think its possible.
I would support this, if not for the fact its impossible
No! I don't even think there should be improvements!
View Results [Edit Poll (moderators only)]
Author
Thread    < Last Thread     Next Thread > Post New Thread     Post A Reply
Natalinasmpf is offline Natalinasmpf
Warlord

Sep 2003
time: 13:22
  Old Post 24-09-2004 19:08
Edit/Delete Message Reply w/Quote
#1 Report this post to a moderator
Crazy idea? Rewriting SMAX from scratch Support Apolyton, buy Galactic Civilizations

Well we all know there are some shortfalls in SMAX/SMAC, that could be solved if there was a sort of version two, or the source code was released. I recently thought of the idea: why not rewrite it from scratch? The engine isn't impossible to replicate, and users could contribute to this (open source ), and someone good in graphics could make the graphics. I plan to write this in C/C++, and then use openGL for graphics, and this also will not take off without volunteers who can contribute in any way, any form.

This might not be an impossible task, again, already I have a source code file in the works that functions as the calculation code for battles. Ie. take factors, calculate, return, and integrate with the rest.

Main objectives:

Improve game balance and social balance - crawlers, choppers, ICS (ICS, you must agree, has to be toned down somewhat)

Fix some bugs

I think its also good if we thin the line between "builder" and "momentum" things - I mean, people in real life do not adopt a strategy like that at all.

Rewrite social engineering - its quite good, but could use improvement.

Even more dynamics! More SP's! More ways of representing the rhythm of unrest that surges through society, more ways of representing of representing the heavy hand of oppression, more ways of representing social structure ! More terrain improvements! Lets make a new wave of possibilities!

Warfare immersion:

Improve graphics

Make more movies?

Flexibility in community changes - easier to modify the AI/engine/graphics/etc for a new mod, make it open source.

Some sort of flexible engine: ie. its easier to modify one part without modifying all.

Changes in detail:

Moves and attacks: Have a separate value for how many times a units can move, passively, and how many times a unit can move, actively. This might fix the chopper problem. Ie. a fission copter will have 8 moves but only can attack twice.

Crawlers: Crawlers will now have to move to collect resources. They might now have to represent a worker as in RTS, they collect for a few turns, then they return to base. This might create a nice chain of "trade" though - crawlers will move between bases to collect resources, to be more efficient, (transport them assembly-line like). Economic techs might increase the capacity of crawlers, such that they return every four turns instead of eight. (Also a new command to make them return in emergencies, etc.). This is also makes for interesting situations where crawler dependent cities might effectively have supplies cut off in a siege. Commerce might also deal with this.




Some more, need suggestions!

So, what do you think? I am also aware of other failed similar projects, but perhaps we can continue their cause. Import their code and the like.

Chaos Theory is offline Chaos Theory

King
Missouri / Misery; CC
Oct 2002
time: 04:22
  Old Post 24-09-2004 20:37 Visit Chaos Theory<br><a href=/members><img src=/forums/images/supporter-icon.gif border=0></a><BR>'s homepage!
Edit/Delete Message Reply w/Quote
#2 Report this post to a moderator
Tired of ads?

This has occurred to me, and I've played around with what it would take to write a TBS engine, but I haven't gotten far because I have lots of other things to do, both useful and useless.

Natalinasmpf is offline Natalinasmpf
Warlord

Sep 2003
time: 13:22
  Old Post 24-09-2004 20:56
Edit/Delete Message Reply w/Quote
#3 Report this post to a moderator
Avatar Enlargement: We've got the solution

Well I'm looking for contribution in any way I can. Basically you can reccomend me a kind of structure for code to use, or any tips, or any ideas or suggestions, because any help is a great help.

So far I've mostly done just void functioname() functions which do some calculations or cross-references, etc. which I intend to call up later. Quite inefficient as of now (cross-references where its not needed), actually, so perhaps you have some experience in that area?

I haven't gotten far as well, but if I get some good momentum going, I think I will.

livid imp is offline livid imp
Prince
Gimme a quarter or I'll touch you
Mar 2004
time: 21:22
  Old Post 24-09-2004 21:52
Edit/Delete Message Reply w/Quote
#4 Report this post to a moderator
Put an end to popups!

While I am all for improvements to SMAC/X, you'll have to forgive my skepticism. Many projects like this have come and gone during a time when there were more SMAC enthusiasts than now. Anyway, if you are serious about this, you have to start with design. Write up your design docs before you even load up your C++ editor.

I'll be willing to put in some of my valuable design input .....but ultimately success breeds success. If people see you working hard, and producing something tangible, others will jump onboard. If all people see is a "Wouldn't it be cool if....." thread, don't expect folks to be volunteering to code for you.

Anyway, I am just regurgitating the obvious wisdom, I wont waste anymore bits on a hard drive half way around the world.

Good luck.


edit: Let me leave this on a positive note. If you manage to pull this off, it would be a the perfect thing to add to a resume. Making a game is the best way into a game company's payroll.

Last edited by livid imp on 24-09-2004 at 22:14

Chaos Theory is offline Chaos Theory

King
Missouri / Misery; CC
Oct 2002
time: 04:22
  Old Post 25-09-2004 00:07 Visit Chaos Theory<br><a href=/members><img src=/forums/images/supporter-icon.gif border=0></a><BR>'s homepage!
Edit/Delete Message Reply w/Quote
#5 Report this post to a moderator
Increase Your PM Length

If you're actually committed to this, I can finish writing a matrix/dynamic expression tree library that I've been fiddling with off and on (mostly off) for a while. You could use it to parse a parameter file for such things as bureaucracy drone formulae, or SE effects

Natalinasmpf is offline Natalinasmpf
Warlord

Sep 2003
time: 13:22
  Old Post 25-09-2004 02:00
Edit/Delete Message Reply w/Quote
#6 Report this post to a moderator
Support Apolyton, buy Civilization III: Complete

Hmm that would be helpful. Thanks!

However, this is my first time writing code for such a large scale project, so I'm worried how best to organise it. I've seen projects split up their code into different headers and such, and I have little knowledge about tying / integrating it all together.

And yeah, I suppose I should have some design documentation up, so within the coming days I shall try to think of some proper structure.

#endgame is offline #endgame
Prince
of the town of ZZT
Dec 2003
time: 15:22
  Old Post 25-09-2004 06:56
Edit/Delete Message Reply w/Quote
#7 Report this post to a moderator
Tired of ads?

Why not use ClanLib? www.clanlib.org

Anyone here know how to make CVS go?

goomeister is offline goomeister
Settler

Jul 2004
time: 19:22
  Old Post 25-09-2004 13:17
Edit/Delete Message Reply w/Quote
#8 Report this post to a moderator
Support Apolyton, buy Galactic Civilizations

Well, I can't say I dislike the idea! However, you'll need a lot of community support to pull it off - games require a large investment of resources, not only code, but graphics, sounds, and so on. Granted, SMAC isn't as complex as, say, a flight sim, but don't think it's going to be easy!

quote:
Originally posted by Natalinasmpf
However, this is my first time writing code for such a large scale project, so I'm worried how best to organise it. I've seen projects split up their code into different headers and such, and I have little knowledge about tying / integrating it all together.


A good rule of thumb is, put each class definition in a separate header, and put each class implementation (functions and such) in a separate code file. The idea is to separate interfaces (the way you manipulate classes, which shouldn't change) from implementation (the inner workings of the class, which may change). Modularity is key, it makes maintaining the code a lot easier.

quote:
Originally posted by Natalinasmpf
And yeah, I suppose I should have some design documentation up, so within the coming days I shall try to think of some proper structure.


Definately have a design document before you start working. Outline what you want to do and how you plan to do it. The actual programming should come easily from there.

quote:
Originally posted by Natalinasmpf
Flexibility in community changes - easier to modify the AI/engine/graphics/etc for a new mod, make it open source.


I agree. What you could do is implement a scripting language, such as Lua, to handle game mechanics. You can script the AI, techs, SPs, etc, and have the engine parse the scripts at runtime. This would make it very easy for the community to modify the game, without having to muck around with the engine.

#endgame is offline #endgame
Prince
of the town of ZZT
Dec 2003
time: 15:22
  Old Post 26-09-2004 09:16
Edit/Delete Message Reply w/Quote
#9 Report this post to a moderator
Browse Apolyton AD-FREE

ClanLib has support for reading XML resource files which specify the locations of stuff that will be loaded and game constants and things that shouldn't require recompilation. It's cross platform, has GUI support which I don't understand and network support that I don't understand either. Maybe if I spent more time reading the docs..

I'll stop plugging it now.

goomeister is offline goomeister
Settler

Jul 2004
time: 19:22
  Old Post 26-09-2004 10:47
Edit/Delete Message Reply w/Quote
#10 Report this post to a moderator
Support Apolyton, buy Alpha Centauri

quote:
Originally posted by #endgame
ClanLib has support for reading XML resource files which specify the locations of stuff that will be loaded and game constants and things that shouldn't require recompilation. It's cross platform, has GUI support which I don't understand and network support that I don't understand either. Maybe if I spent more time reading the docs..

I'll stop plugging it now.


XML is good, but it lacks the power of a real programming language.

Generally, I'm against frameworks. You have no guarantee that it was well-written, or that it will work with your code or even on your particular platform. If you must, stick to low-level frameworks like SDL.

#endgame is offline #endgame
Prince
of the town of ZZT
Dec 2003
time: 15:22
  Old Post 27-09-2004 05:52
Edit/Delete Message Reply w/Quote
#11 Report this post to a moderator
Support Apolyton buy from Amazon

I can't help myself.

The XML resourcefiles are just to be used to record things like "where do I find the image for unit #234234234?" and changeable game constants like in the alphax.txt (like what goomeister said about using Lua for). ClanLib is a crossplatform SDK for handling all the messy stuff like drawing images to the screen, sounds, etc. I'm not really keen on starting a framework holy war, so I'll quiet down about this.

Lord Nword is offline Lord Nword
Warlord
A2 MI USA
Aug 2004
time: 05:22
  Old Post 27-09-2004 07:47
Edit/Delete Message Reply w/Quote
#12 Report this post to a moderator
Support Apolyton, buy Alpha Centauri

I won't be able to help...

But my question is just how much are you aiming to change the game?

Sometimes I think just rewriting the code so that some bugs are fixed and maybe extra features are added (while keeping the look, feel, format the same) would be sufficient.

goomeister is offline goomeister
Settler

Jul 2004
time: 19:22
  Old Post 27-09-2004 12:35
Edit/Delete Message Reply w/Quote
#13 Report this post to a moderator
Support Apolyton or Terrorists Win

quote:
Originally posted by #endgame
The XML resourcefiles are just to be used to record things like "where do I find the image for unit #234234234?" and changeable game constants like in the alphax.txt (like what goomeister said about using Lua for).


Well, yes, Lua can do that. But it can do infinitely more - you can change the fundamentals of the game. Right now, the effects of each SP, facility, unit ability, etc are hard-coded. With a scripting language, you could move all of that into easy-to-modify scripts. If you wanted to change the AI, you could just modify the script, no need to mess with the source code. We could give all the modders out there a lot more freedom to tinker with the game.

quote:
Originally posted by #endgame
ClanLib is a crossplatform SDK


You keep saying that, but let's put it into context: "cross-platform" apparantly means Windows and Linux, with your choice of GCC, VC++, Borland, or MingW. A rather short list - note the omission of Mac and CodeWarrior, which leaves me out on both counts.

Cross-platform support is a quixotic goal, and a poor reason to choose a framework. If you must, use a low-level library like SDL, which has implementations on virtually every platform known to man, and avoids some of the problems of higher-level frameworks.

quote:
Originally posted by Lord Nword
Sometimes I think just rewriting the code so that some bugs are fixed and maybe extra features are added (while keeping the look, feel, format the same) would be sufficient.


Indeed, but since we don't have the source, we have to build everything from scratch, and if we're doing that, we may as well go all the way.

Natalinasmpf is offline Natalinasmpf
Warlord

Sep 2003
time: 13:22
  Old Post 27-09-2004 22:55
Edit/Delete Message Reply w/Quote
#14 Report this post to a moderator
Inflate your Upload Space

Okay, since there are several kinds of proposals and approaches (I am intrigued by Lua), I'm going to have to ask you people again for suggestions....

Also I have never done design documentation before, I don't know how to go about it in format and such.

Ie. by using an existing scripting language, how would I go about integrating it? I read its basically "a small library of functions" - so I just include them, or?

Right now I have a good draft, but its on paper which I thought of during my free time - I don't know how to make it into actual design documentation.

quote:
But my question is just how much are you aiming to change the game?


Actually two things concerned mainly: balance and modability. And thirdly, perhaps better graphics, but thats less of a priority.

#endgame is offline #endgame
Prince
of the town of ZZT
Dec 2003
time: 15:22
  Old Post 28-09-2004 04:48
Edit/Delete Message Reply w/Quote
#15 Report this post to a moderator
Support Apolyton, buy Alpha Centauri

http://cs.anu.edu.au/student/comp2100 - Software construction
http://cs.anu.edu.au/student/comp3110 - Software analysis and design

Just did a quick search of the ANU's computing courses. Perhaps you could get something useful from the lecture notes? I don't actually do the courses... yet.

goomeister is offline goomeister
Settler

Jul 2004
time: 19:22
  Old Post 28-09-2004 10:23
Edit/Delete Message Reply w/Quote
#16 Report this post to a moderator
Avatar Enlargement: We've got the solution

quote:
Originally posted by Natalinasmpf
Ie. by using an existing scripting language, how would I go about integrating it? I read its basically "a small library of functions" - so I just include them, or?


Pretty much. Lua was designed to be integrated into other programs, so it's fairly easy to use. There's a good introduction here.

DilithiumDad is offline DilithiumDad
Prince
Ohio
Aug 1999
time: 00:22
  Old Post 29-09-2004 19:44
Edit/Delete Message Reply w/Quote
#17 Report this post to a moderator
Increase the size of your Attachments

A lot of changes can be made jus through alphax.txt. We should collaboraote on a new version and test it via PBEM before starting a massive re-coding project.

Natalinasmpf is offline Natalinasmpf
Warlord

Sep 2003
time: 13:22
  Old Post 29-09-2004 21:36
Edit/Delete Message Reply w/Quote
#18 Report this post to a moderator
Support Apolyton or Terrorists Win

quote:
A lot of changes can be made jus through alphax.txt. We should collaboraote on a new version and test it via PBEM before starting a massive re-coding project.




That has been proposed before, but its not enough. I am not just satisfied with alphax.txt changes, because they are insufficient. I am targeting balance, a better graphical system (lower priority though), and the mechanics and engine. The SP's , for example. Also, I want to make modability higher. Just changing alphax.txt isn't going to resolve it.

H.Humpel is offline H.Humpel
Warlord
Ottawa, ON
Aug 2004
time: 00:22
  Old Post 03-10-2004 22:40
Edit/Delete Message Reply w/Quote
#19 Report this post to a moderator
Suffering from ads?

Hi there,

well, my programming skills are very very rosted and I won't be any kind of help I guess, but a few general thoughts that came up reading the above:

if you're really putting a lot of work and time in a project like this and getting it up all from scratch, you should do it with a lot of feedback in mind.

Make it as portable (Windows, MacOS, Linux, Unix etc.) as possible and use media data that anyone can read/build (JPG, PNG, mp3, MPG etc.), maybe even the option to use different types at the same time (JPG and PNG etc.).
FreeCiv seems to do a quiet good job, although I haven't taken a really closer look at it. But I still remember playing it long time ago on my AMIGA .

ACAX definitively needs a better Custom Faction handling. Putting all files a the main dir is pretty annoying.
A "finer" way to define the Faction would be nice, too (e.g. Interest in Power: 0 to 100 %, or 0 - 255).

One of the best things in ACAX is the way to be able to customize everything within the TXT-Files, XML might be a good choice too, but I guess that this might be a bit scaring to non-programmers. Maybe XML might be the better choice for the very game basic files (which are changed be most MODs) as an "expansion" seems to be easier to handle.

Setting up anything on MODs is a good idea, too. Take a "standard" mod for the normal version/game, and let other MODs install things in their on dir.
A server somewhere to synchronize these things (no MODs/extensions/Factions with the same name) might be a good idea, too.

Just a few things on general planning (which should all be done before getting code hacked in).

Ari Rahikkala is offline Ari Rahikkala
King
Unreported loss of streaming in atomic read operation
Oct 1999
time: 07:22
  Old Post 04-10-2004 20:30 Visit Ari Rahikkala's homepage!
Edit/Delete Message Reply w/Quote
#20 Report this post to a moderator
Support Apolyton, pre-order Civilization IV

* Ari Rahikkala reads the thread *

... afflicted by NIH a bit here, are we ?

(not to be negative - I'll be following this closely and will try to help if I can...)

Last edited by Ari Rahikkala on 04-10-2004 at 20:51

Googlie is offline Googlie
Emperor
Commanding Officer, CRYPTEIA
Apr 1999
time: 21:22
  Old Post 08-10-2004 06:20 Visit Googlie's homepage!
Edit/Delete Message Reply w/Quote
#21 Report this post to a moderator
Support Apolyton, buy Galactic Civilizations

Talk to Vel and his group at Candle Bre

They started with the idea of writing the definitive nation-building strategy game, avoiding all the bugs and mistakes found in the various Civ/smac/smax interations

They'll have some valuable insights into how to organize such a project as you are contemplating

Cataphract887 is offline Cataphract887
Prince

Donate to the Red Cross
In Your Closet
Apr 2002
time: 00:22
  Old Post 15-11-2004 20:19
Edit/Delete Message Reply w/Quote
#22 Report this post to a moderator
Support Apolyton, buy Call to Power 2

or you could look at Freeciv

a bit primitive still,based on linux,but open source and they already have it started.you could use that for a start

Kaboth is offline Kaboth
Chieftain
Wollongong
Dec 2003
time: 05:22
  Old Post 10-02-2005 08:44
Edit/Delete Message Reply w/Quote
#23 Report this post to a moderator
Suffering from ads?

I'd certainly support this project if it proceeded well. It is certainly possible but you'd have to have a very loyal, organised, dedicated team.

As for contributions I could make; programming isn't a strongpoint but I've beta tested some various projects in the past namely Hereos 3 WOG and would be happy to do likewise for a SMAC 2 project.

  < Last Thread     Next Thread > Post New Thread     Post A Reply
All times are GMT. The time now is 05:22.
Apolyton Time is 00:22.
    top of page
Rate This Thread:
Forum Jump:
Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is ON
vB code is ON
Smilies are ON
[IMG] code is ON
 




Contact Us - Apolyton Civilization Site - Support Us!

Building a better Apolyton through better information. Click here and take our poll!
Non-US visitors, click here!

Powered by: vBulletin Version 2.0.3
Copyright ©2000, 2001, Jelsoft Enterprises Limited.

Page generated in 0.0525 seconds (91.64% PHP - 8.36% MySQL) with 33 queries
Page Loading Time:

Support Apolyton: Amazon USA | Amazon UK | Amazon DE | Amazon FR |
Support Apolyton and get FREE PLUS, Buy from Chips&Bits: Galactic Civilizations | Galactic Civilizations: Deluxe Edition | Call to Power 2 | Civilization: The Boardgame | GURPS/ Alpha Centauri | Alpha Centauri | Civilization IV | Civilization III: Complete |


Front Page | Civilization IV | Civilization III | Civilization II | Call to Power II | Alpha Centauri | Master of Orion III
Rise of Nations | Galactic Civilizations | Galactic Civilizations II | Misc
Alt.Civs | Civ I | C:CtP I | About | News | Directory | Apolyton Store | Forums | Chat | Columns | Interviews | Newsletter
Scenario League | CSC | Clash of Civs | Spanish Site | CtP Maps | Cradle of Civ | WesW's Ctp1/2 Site | Civ3 Haven

apolyton.net | apolyton.com | civilization2.net | civilization3.net | civilization4.net | civilizationiv.info | calltopower.net | galciv.net | galciv2.net | moo3.net