Alpha Centauri 2

Sid Meier's Alpha Centauri & Alien Crossfire => Modding => Topic started by: Domin on December 14, 2013, 04:38:50 PM

Title: opensmac
Post by: Domin on December 14, 2013, 04:38:50 PM
I started open source clone of smac/smax. The source is ugly and available on github.

(http://kofeina.net/~domin/opensmac1.png)
Title: Re: opensmac
Post by: Mart on December 14, 2013, 07:21:47 PM
Hi Domin,
Would you tell more about the project? What programming language and what kind of graphics library are you using? 
You seem to have map drawing already done?
Title: Re: opensmac
Post by: Domin on December 15, 2013, 03:21:45 PM
Hi Domin,
Would you tell more about the project? What programming language and what kind of graphics library are you using? 
You seem to have map drawing already done?
Hi,
Yes. Thanks. I didn't really know how to start. I'm trying something different; normally I'd keep rather quiet.
It's in Python/Pygame.

It's early stage. Drawing map lacks pretty features like shorelines but works. I'm doing base functionality now. The bases gather resources, grow, drones and talents are calculated. I'm working on production now. Its possible to change which squares are worked. There are no units yet.
Title: Re: opensmac
Post by: ariete on December 15, 2013, 04:16:48 PM
really impressive, if you can to make right features like shorelines i think it can be a cool clone of the game
Title: Re: opensmac
Post by: Kataphraktoi on December 15, 2013, 04:44:01 PM
Very cool
Title: Re: opensmac
Post by: Domin on December 15, 2013, 08:05:58 PM
really impressive, if you can to make right features like shorelines i think it can be a cool clone of the game

The shorelines are pretty much low priority now - most of the game is not there yet. Working on game mechanics is the thing to do.
Title: Re: opensmac
Post by: Kilkakon on December 16, 2013, 01:45:26 AM
Let us know how you go. :D While AC2 is not as active as it has been for a few months (a few people have been sick) there has often been many people wanting to see SMAX remade.
Title: Re: opensmac
Post by: Mart on December 16, 2013, 09:34:56 AM
For such project, in order for it to be successful, some general program scheme/design would be necessary. It would say how the application is supposed to work, what kind of features it is going to have, etc. Then it should be fixed and not changed. And this is work for non-programmers in large part. This is what I have heard from people with experience.

Python and Pygame seem to be very appropriate tools to do it.
Title: Re: opensmac
Post by: Domin on December 16, 2013, 03:10:12 PM
For such project, in order for it to be successful, some general program scheme/design would be necessary. It would say how the application is supposed to work, what kind of features it is going to have, etc. Then it should be fixed and not changed. And this is work for non-programmers in large part. This is what I have heard from people with experience.

Python and Pygame seem to be very appropriate tools to do it.

Well, it's mostly known how it's supposed to work. But there are many unknowns and there are unknown unknowns. Working alone I don't need big upfront design to coordinate effort and while I dream of it, I don't expect second developer any time soon :/  I've chosen to write code and then refactor and rewrite as needed. Python is good for that. Of course I do some big picture thinking, but not as much to produce any documents. I suppose getting something working is a best thing to do to attract some help.

The big milestone I can think of is multiplayer playability. The ai is obviously a big thing and I leave it for unspecified future for now.

Title: Re: opensmac
Post by: ete on December 16, 2013, 07:14:28 PM
Very interesting! If you're able to get a clone working (especially with working multiplayer, and maybe too optimistically with the simultaneous turn dynamics the original has) that would be pretty amazing. Could you link to the github repository, maybe from the OP?

One thought I'd like to put out there for when you get to AI: Perhaps build the AI as a module which is somewhat exposed to the user, effectively a relatively easily editable script. This would allow users to quickly test tweaks to solve AI stupidity that they encounter, and make AI competitions fun. Have actions that could be taken by AI (including various cheating options) and information that could be gathered by the AI as built in functions, and a basic example AI which does the very basics mostly as an example (probably cheating even more than the official one to stand), then encourage people to tweak and improve, and share their advances.

I feel like having the AI's reasoning be open and adaptable (in a "there is a menu option called Edit AI script" way, not a "Get git set up, download the source code, make changes, reload program" way) would attract people who would be both great for the project and likely to have loved SMAC/X in the past. The game seems like a fun challenge for AI designers, because there's fairly simply structured information and input/output, but enormous complexity and possible advanced strategy in various directions many of which could be improved incrementally by a semi-technical user with good game knowledge if the scripting had good examples (terraforming, unit design, army vs development, research paths, diplomacy, etc). I'd especially love to see different AI's battling each other, and the ability to script your own governors for bases so they make sane choices reducing micromanagement lategame.

@Mart: I think you're thinking of new game design? Cloning a game is quite different, you pretty much just need programmer power for it.
Title: Re: opensmac
Post by: Mart on December 16, 2013, 07:43:18 PM
That's true, it pertains mostly to creation of a new game, but also when cloning sometning like SMAC, it is large application and having something like a described block scheme of it would help.
Title: Re: opensmac
Post by: ete on December 17, 2013, 03:48:40 AM
That would help, and perhaps be advisable to think about a fair amount early on to reduce later need for restructuring, but again that's something a programmer (or at least someone with a good understanding of programming) is going to be needed for, unlike a normal game's design phase where you want designers primarily.

Edit: hm, found the github, it looks like you're not including SMAX elements? Is that a later plan (build basic game, add extras), or are you not keen on SMAX? I'd encourage you to aim for the full game, there's a fair amount of added depth to gameplay from the assorted extra features (more native diversity, techs, factions, facilities, SPs, etc), which has lead to most of the users here treating SMAX as standard.
Title: Re: opensmac
Post by: Kataphraktoi on December 17, 2013, 02:44:51 PM
Im one of the guys that see crossfire as an empty addon adding little substantive content. The factions in particularly are poorly design and some flavor elements like opening video have been compromised. Tech\SP blurbs dont seem to be make as much sense
Title: Re: opensmac
Post by: Geo on December 17, 2013, 04:07:13 PM
Tech\SP blurbs dont seem to be make as much sense

Some of the facility blurbs though... :D
I especially like Svensgaards' ones.
Title: Re: opensmac
Post by: ete on December 17, 2013, 05:55:40 PM
Somewhat sidetracky, but briefly the way I see SMAC/X:
SMAX does not add a huge amount, but it does add diversity in a few important places.

It adds seven factions, meaning you can have big games without running into the same factions every time, and even if they've taken a lot of flack for being poorly designed (something which is not /entirely/ unjustified in some respects, but also exaggerated and problems caused by flawed execution of flavor rather than actually bad philosophical basis), they are fairly well balanced and allow you to mix up the game a whole lot more which adds significant replay value.

Various aspects of sea colonisation were improved: Bonus resource facilities, marine detachment, ability for factions to start at sea. Not a huge detail, but opens up a new set of possibilities.

Native life made more annoying, which to me is good. Planet sending spore launchers to tear up your terraforming adds to the feel of the Planet Rising thing, and imo fungal towers make exploration much more interesting a trade off in many cases, for longer than it otherwise is, while adding diversity to the landscape.

Basically, X was not a revolution, they were pretty conservative, they screwed up in a few places (imo: intro as you point out is flat out worse, characterization of certain leaders is questionable (partly due to having much fewer available blurbs, partly just mistakes), missing the chance for tech tree balancing), but on the whole SMAX is almost entirely an upgrade of SMAC, even if it is not as much of an upgrade or as well executed upgrade as we'd want ideally, and the main changes are easy to disable by simply picking original factions. I'd personally be less happy to revert to an unupgraded game, and guess a fair number of potential players would end up weighing advantages of X's additions against whatever bonuses opensmac comes up with due to having source code access to do cool things.
Title: Re: opensmac
Post by: Domin on December 22, 2013, 01:28:52 AM

Very interesting! If you're able to get a clone working (especially with working multiplayer, and maybe too optimistically with the simultaneous turn dynamics the original has) that would be pretty amazing. Could you link to the github repository, maybe from the OP?

One thought I'd like to put out there for when you get to AI: Perhaps build the AI as a module which is somewhat exposed to the user, effectively a relatively easily editable script. This would allow users to quickly test tweaks to solve AI stupidity that they encounter, and make AI competitions fun. Have actions that could be taken by AI (including various cheating options) and information that could be gathered by the AI as built in functions, and a basic example AI which does the very basics mostly as an example (probably cheating even more than the official one to stand), then encourage people to tweak and improve, and share their advances.

I feel like having the AI's reasoning be open and adaptable (in a "there is a menu option called Edit AI script" way, not a "Get git set up, download the source code, make changes, reload program" way) would attract people who would be both great for the project and likely to have loved SMAC/X in the past. The game seems like a fun challenge for AI designers, because there's fairly simply structured information and input/output, but enormous complexity and possible advanced strategy in various directions many of which could be improved incrementally by a semi-technical user with good game knowledge if the scripting had good examples (terraforming, unit design, army vs development, research paths, diplomacy, etc). I'd especially love to see different AI's battling each other, and the ability to script your own governors for bases so they make sane choices reducing micromanagement lategame.

@Mart: I think you're thinking of new game design? Cloning a game is quite different, you pretty much just need programmer power for it.

I would certainly like to support pluggable ai modules/scripts. However I think I have not implemented enough of functionality to get good picture of what would the script/ai api look like.
And there is the problem of fog of war to which I don't have solution yet. The idea of script-assisted human gameplay has haunted me for years so I clearly see that there can be overlap between automation done on behalf of human player and ai in narrow sense of fully ai player.

That would help, and perhaps be advisable to think about a fair amount early on to reduce later need for restructuring, but again that's something a programmer (or at least someone with a good understanding of programming) is going to be needed for, unlike a normal game's design phase where you want designers primarily.

Edit: hm, found the github, it looks like you're not including SMAX elements? Is that a later plan (build basic game, add extras), or are you not keen on SMAX? I'd encourage you to aim for the full game, there's a fair amount of added depth to gameplay from the assorted extra features (more native diversity, techs, factions, facilities, SPs, etc), which has lead to most of the users here treating SMAX as standard.

At the time you looked at the source there was nothing specifically smax because I did not get there yet. Personally I don't have a strong opinion on smac/smax issue but have chosen to include smax stuff from the start. As there will be no ai for some time, I suppose the natural things to leave out at first are these which are so far in the tech tree that they rarely appear in multiplayer games. And alien factions - they are mostly useless, especially in this case.
Title: Re: opensmac
Post by: ete on December 22, 2013, 03:22:05 PM
I would certainly like to support pluggable ai modules/scripts. However I think I have not implemented enough of functionality to get good picture of what would the script/ai api look like.
And there is the problem of fog of war to which I don't have solution yet. The idea of script-assisted human gameplay has haunted me for years so I clearly see that there can be overlap between automation done on behalf of human player and ai in narrow sense of fully ai player.
Cool that you're interested in the script assisted human play thing, and yep, makes sense to not start on that side until you've got a good idea of the foundation of the rest of the game, though worth keeping it in mind while building it up.

At the time you looked at the source there was nothing specifically smax because I did not get there yet. Personally I don't have a strong opinion on smac/smax issue but have chosen to include smax stuff from the start. As there will be no ai for some time, I suppose the natural things to leave out at first are these which are so far in the tech tree that they rarely appear in multiplayer games. And alien factions - they are mostly useless, especially in this case.
Okay, I imagine people who would want pure SMAC could easily enough remove most features with alphax if they wanted. And yea, leaving unused lategame stuff as low priority makes sense.
Title: Re: opensmac
Post by: Mart on December 23, 2013, 07:38:01 AM
A thought, when making a game clone - can this be made without faction number limit? I mean, you could start a game having 12 or 14 factions in it.
Title: Re: opensmac
Post by: Kilkakon on December 23, 2013, 07:44:44 AM
That would be pretty huge :O
Title: Re: opensmac
Post by: Domin on December 23, 2013, 08:54:11 PM
A thought, when making a game clone - can this be made without faction number limit? I mean, you could start a game having 12 or 14 factions in it.

There is no technical problem with that.
Title: Re: opensmac
Post by: ete on December 29, 2013, 06:25:12 AM
That'd be a major selling point for the clone, especially if it (as it looked from my glance at the code) you're loading from the original format text files and can load a bunch of custom factions alongside official to spice up a game.
Title: Re: opensmac
Post by: Ford_Prefect on February 12, 2014, 03:34:04 AM
Are you still working on this project? 
Title: Re: opensmac
Post by: Domin on March 03, 2014, 04:05:27 PM
I haven't done much lately as my life got in the way.
I do intend to continue the project.

I'm happy to see quite some progress on cvr files, I thought they would be a stumbling block.
Title: Re: opensmac
Post by: Ford_Prefect on March 04, 2014, 03:02:00 AM
Haha yeah.  I was thinking of making a SMAC clone myself, then I found your project.  :D  I realized no one had figured out how to read or edit CVR files... which meant that such a project would have to recreate the units from scratch.   I suck at modeling and so I thought it would be worth a shot at trying to figure out how the CVR files worked. 

I'm honestly wondering if it would of taken less time to recreate the assets.  :D  But its been fun figuring it out.  (except for the normals)
Title: Re: opensmac
Post by: Domin on July 18, 2014, 03:57:20 PM
I'd just like to let you know that I resumed work on the project.
Title: Re: opensmac
Post by: Impaler on July 19, 2014, 12:09:59 AM
As long as your back now looks like a good time to mention that I grabbed a clone of your work so far but found that their was some kind of Python incompatibility with your version of pickle and possibly the version of Python your using too (I'm using 3.3).

If you can get this cleared up I may be able to contribute a bit, I've worked with Python and pygames before.
Title: Re: opensmac
Post by: Domin on July 19, 2014, 05:04:12 PM
I'm using python 2.7 and that's the reason behind the problem with pickle. I've checked it - in python 2 you manually choose between pickle and cPickle (the fast C implementation) whereas in python 3 you just use pickle and it automatically uses fast version if possible falling back to python implementation. But that's just that one issue. Frankly I've never used python 3 and I'm not aware of further differences apart from the 'print' statement/function thing.

Edit: I've checked and pygame supports python 3 only in development version - there are no standard packages available across platforms.
Title: Re: opensmac
Post by: Ford_Prefect on July 20, 2014, 03:15:29 AM
The cvr work I did was a partial waste.  Can't export the game models.  I did make it possible to "paint" the models with different colors. 

I think that it would be quicker to create the units from scratch.

If you are interested, here are the links to stuff on the caviar format
http://alphacentauri2.info/index.php?topic=7866 (http://alphacentauri2.info/index.php?topic=7866) Forum thread for the editor.
https://github.com/uaEquals42/CVR-Colorizer (https://github.com/uaEquals42/CVR-Colorizer)  Code for messing with CVR files.  Written in python 3
http://alphacentauri2.info/wiki/Caviar (http://alphacentauri2.info/wiki/Caviar)  Everything I've figured out about the caviar format.
Title: Re: opensmac
Post by: Domin on July 20, 2014, 10:16:22 PM
Are there mayor problems that prevent rendering models from crv files? I know about the normals which obviously makes rendered graphics flat and ugly.

What about relative positions of parts of multipart models? I've noticed that Colorizer displays them separately.
Title: Re: opensmac
Post by: Yitzi on July 21, 2014, 03:11:54 AM
Haha yeah.  I was thinking of making a SMAC clone myself, then I found your project.  :D  I realized no one had figured out how to read or edit CVR files... which meant that such a project would have to recreate the units from scratch.   I suck at modeling and so I thought it would be worth a shot at trying to figure out how the CVR files worked. 

I'm honestly wondering if it would of taken less time to recreate the assets.  :D  But its been fun figuring it out.  (except for the normals)

I'd advise against figuring out how the existing files work when making a SMAC clone; most of the arguments for why it's ok to reverse-engineer SMAC for these sorts of projects relies on the fact that it's being used to enhance SMAC rather than compete with it; if you use it for a SMAC clone, I think you're on much more problematic legal ground.  (This is why I can't provide much help with opensmac, though if it gets going I'd be happy to help include an equivalent to my patch, and any other changes that aren't in the original.)
Title: Re: opensmac
Post by: Ford_Prefect on July 21, 2014, 02:10:57 PM
Thank you for your concern.

The cvr format (which I can't use since I couldn't figure out allot of important bits) wasn't figured out via decompiling. Since I didn't decompile the caviar viewer, its legal for me to write the code for the interpreter .  If you or someone else figured out the missing bits by decompiling SMAC or the Caviar viewer.  To be legal you would have to write a specification and someone else (probably me) would have to write the code (using only the specification).

It is legal if you make a game engine that can use the old games art/dialog assets.  You just can't include those assets when distributing the game (the person would have to own a copy of the original game to play).  Commander Genius (http://clonekeenplus.sourceforge.net/news/), ScummVM, CorsixTH (https://github.com/CorsixTH/CorsixTH) and OpenMW (https://openmw.org/en/) all do that. 

As long as you don't look at the source code, or distribute the assets (art/dialog/sound/etc), you're legal.

Title: Re: opensmac
Post by: Domin on July 21, 2014, 02:54:02 PM

I'd advise against figuring out how the existing files work when making a SMAC clone; most of the arguments for why it's ok to reverse-engineer SMAC for these sorts of projects relies on the fact that it's being used to enhance SMAC rather than compete with it; if you use it for a SMAC clone, I think you're on much more problematic legal ground.  (This is why I can't provide much help with opensmac, though if it gets going I'd be happy to help include an equivalent to my patch, and any other changes that aren't in the original.)


You already provided help but I suppose you meant contributing code. http://en.wikipedia.org/wiki/Clean_room_design (http://en.wikipedia.org/wiki/Clean_room_design)
Title: Re: opensmac
Post by: DrazharLn on November 03, 2014, 03:10:04 PM
Domin, Ford_Prefect,

This project is interesting to me. Are you still working on it, Domin? I'll try to have a look at the code over the next week or so and see whether it's something I'd be interested in and able to contribute to.

If I am interested, would you be interested in chatting somewhere about your roadmap for the project and how you would like to manage it?

As for implementing the game logic, I think it would be wise to use GooglyBoogly's datalinks upgrade as a specification for how the game is expected to work and to consult with the community (especially Yitzi, Kyrub and scient (RIP) given their experience) over anything unclear or questionable.
Title: Re: opensmac
Post by: Ford_Prefect on November 03, 2014, 03:40:36 PM
Ok.  I'm gonna have to unofficially announce something.

I've been working on a SMAC clone in secret using Java instead of python. (Sorry Domain   :( )

The reason I haven't worked on OpenSMAC is because I really dislike programing in python.  (Typeless variables are evil  :mad: .. they make debbuging painful.)

Currently I'm still working on loading in all the rules/techs/units/factions/etc from the config files.  As for mod-ability, everything is being designed to be stored in xml files.  I'm currently up to 66KiB worth of code + 13KiB worth of unit tests.

I'll start asking for help once the game framework is built and the code is cleaned up.

So DrazharLn, Domain.  If you guys only know python, then we can help each other by sharing formulas for game-play and by sharing some file formats (python and Java have functions for reading/writing xml, we could standardize on a format so that they will be inter-operable) and by making multi-player work together.  If you know Java, and if I get my project off the ground   ;) (currently its just reading in lots of text and storing it into variables  ::) ) then maybe you could help me with my project (JAC).

Title: Re: opensmac
Post by: DrazharLn on November 03, 2014, 04:05:12 PM
Personally, I think you've both missed a trick in the naming of your projects. I'd have been going for some play on the name of the old engine (JACKAL) :)

Though I suppose JAC might be such.

I know Java as well, though I prefer python (but then, I prefer python 3 to 2 as well). I might be willing to contribute to JAC. It depends on the state of your codebase, your objectives for the project, how the project will be managed, owned and licensed (just like this opensmac project).

Current thoughts are:
+Unit tests!
+Sharing effort
+Collaboration
-Java
-xml (json is more human readable and editable)
-Loads of code to read and grok already

It would be very silly to split effort on an engine remake a third time without good reason, anyway.

(Point of order, variables in Python are not typeless or even weakly typed. They are implicitly strongly typed.)
Title: Re: opensmac
Post by: Ford_Prefect on November 03, 2014, 04:44:09 PM
Quote
-xml (json is more human readable and editable)
* The problem is json would require me to manually write a loader and a saver for every variable.  (More work)
* With xml, this process is automated for me quite a bit.

Quote
+Unit tests!
* Are amazing.  :D
* I still need to get logging in place though...  :(  (Why couldn't the logging api be as simple as the one in python!  Why!?!   :( )

Quote
-Java
* I'm familiar with it and it works on linux (which I use).
* I thought about C#, but they are still working on getting the XNA development setup for linux.


Quote
-Loads of code to read and grok already
* Almost all of the code so far is just for reading in variables from all the config files.  Allot of it is Integer.parseInt(line[2].trim()) and other functions for converting sections of text into int, booleans, etc.   Aka... allot of stuff that won't need to be looked at after its written.  (I don't even need to worry about optimizing it since it will only run once)
* Thats why I plan to ask for help with the code after I've cleaned it up and commented every function I've written.

Quote
(Point of order, variables in Python are not typeless or even weakly typed. They are implicitly strongly typed.)

What I mean is a person could do this.
speed = 6
speed = "Fast"
speed = [1,2,3,4,5]
and the code won't throw any errors until you hit some code that expects a int but gets a string.  Whats worse is that it could be quite a ways back since several functions work with all three types of input. 

Also since you don't declare new variables.  Then you can accidentally re-use a variable when you meant to have a new variable. 

In Java doing this would throw an error.
int i = 16;
i+=1;
int i = 0;
While in python, you wouldn't realize you are accidentally re-using a variable.

Python makes it allot easier for the programmer to make mistakes. 
Title: Re: opensmac
Post by: DrazharLn on November 03, 2014, 05:24:59 PM
I don't see why json would require manual loaders and savers. Is it a case of library support for xml vs json? There are libraries for parsing JSON in java (though maybe not in the stdlib).

The -Java isn't because I think Java is a fundamentally bad language. I just prefer writing in other stuff. I would really rather not work in C#, though, so I'm glad you didn't pick that.

Quote
* Almost all of the code so far is just for reading in variables from all the config files.  Allot of it is Integer.parseInt(line[2].trim()) and other functions for converting sections of text into int, booleans, etc.   Aka... allot of stuff that won't need to be looked at after its written.  (I don't even need to worry about optimizing it since it will only run once)
* Thats why I plan to ask for help with the code after I've cleaned it up and commented every function I've written.

That's reassuring. Good documentation, at least at module level (this module aims to do x. This is useful because y. We make assumptions z.) and a decent explanation of how the modules are supposed to fit together would be essential if I'm to help. You don't need to spell everything out, but the broad picture is very important (though it can be related through chat if you're not so keen on writing more wordy documentation).

