The Crystalien Redux Project - DarkGrievous7145 - 10-08-2015
Been meaning to get a thread out here about this for a while.
Expect it to be added to fairly frequently, I have a LOT of material to cover.
Crystalien Redux (Overview/History):
The Crystalien Redux Project was started in 2010 by Mars Mission Wiki member, Leveleditor6680. It started out as a program referred to as "MMMM" , or "Mars Mission Map Maker", to create maps for the popular LEGO Flash RTS, Crystalien Conflict. In 2011, the original developer somehow stumped upon this project, and commented as an anonymous user that he had in fact, created the game. The first reply from leveleditor was somewhat doubtful of this, but followup emails verified these claims. He also next replied to this thread as registered user, "299792458". He later would be nicknamed "Lightspeed", because it is easier to type and remember. This is the point the term "crystalien redux" first came to exist, and that our first slogan was written, "Tools to add new Levels to Crystalien Conflict". At some point in the future, MMMM was re-named to "CAMM", or Crystal Alien Map Maker. In the years that follow, Leveleditor would suffer a hard drive crash and massive data loss, thus forcing a very near complete re-write of CAMM... and even later, propositions of a "flash wrapper" would be made, to hack the game's functions at run time, instead of a direct modification to the game.swf, as the game would need some sort of modification in order to read CAMM's maps. Later still, I joined the Crystalien Redux team, and things started to get REALLY interesting from there. A few years ago, the Flash wrapper was started, created and maintained by Leveleditor, with me helping a little bit. Most recently, Leveleditor and I have been working on using aforementioned wrapper for bug-fixing, and trying to get CAC finally to a point where reading the CAMM maps is possible. I also have taken it upon myself to work towards the addition of custom units and buildings. (and a few other random features) So far, I have most of my general concept of how to execute this in order, but the code and utilities are not yet in place to handle it. I also have proposed, and this was subsequently agreed on, to change the slogan to "Tools to add new content to Crystalien Conflict" , because the overall scope of this project has become a lot more than just adding new maps. The end goal is now to have a very mod-friendly game, and I, in particular, wish to copy some gameplay features from classic RTS games like Total Annihilation. Multiplayer is also a very frequently requested feature, but it's very unlikely to happen any time soon, and possibly, at all...
The Team:
Leveleditor6680:
The leader of the project, also our main programmer. He maintains CAMM, the Flash Wrapper, and the project's website, http://crystalien-redux.com , he also moderates the project's various pages and threads on the wiki.
myself (on MMW known as, ETXAlienRobot201, ETX, or Brian (e.g. , my real name)):
I maintain the Unit Editor, help with CAMM and the flash wrapper, work Lightspeed within what's reasonable boundries, do graphics design stuff, conceptualize code snippets and text file formats, analyze CAC's source code for places to insert a hack, I also am working on a re-skin for the website styles, and I also am trying to work on adding some actual information pages about our project because there's a lot more on the wiki than our own project site at present. I am the newest member of the team. My programming skills also are not great, and I often end-up asking Leveleditor and Lightspeed for either help or reviews on my code. (and sometimes for entire applications to be crafted!)
Lightspeed:
More or less, he's on standby, he has no official role in this project, besides supplying Leveleditor and I with code, information, or assets as necessary. More than anything, I guess he's an industry insider. Even so, the help he can give us is usually greatly beneficial in advancing something to do with the project as a whole. It is also him who has created some of the basic camm map file format specs, and also coined the term "Crystalien Redux". Leveleditor and I contact him via email, and know a little bit about who he really is, but this information is confidential. (And there's a lot he doesn't tell us, or provides cryptic replies when we ask)
CAMM:
The original part of the project, a map editor for Crystalien Conflict, re-named from "MMMM" at some point, and maintained almost entirely by Leveleditor, the team leader, with me occassionally helping with beta-testing , graphics preparations, and one or two feature/file formats specs. It is programmed in VB.NET . 1:1 mapping between this application and CAC doesn't yet exist because CAC has some very weird Flash ActrionScript 2 hacks, namely with building placement. All attempts to either patch these out, or add them to CAMM have so far failed pretty badly... The only available releases at this point are source code. Only developers and beta testers are given copies of the compiled application at present, because CAMM is officially, not ready for release. It's getting there, though. In the past, there were compiled releases, but there were also some issues with impatient users not being able to use features not even implemented at the time.
CAC Unit Editor:
Maintained by me, and first conceived by MMW moderator, DracoSupreme, the CAC Unit Editor is a program for editing the stats of units. It currently saves .as source code files structured the same way already present in CAC. It is programmed in html and JavaScript. There are still a few bugs, and a lot of features unaccounted for. Aside from the color scheme and some organization of the input fields, I have followed the original concept for this application almost exactly. After this is completely done, I will create a shameless clone for doing the same with buildings.
Flash Wrapper:
The Flash Wrapper is a .swf wrapper that loads external .swf's (including a modified copy of the original loader, due to some problems we experienced) at run-time. Since the redux team is bound by agreement to not release a directly modified version of the game, we use function-hooking to insert our hacks, fixes, and mods. For the most part, it has worked excellently. This is maintained primarily by Leveleditor, with me contributing code and ideas fairly often. I also have created some interface concepts, but so far most of them have not been implemented for assorted reasons. The current public release has quite a few bugfixes, a few new features, and an old (and fairly challenging) level I discovered has been brought back from the grave.
Tiler.php (OLD map editor):
The original map editor for CAC, exports the map as an ascii string. It is extremely non-user friendly. All online copies of this have been either deleted, or remain with a password to access them. It was created by Lightspeed when he initially created CAC. It has since been released to the public, and since it's web-based, it works rather easily on non-Windows systems. Users would be encouraged to use CAMM before they even touch this little utility, as CAMM has surpassed it in functionality and user convenience time and time again.
CAC (Crystalien Conflict):
Crystalien Conflict is a flash-based RTS commissioned by LEGO, and developed by 4t2 Multimedia, namely, Lightspeed, in 2007. Nearly EVERYTHING that The Redux team does is somehow related to this game, with a few exceptions. The game is comprised of three files, a loader.swf, a game.swf, and at any one time, one of several dialogue.xml files, in various languages from around the world. (The most common one probably being EN_US, For "English, US") CAC is programmed entirely in Flash ActionScript 2, and is full of hacks. It has been updated on numerous occasions, but the most notable updates occurred in Late 2007, and sometime in Early 2008, with the addition of the Alien campaigns, and Special Ops campaigns, respectively. More recently, in 2015, the Redux team has created few unofficial patches, implemented via our Flash Wrapper.
Description, originally copied from Brickipedia to MMW, iirc...:
CrystAlien Conflict was immensely popular, and was considered to be one of, if not the greatest LEGO online game of all time. It is a one-player strategy game where you play as either the Astros (Astronauts) or the Aliens in a quest for domination of Mars and the supply of Energy Crystals. Each faction has 9 levels to play, and a 10th "Conflict" level. Seven "secret" bonus levels may also be unlocked using cheat codes. In the Hive Edition of the game, new levels called "Special Ops" were introduced (3 for the Astros, 1 for the Aliens). Every level opens with an animation that explains the story of that level.
LEGO has, on four separate occasions, deleted files or pages related to CAC, and this has hurt its fan base significantly, as very few of them even know it's still around... just not on LEGO's website. The exact dates have since been forgotten, but in this order, LEGO pulled the plug: marsmission.lego.com , CAC's page, CAC's game files, and lastly... CAC's high score table. Since then, it's been falsely perceived the game is dead, a fact that saddens me greatly. Any time I see a comment on youtube mouring the loss of this game, I try to spread the word this game isn't dead just yet. That said, an extended goal of CAC Redux is to re-vitalize the fanbase, and maybe someday bring our beloved advertgame back to the top of the charts! (That second one probably won't happen, though)
It's more or less considered at this point the Redux team has inherited CAC from Lightspeed, and we shall do our best to take care of her, and maybe develop her into something so much better than when LEGO was making decisions about her fate. But, there is only so much we can do with just our three members and very limited time.
more updates (and all relevant url's) later...
BIG re-format in progress...
RE: The Crystalien Redux Project - DarkGrievous7145 - 10-09-2015
minor update for now, but the http 403 error is fixed, it was an unexpected side effect of an intentional move to keep some sensitive source files secured, apparently...
http://crystalien-redux.com/uploads/ETX/Util/src/
RE: The Crystalien Redux Project - DarkGrievous7145 - 10-12-2015
Well, I made a lot of major format/organization changes/improvements the other day
Still gotta add all the links, though...
It would also be nice to have some feedback for this, and help is always welcome ,as well!
RE: The Crystalien Redux Project - DarkGrievous7145 - 11-30-2015
I am late to report about this for assorted reasons, but in the process of trying to update the INI parser I'm planning to use for parsing the map files, and later, the stats, I've broken the whole thing, and haven't the slightest clue how to fix it.
On a more positive note, however, I've recovered some of my development resources so I can continue work on some difficulty settings, and a new stat/cheat I was working on adding up until my desktop kept over-heating randomly.
RE: The Crystalien Redux Project - DarkGrievous7145 - 03-19-2016
The INI parser has been fixed for a while, as mentioned in one of my posts elsewhere.
I have just spent two days out of this week doing some major updates to the CAC Unit Editor
It's not 100% there, but it's basically complete.
I was even able to add tabs fairly easy thanks to a suggestion from the game's developer to use Bootstrap.
So, I've spent all day re-working the UI significantly, and making the stat inputs be generated dynamically from the stat database. (which is still hard-coded...)
For the time being, it is still here:
http://crystalien-redux.com/uploads/ETX/Util/App/WIP/cac_unit_editor/unitEditor.html
now at:
http://crystalien-redux.com/uploads/ETX/Util/App/cac_unit_editor/unitEditor.html
However, as of right now, I'm having it re-located to another directory, as it no longer classifies as "WIP"
A temporary re-direct will be added, though
RE: The Crystalien Redux Project - iyenal - 03-26-2016
Can you "compress" the text in overview ? I have sleep after reading...
RE: The Crystalien Redux Project - DarkGrievous7145 - 03-26-2016
I could move the stat information to another tab. maybe, but I'd rather not make the UI annoying to navigate by tabbing or hiding EVERYTHING... but yes, it is a lot to read, and that's because "overview" tells the history of the project.
I'll try to think of something.
Also, I sorta implemented the database fully. I simply re-named it to .js and embedded it via script tag cuz AJAX decided to be a pain in the butt trying to load the JSON file.
RE: The Crystalien Redux Project - DarkGrievous7145 - 03-28-2016
JSON database is now loaded properly.
Stat documentation has been moved to another tab.
Stat documentation is no longer hard-coded, but is generated from the database
Time to throw this on github!
RE: The Crystalien Redux Project - DarkGrievous7145 - 03-29-2016
I submitted the project to github, in possibly the most inefficient and dirty way possible.
Everything was uploaded via file upload or create file, and was done in small batches.
My friend and I agree it's github's fault for being technologically far behind, as far as "easy" file/directory submission is concerned.
https://github.com/Brian151/CAC-Unit-Editor
I also created a clone which will be re-purposed for buildings:
https://github.com/Brian151/CAC-Building-Editor
I may or may not start adding stuff relating to building editing tomorrow.
for now, they both do exactly the same thing.
RE: The Crystalien Redux Project - DarkGrievous7145 - 04-26-2016
I have made some commits to CAMM.
Yesterday and today, I asked Josh what our current priorities are on the project overall.
Well, it's map loading. (or rather, .camm map loading)
So, josh spent his time working on code to load camm data into CAC via the wrapper.
I adapted a few scripts from CAC's source code, taking advantage of the fact Flash ActionScript 1 and 2 are virtually incidental to JavaScript at the basic level. The end results of this are a very hacked-together level data dumping utility that exports not only tiles (something CAMM actually can do) , but the exact positions of units and buildings when they're created in CAC. After using this utlility a few times, and ironing out some bugs, I managed to produce CAMM maps of all of the original CAC levels.
And Josh has updated these already, so I'll just point here:
https://github.com/leveleditor/CAMM-Crystal-Alien-Map-Maker/tree/master/Crystal-Alien-Map-Maker/CAMM_Data/Default_Maps
my original commit, and a quick patch, however, are here:
https://github.com/leveleditor/CAMM-Crystal-Alien-Map-Maker/commit/691494e8085714afe2c70d84fa1a69eb3e9b1007
and
https://github.com/leveleditor/CAMM-Crystal-Alien-Map-Maker/commit/2467a19b8d8c99e6fe8af8628a323a6b63b40f19
|