Author Topic: GLSMAC - Open-source OpenGL/SDL2 remaster of SMAC  (Read 5976 times)

0 Members and 1 Guest are viewing this topic.

Offline afwbkbc

GLSMAC - Open-source OpenGL/SDL2 remaster of SMAC
« on: January 12, 2023, 06:37:19 PM »
Hi all, I just started an effort to recreate/remaster SMAC (Sid Meier's Alpha Centauri) to let it run on modern systems, and especially to have working, stable, reliable multiplayer. It's still at very early stage, but feel free to subscribe, review, discuss and maybe even participate. I estimate a playable version to come in a month or so.
The idea is to use existing resources and game logic of SMAC (to preserve the feel) while having a modern, multi-threaded, bug-free game client. Once this step is done I will move further and add modding support, better graphics, various online services and more.
Code repository is located at https://github.com/afwbkbc/glsmac , it contains more details, discord link and also some ubuntu-compatible binaries if somebody is too lazy to compile.
It will be nice to have consistent feedback while development goes, to make sure I do everything right :)

Offline Buster's Uncle

  • In Buster's Orbit, I
  • Ascend
  • *
  • Posts: 49271
  • €440
  • View Inventory
  • Send /Gift
  • Because there are times when people just need a cute puppy  Soft kitty, warm kitty, little ball of fur  A WONDERFUL concept, Unity - & a 1-way trip that cost 400 trillion & 40 yrs.  
  • AC2 is my instrument, my heart, as I play my song.
  • Planet tales writer Smilie Artist Custom Faction Modder AC2 Wiki contributor Downloads Contributor
    • View Profile
    • My Custom Factions
    • Awards
Re: GLSMAC - Open-source OpenGL/SDL2 remaster of SMAC
« Reply #1 on: January 12, 2023, 06:40:07 PM »
 :D   ;b; ;b; ;b;

Offline Secundus

Re: GLSMAC - Open-source OpenGL/SDL2 remaster of SMAC
« Reply #2 on: January 13, 2023, 05:06:34 PM »
Awesome work! One thing for sure I watch your project with great interest ;belal
You should also consider sharing r/alphacentauri to reach more people for feedback

Re: GLSMAC - Open-source OpenGL/SDL2 remaster of SMAC
« Reply #3 on: January 16, 2023, 04:59:18 AM »
Nice attempt.
Is this first in the history or someone else tried it before? How about OpenSMACX?

Practical question - are you going to rewrite all the code there or borrow it from original?

Offline Buster's Uncle

  • In Buster's Orbit, I
  • Ascend
  • *
  • Posts: 49271
  • €440
  • View Inventory
  • Send /Gift
  • Because there are times when people just need a cute puppy  Soft kitty, warm kitty, little ball of fur  A WONDERFUL concept, Unity - & a 1-way trip that cost 400 trillion & 40 yrs.  
  • AC2 is my instrument, my heart, as I play my song.
  • Planet tales writer Smilie Artist Custom Faction Modder AC2 Wiki contributor Downloads Contributor
    • View Profile
    • My Custom Factions
    • Awards
Re: GLSMAC - Open-source OpenGL/SDL2 remaster of SMAC
« Reply #4 on: January 17, 2023, 08:55:51 PM »
The Facebook post this morning about this on AC2's page, and shared in the Alpha Centauri group, are burning up with 'likes', 'loves', and comments...

Let me know if you get hung up on any graphics issues.

Offline bvanevery

  • Emperor of the Tanks
  • Thinker
  • *
  • Posts: 6370
  • €659
  • View Inventory
  • Send /Gift
  • Allows access to AC2's quiz & chess sections for 144 hours from time of use.  You can't do without Leadship  Must. have. caffeine. -Ahhhhh; good.  Premium environmentally-responsible coffee, grown with love and care by Gaian experts.  
  • Planning for the next 20 years of SMACX.
  • AC2 Hall Of Fame AC Text modder Author of at least one AAR
    • View Profile
    • Awards
Re: GLSMAC - Open-source OpenGL/SDL2 remaster of SMAC
« Reply #5 on: January 18, 2023, 06:36:38 PM »
To quote a dead Vulcan, "fascinating".

Your README says:
Quote
What will be same between GLSMAC and original game?

Models, images, movies, texts, lore, factions, game rules (such as tech trees, types of armor/weapons etc), UI

To my knowledge, nobody has cracked / reverse engineered the proprietary 3rd party voxel format that the SMAC 3d models use.  Someone got as far as making a tool that could texture map those models, but that's about it.  The company that made the voxel renderer is defunct, I think.  Do you have some special insight / knack for this problem?  As otherwise, recreating all the 3d models from scratch in a more modern, known format, would seem to be the saner course.