Quote
Python stuff

Python does allow you to assign a name to different objects freely. I don't find that to be a problem or a significant source of errors in my code (I can't remember the last time it happened).

I do appreciate the value of explicit declarations and typing, though, and I have occasionally worked in very formal languages (like coq, a proof-writing language) out of an appreciation of those features.

My main remembered gripes with java is having to write so much boilerplate, a lack of multiple inheritance, overly long standard library names for common things (System.out.println every time I wanted to print, for example) and generally how much longer it took to do anything.

It's not so bad, though. And it's really quite fast.
Title: Re: opensmac
Post by: Sompom on November 03, 2014, 05:41:20 PM
I've been working on a SMAC clone in secret using Java instead of python. (Sorry Domain   :( )

Heh. I just found this thread (like, *just*. Right now.) and my first thought was probably exactly yours. "I wish this were in Java. I hate writing Python!"

If you do end up continuing with this project, I would love to help. I have decent experience with Java, though not much else (xml, JSON, cvr). However, I'm always willing to learn!

The only thing cooler than a SMAC clone would be a SMAC clone that runs on mobile... Which is another cool thing about Google/Android having embraced Java. Provided the back-end is properly written, the front end is a straight replacement!
Title: Re: opensmac
Post by: sisko on November 03, 2014, 05:44:37 PM
Needless to say you will have full support from the AC2 team if you engage in such project..

