[Dev Diary] 1: Introduction and Aztec Release

WildWeazel

Carthago Creanda Est
Joined
Jul 14, 2003
Messages
7,409
Location
/mnt/games/Civ3/Conquests/Scenarios
My fellow CivFanatics,

It's my pleasure to welcome you to the "C7" project subforum, and our first "Dev Diary"! This is where we the developers get to show off our progress, wax poetic about our future plans, and explain why things are taking so long.


If you're just joining us, this project we're calling "C7" - short for CivFanatics Creation & Customization Community's Civ3 Conquests Clone - is an attempt to remake our own version of Civ3 as an open-source game using the Godot game engine. Clone isn't exactly correct, but it makes for the best acronym. Our vision is to make Civ3 as it could have been, rebuilt for today's modders and players: removing arbitary limits, fixing broken features, expanding mod capabilities, and supporting modern graphics and platforms. A game that can go beyond C3C but retain all of its content.

It's been a little over a month since we revealed our work on "C7" and our developers have been very busy behind the scenes, continuing to prototype essential features and incorporate more Civ3 content. Now we are excited to announce the first pre-alpha release v0.0, codenamed Aztec!

With Aztec, you can start or load a game to display the world map (base terrains only). Click and drag, scroll, or use the expandable menu on the right to move around the map. Some units and barbarian camps are preplaced on the map. You can select and move your units each turn, or use the settler to place a city. The end turn button and some unit action buttons work. All files are loaded directly from Civ3, so you'll need to have it installed locally to run C7.


As you can see there's not a lot of gameplay here yet, but this first milestone marks several important accomplishments:

  • A working example of the game architecture and direct imports from Civ3
  • Processing certain Civ3 file formats such as PCX, FLC, and BIQ
  • Prototyping of the world map with base terrain, unit icons, and cities rendered on tiles
  • Interaction with the game via keyboard and mouse
  • A simple turn mechanism
  • Binary downloads for each OS with minimal setup required
  • The basic project infrastructure and web presence has been established (here and on Github)

You can find C7 Aztec downloads and installation instructions for 64-bit Windows, Linux, and Mac on the project homepage: https://c7-game.github.io/ We will keep this site up to date with the latest official releases, and continue to expand it with more information and resources as the project matures. We've also opened this project subforum and a Discord server to the public, where you can follow our progress, discuss the game, and get involved yourself!

Let's hear from each of the developers for more about their work on Aztec and upcoming features.

@Puppeteer:

Being motivated by tech interests at least as much as end results, I contributed
  • Reading Civ3's PCX (image) and FLC (animation) files and turn them into native Godot assets (these formats are so old and C# relatively new that there were no existing open source libraries available to read them)
  • Automatic build script of the project for Windows, Mac, and LInux targets
  • A partial Civ3 save game reader
  • The beginning skeleton of a BIQ reader (mod file format)
  • A first draft of map drawing with pan and zoom (later improved and refactored by others)
  • A very rudimentary website via GitHub Pages
  • An initial rudimentary C7 load and save format
  • Prototype animated units, all animations in all directions (not actually visible in Aztec, but the code is there)
I keep getting distracted by all the shiny things and ideas for how to expand C7 into the ability to be much more than a Civ3 clone, but I do intend to further flesh out the SAV and BIQ file readers, some of which I've done in another language and just need to port over to C#. I also want to either add a script or extend the build script to allow creating releases (downloadable checkpoint builds) on GitHub.

@Quintillus:

Hello! My name is Quintillus. You may be familiar with me from my Civ III editor project, or perhaps you remember me from my Stories and Tales days. The latest project to capture my attention is C7.

Over the past month, I've been motivated primarily by shiny buttons and interactive UI elements, and my general goal has been making the game world feel alive, interactive, and reminiscent of Civ III. This has resulted in the following contributions:

- Adding the game status area (in the lower right)
- Adding unit action buttons, among several others
- Adding popup support, and the first popups, such as the Build City popup
- Adding the first code for the engine, which handles turn mechanics for your units currently
- Adding the first sound support, for both the effects and soundtrack
- Making initial optimizations to PCX/texture loading and FLC loading
- Theming C7, to ensure there is a fairly consistent visual appearance throughout

The Build City popup lends itself neatly to a screenshot:


Thanks to a combination of built-in Godot text editing functionality and the theming work, this popup should look and feel quite familiar.

Another notable aspect is the sound support, as C7 supports all types of mp3 files, not just 128 kbps mp3s as supported by Civilization III. Although our late-November built has the main menu mp3 music disabled (we haven't yet added preferences to turn it off while developing), this should open the gates to customizing the soundtrack with fewer headaches and more fidelity going forward.

My current work is on importing displaying more types of terrain on the world map, starting with mountains and hills (which you can glance in the edge of the Build City screenshot). This builds upon map work by Flintlock (which in turns builds on map work by Puppeteer), and by SAV-reading work by Puppeteer. It also keeps with my general theme so far of making the world feel more alive, familiar, and interactive.

@Flintlock:

I've mostly been hammering away at the map display. I prepared it so that it can easily repeat tiles around wrapped edges and show multiple layers, added the ability to click on the map, center the camera on a tile, and zoom in/out around a location. I added methods to draw units and a grid on the map. I did some optimization to ensure map scrolling is smooth. I also took the first steps toward some basic gameplay by enabling the player to move units and scattering barbarians around the map. You can't actually fight the barbs yet, that's something for the next milestone. Right now I'm playing around with shaders with the idea of rendering the map more efficiently, and making it easy to animate units and tint them with the color of their owner civ.

@WildWeazel:

As for me, I've been working behind-the-behind-the-scenes on project administration and architecture. I am acting as both the project manager and software architect, so I'm doing a lot of high-level planning and less coding so far. Currently I'm working out the event model that will be used both internally to allow game mechanics and the UI to communicate with each other, and externally as the basis for a scripting API for advanced mods. You'll hear more about that in future updates.

---

That's all we have for now. As an open source project we welcome everyone to contribute, so jump right in. We're heavy on programming so far, but we'll need testers, artists, technical writers, mod designers, and more as we continue development. Stay tuned for further updates, and be sure to give C7 Aztec a try!
 
Somebody needs to post here first to show that he's… first.
testers, artists, technical writers, mod designers
Yes, yes, yes and yes, and also more.
 
Well,I will have to put Civ3Complete on my Mac laptop and check out what is happening. Congratulation, Takhisis on being the first forum poster here, and presumably not that last, by any means.
 
Top Bottom