Offline DrazharLn

Re: GLSMAC - Open-source OpenGL/SDL2 remaster of SMAC
« Reply #6 on: January 19, 2023, 09:58:50 AM »
Great to see you on the forum again Yotzi and great to see such an ambitious project that's made so much progress already :D

@bvanery, I think Ford Prefect worked out the voxel format. And even if not, working out the last bits of it may well be easier than recreating all of those models and animations.

Offline DrazharLn

Re: GLSMAC - Open-source OpenGL/SDL2 remaster of SMAC
« Reply #7 on: January 19, 2023, 10:18:48 AM »
FordPrefect and PlotinusRedux worked at reverse engineering the voxel model and animation format (caviar). There are pretty detailed notes here: https://alphacentauri2.info/wiki/Caviar and an open source python project is linked from there that can repaint caviar models.

Offline afwbkbc

Re: GLSMAC - Open-source OpenGL/SDL2 remaster of SMAC
« Reply #8 on: January 19, 2023, 10:49:48 AM »
Hey, sorry I'm not here often, busy with coding  ;roze;

Awesome work! One thing for sure I watch your project with great interest ;belal
You should also consider sharing r/alphacentauri to reach more people for feedback
Good idea :)

Nice attempt.
Is this first in the history or someone else tried it before? How about OpenSMACX?
OpenSMACX is about decompilation from what I see, so it's different thing. There's also OpenSMAC but it's certainly less ambitious and is unfinished for some reason.

Practical question - are you going to rewrite all the code there or borrow it from original?
100% written from scratch, only SMAC assets like textures and sounds are loaded in runtime (hence it requires existing SMAC installation, basically a drop-in terranx.exe replacement).

To my knowledge, nobody has cracked / reverse engineered the proprietary 3rd party voxel format that the SMAC 3d models use.  Someone got as far as making a tool that could texture map those models, but that's about it.  The company that made the voxel renderer is defunct, I think.  Do you have some special insight / knack for this problem?  As otherwise, recreating all the 3d models from scratch in a more modern, known format, would seem to be the saner course.
It seems to be already reverse engineered - https://alphacentauri2.info/wiki/Caviar , I haven't tried it yet tho.

Offline afwbkbc

Re: GLSMAC - Open-source OpenGL/SDL2 remaster of SMAC
« Reply #9 on: January 19, 2023, 10:53:13 AM »
Approximate roadmap:

Versions 0.x: replicating original SMAC gameplay as closely as possible (but without bugs)​
0.1: fundamental engine functions, such as: rendering, UI, netcode, sound system
0.2: basic map functions, such as: tiles, mapgen, creating/saving/loading games, map rendering
0.3: basic multiplayer: ability to host and join games, lobby, save/load games with same players. multiplayer support will be maintained during further steps from now on
0.4: game processing, such as: game turns, units, buildings, technologies, building of bases, terraforming, basic combat, victory by conquest
0.5: all remaining SMAC units, buildings, terraformings, tech, etc
0.6: all remaining victory types
0.7: AI (computer opponents, cities automation, units automation, etc) and diplomacy
0.8: alien lifeforms, ecology
0.9: all remaining in-game UI, including game settings
0.10: non-crucial things like movies, interludes
0.11: final polishing and bugfixing
Versions 1.x: fixing bugs, adding optional small features that weren't present in original SMAC but won't change it's gameplay drastically. See 'GLSMAC 1.x features' section on discord​
Versions 2.x: adding all kinds of features, as long as they are worth the time. See 'GLSMAC 2.x features' section on discord​

So game will become somewhat playable at version 0.4, I think it will happen in few months. Multiplayer will come before single player so you should have some friends tho :)

Offline Ford_Prefect

Re: GLSMAC - Open-source OpenGL/SDL2 remaster of SMAC
« Reply #10 on: January 21, 2023, 05:20:54 AM »
To my knowledge, nobody has cracked / reverse engineered the proprietary 3rd party voxel format that the SMAC 3d models use.  Someone got as far as making a tool that could texture map those models, but that's about it.  The company that made the voxel renderer is defunct, I think.  Do you have some special insight / knack for this problem?  As otherwise, recreating all the 3d models from scratch in a more modern, known format, would seem to be the saner course.
It seems to be already reverse engineered - https://alphacentauri2.info/wiki/Caviar , I haven't tried it yet tho.

Hi.  I was one of the guys who figured out the format a bit. :-D  Wrote the paint program.   Been a long time since I did anything with SMAC but I'm glad someone is working on it. 

The cvr was surprisingly elegant in storing a voxel shape with as little space as possible.  I was surprised to figure out that the units were in 3d.