Should i start a new board for you? :)
Title: Re: opensmac
Post by: Buster's Uncle on November 03, 2014, 05:50:00 PM
What he said. ;nod  If anything's needed to be altered/reformatted on the art side, I'm your guy.
Title: Re: opensmac
Post by: Ford_Prefect on November 03, 2014, 06:14:25 PM
I don't see why json would require manual loaders and savers. Is it a case of library support for xml vs json? There are libraries for parsing JSON in java (though maybe not in the stdlib).

Opps.  My bad.  I just looked it up and the library I'm using can output json files as well.
Title: Re: opensmac
Post by: DrazharLn on November 03, 2014, 08:45:54 PM
@sisko, BUncle

Thanks for your support! I doubt there needs to be a new board for this. A couple of threads will probably be fine combined with IM/IRC discussions and github pull requests (which are better suited for discussion of code).

@Ford,

How about the project management and ownership stuff I asked about?

@Sompom,

A mobile version of the SMAC engine would be something. A reasonable amount of work would have to go into redesigning the UI.
Title: Re: opensmac
Post by: Ford_Prefect on November 03, 2014, 09:01:15 PM
Needless to say you will have full support from the AC2 team if you engage in such project..

Should i start a new board for you? :)

No.  Not until I get something that actually works.  Until then, I'll post in the modding forum.

Side note:
GAAAahhhhhh some many variables to load! And then I'm gonna have to get them to save as an xml and then load that.    Gaaaahhhhh! 

Side Side note:
Probably shouldn't talk about JAC on the OpenSMAC thread.   ::)  It's a little off topic.
Title: Re: opensmac
Post by: Ford_Prefect on November 03, 2014, 09:20:51 PM
How about the project management and ownership stuff I asked about?


I'm going to use github.  I'm not sure what license I should pick.

Also I created a new thread.  http://alphacentauri2.info/index.php?topic=13276.0
Title: Re: opensmac
Post by: DrazharLn on November 03, 2014, 11:24:22 PM
@Domin,

To return to the topic of OpenSMAC, what have you managed to get working so far?

I've had a quick browse through your code, but it's late here and you don't have much inline documentation at all.

If you're available sometime to chat interactively about the code and how I might contribute to the project if I joined, then I'd appreciate it. IRC, teamspeak or mumble are convenient for me.
Title: Re: opensmac
Post by: Flux on November 10, 2014, 01:38:33 AM
Is this still in development?
Now that we have JAC being worked on it would be cool to have AC ports into 2 different languages.
Maybe "port" is not the right word?
I wonder which one will be finished first.

-Flux
Title: Re: opensmac
Post by: PlotinusRedux on November 12, 2014, 06:13:58 AM
@Ford--agreed, Java > Python.  But C++ > Java (and Object Pascal > C++, but I've accepted Object Pascal is dead).

When I destroy an object, I want it destroyed, not sitting around stinking up the joint waiting for some lazy garbage collector to eventually pick it up.

But more to the point, I haven't seen any Java games that didn't feel clunky in Windows.  A smooth gaming experience in Windows just requires system specific API's like DirectX, and for better or worse most users still have Windows--and while you can call DirectX from Java in theory, that would kind of negate the whole point of platform independence....

If I was rewriting SMAC, for the graphics part I'd use a wireframe of the map in DirectX with shadowing and tessellation to really make the terrain pop.  In theory you can do all that in Java, but I can't think of an instance where I've see it really done well.

Of course, I'll gladly play a SMAC rewrite whatever language it was written in....
Templates: 1: Printpage (default).
Sub templates: 4: init, print_above, main, print_below.
Language files: 4: index+Modifications.english (default), TopicRating/.english (default), PortaMx/PortaMx.english (default), OharaYTEmbed.english (default).
Style sheets: 0: .
Files included: 31 - 840KB. (show)
Queries used: 17.

[Show Queries]