I also looked into the music format a bit... and the format looks like someone based it off of middi... or at least the idea of middi. Never tested to see if they actually used the same values for notes and timings as the middi file format or someone decided on something "custom".   

Offline afwbkbc

Re: GLSMAC - Open-source OpenGL/SDL2 remaster of SMAC
« Reply #11 on: January 21, 2023, 11:28:14 AM »
Oh wait, so those are voxel models? Converting them to vertexes and polygons will be fun challlenge then  :)
And yes, good job decoding it  ;b;

About dynamic music - it will be hard or impossible to copy exact algorithm, but sounds are there and I can improvise.

Offline Buster's Uncle

  • In Buster's Orbit, I
  • Ascend
  • *
  • Posts: 49271
  • €440
  • View Inventory
  • Send /Gift
  • Because there are times when people just need a cute puppy  Soft kitty, warm kitty, little ball of fur  A WONDERFUL concept, Unity - & a 1-way trip that cost 400 trillion & 40 yrs.  
  • AC2 is my instrument, my heart, as I play my song.
  • Planet tales writer Smilie Artist Custom Faction Modder AC2 Wiki contributor Downloads Contributor
    • View Profile
    • My Custom Factions
    • Awards
Re: GLSMAC - Open-source OpenGL/SDL2 remaster of SMAC
« Reply #12 on: January 21, 2023, 12:17:34 PM »
Ford, what I wonder is - could I paste in images from a more sophisticated graphics editor?  That would make all the difference.

Offline DrazharLn

Re: GLSMAC - Open-source OpenGL/SDL2 remaster of SMAC
« Reply #13 on: January 21, 2023, 02:03:44 PM »
All of the units (except native life) and unit parts are 3D models, represented as one or more chains of voxels, with each voxel having a single colour and each chain having a location and orientation. The models can also be animated. If they are, then each chain of voxels can be moved, rotated or hidden in each animation frame.

BUncle, do you mean that you want to texture the existing 3D models or that you'd like to use 2D images instead of the 3D models? The 3D models are used to let units face different directions and to allow unit parts to be visually combined.

Offline Buster's Uncle

  • In Buster's Orbit, I
  • Ascend
  • *
  • Posts: 49271
  • €440
  • View Inventory
  • Send /Gift
  • Because there are times when people just need a cute puppy  Soft kitty, warm kitty, little ball of fur  A WONDERFUL concept, Unity - & a 1-way trip that cost 400 trillion & 40 yrs.  
  • AC2 is my instrument, my heart, as I play my song.
  • Planet tales writer Smilie Artist Custom Faction Modder AC2 Wiki contributor Downloads Contributor
    • View Profile
    • My Custom Factions
    • Awards
Re: GLSMAC - Open-source OpenGL/SDL2 remaster of SMAC
« Reply #14 on: January 21, 2023, 02:16:26 PM »
For what I specifically have in mind, 2D with the colors I pasted in working.  The 3D thing would really be nice for a lot of SMACX modding purposes we've never been able to do even badly, but at least a single 2D frame...

 

* User

Welcome, Guest. Please login or register.
Did you miss your activation email?


Login with username, password and session length

Select language:

* Community poll

SMAC v.4 SMAX v.2 (or previous versions)
-=-
24 (7%)
XP Compatibility patch
-=-
9 (2%)
Gog version for Windows
-=-
103 (32%)
Scient (unofficial) patch
-=-
40 (12%)
Kyrub's latest patch
-=-
14 (4%)
Yitzi's latest patch
-=-
89 (28%)
AC for Mac
-=-
3 (0%)
AC for Linux
-=-
6 (1%)
Gog version for Mac
-=-
10 (3%)
No patch
-=-
16 (5%)
Total Members Voted: 314
AC2 Wiki Logo
-click pic for wik-

* Random quote

The ancient Chinese had a name for it: Feng Shui. We call it energy flow. It is the same thing, the same thought: energy is everywhere, but only a fraction of it is tapped by humans for their purposes. Now the Progenitors have taught us that we can tap not only our own latent abilities, but the latent abilities of the Universe itself.
~Prophet Cha Dawn 'Planet Rising'

* Select your theme

*
Templates: 5: index (default), PortaMx/Mainindex (default), PortaMx/Frames (default), Display (default), GenericControls (default).
Sub templates: 8: init, html_above, body_above, portamx_above, main, portamx_below, body_below, html_below.
Language files: 4: index+Modifications.english (default), TopicRating/.english (default), PortaMx/PortaMx.english (default), OharaYTEmbed.english (default).
Style sheets: 0: .
Files included: 45 - 1228KB. (show)
Queries used: 40.

[Show Queries]