What I'm Up To (with occasional relevance to Civ3 or C7)

Puppeteer

Emperor
Joined
Oct 4, 2003
Messages
1,687
Location
Silverdale, WA, USA
I like to babble online, and a few people even seem to like to read it. So here is a new thread for that.

I have contributed and will contribute code to C7, and I may sometimes make a short attempt to make something useful out of the bits and pieces I've coded over the years regarding Civ3 save file data.

I want to currently babble about things that don't immediately impact Civ3 or C7 but may in the future, so I figure a new thread in the main C&C forum is the most appropriate place for that.

But first, a link history of other threads of mine that were initially or became babble threads, in reverse chronological order:

  • What I'm Up To - This thread is really a continuation of that one but probably doesn't belong in the C7/"Future Development" subforum anymore
  • C# SAV/BIQ/media library - This was presented as a C# library to read Civ3 save, BIQ, PCX, and FLC files with no particular end goal in mind, but truly this was me taking early rogue action on C7 as the concept had been privately proposed, and I hoped the code would be directly useful in C7. And it was.
  • CIA3: Civ Intelligence Agency III - I guess this didn't turn into a babble thread, but I'm listing it, anyway. The project may (but probably not) become relevant again. It took my c3sat code and aimed to replicate the functionality of CivAssist II, a goal to which I had previously explicitly NOT wanted to do, but CAII is not easy to get working on modern systems. But the architecture of the code is really not suited to the purpose. The later C# libraries *are*, and now others are contributing to them as part of C7, so a CAII-alike is already becoming less work, and anything I code or learn doing it is immediately beneficial to C7, and vice-versa.
  • One Turn Deserves Another III - "OTDA3" (yes, on purpose) - This was a conceptual project inspired by @WildWeazel 's desire to create what is today C7, but I never intended it to persist as-was. I was playing with both the concept of a turn-based map game and some then-shiny new technologies, and to those goals it served its purpose. But then I got diverted to playing with Godot, so I still find that thread interesting and occasionally relevant to C7. Links in thread may be dead as I briefly held an otda3 dot com domain name but have since let it go. The content probably exists somewhere, but I don't recall anything important enough to go looking for right now.
  • Civ3 Show-And-Tell - "C3SAT" - This thread started off–and sort-of-but-not still–a utility that could read Civ3 save files and generate a map without using Civ3's art. The original idea was for succession games and other public save sharing to be able to show the game situation without screenshots or opening Civ3. And it came tantalizingly close to maybe doing that a few times, but I kept changing everything. I've used at least four different languages in the process. I still occasionally hunt down info in this thread, but I wouldn't recommend it as interesting for anyone to just go read front to back.
 
With the thread opener out of the way:

The past week or two I've been playing around on Itch.io in various game jams, and as a result I've been investigating and trying out other game engines and graphics frameworks.

For my own purposes I'm really starting to focus in on 3 different ones. All three of them are open source, under active development, and have active communities. They are also not otherwise insular or captive, so I can exercise my devops skillsets working with them (as opposed to an all-in-one game maker with its own IDE, tools, and/or proprietary product tie-ins <cough>Lumberyard</cough>).
  • Godot - It's what C7 is using, and I like it. It can use C# which is useful for me to get and stay current on. It could also link to native libraries.
  • Love2D (styled as LÖVE) - A Lua-scripted, cross-platform OpenGL 2D game engine that can be exported to play in a browser. I love how easy it is to get going in this and throw up a web game for a game jam. I figure people are much more likely to try it out if they don't have to download anything. Coding a whole game in Lua isn't ideal to me, but it's pretty clear Lua scripting will be a component of C7 and be the go-to embedded script language of anything I do, so coding in Lua is not a waste of time for me, even if the product would need to be ported to be useful in other projects.
  • MonoGame - I'm surprising myself here. I just joined a game MonoGame game jam on Itch after researching what this is. I would not have gone this direction otherwise, but after my research it looks like MonoGame might be lighter than Godot if I don't need the game engine structure, much like I've been using Love2d, but with C#. MonoGame is more or less a continuation of XNA (and also not) which I never would have bothered looking into as anything that tied to Microsoft is still suspicious to me. (MS has been quite open-source friendly, apparently, for many years now, but I have a long memory and they have history with open source I don't like. This is also why I've been glacially slow in taking up C# or anything .NET.) I *think* MonoGame will let me prototype more quickly as I won't have to use the game engine app to create a working thing, and I fully expect to be able to proactively code so that the C# I use for logic in MonoGame is directly transferrable to Godot which could benefit C7 or any projects I pick up again around the save & media reader code.
For my last Love2d game jam entry I made "Discovering Worlds" in which I intended to try to implement procedural terrain generation by following @Plotinus 's blog page Undiscovered Worlds - Basic Continents in the Undiscovered Worlds blog series. Of course I faltered at step one, ran out of time and instead just used Perlin noise to make a submission where a red dot can "walk" around a randomly-generated terrain of 3 colors that might be water, grass, and plains.

But now that I've discovered MonoGame and am in a game jam I may try to port Discovering Worlds to it and try various terrain generation techniques and hoping they'll eventually be usable in C7–and being in C#, they shouldn't need to be ported, just integrated. My immediate interest isn't immediately and directly applicable, though, as I want to have non-tiled generated graphics with a logically-tiled game map.
 

Attachments

  • discovering-worlds.gif
    discovering-worlds.gif
    416.4 KB · Views: 36
I can share it publicly; I'm JimOfLeisure :coffee: https://jimofleisure.itch.io/ . I'm using that name in GitHub, YouTube, the domain name, and some other places. It's half a brand right now by accident I guess.

Incidentally–to all as I belatedly thought about adding this–I think everything I've talked about on this forum is freely available, has source code available, and is MIT-licensed (disclaimer: license info is in each repo, this statement not applying licenses to anything). My Itch games have the source attached and/or linked and licensed, as do the various GitHub repos of mine I've mentioned to-date.

I've been thinking of switching to the Apache 2.0 license for future code, but that is near-irrelevant. I just got curious the past few days about the differences between MIT/Expat, BSD, Apache 2.0, and other very-free licenses. Apache 2.0 license reportedly offers some protection against patent shenanigans that MIT/Expat doesn't. BSD just seems old and confusing with its different versions. They're all basically "here, have fun and/or profit! Just maintain copyright and license notice."

I may in the future do some closed-source stuff for profit, but for now I'm not even allowing donations on Itch. I doubt anything of mine of interest to Civ3 or C7 will be closed source. There just isn't really a market, and if I found one I'm more likely to be noticed unkindly by whoever has IP rights to all things Civilization.
 
  • Civ3 Show-And-Tell - "C3SAT" - ...a utility that could read Civ3 save files and generate a map without using Civ3's art. The original idea was for succession games and other public save sharing to be able to show the game situation without screenshots or opening Civ3. And it came tantalizingly close to maybe doing that a few times, but I kept changing everything

Well, it got far enough along that I added it to my story that I started in 2009 and still might finish eventually someday. A cool idea, and while the Civ3 Stories & Tales forum is pretty quiet these days (something that I definitely haven't been spending any time thinking of changing lately :mischief:), in its heydey I suspect that C3SAT would have got a good amount of adoption.

It's kind of handy having a list of your threads in one place. CIA3 is a cool utility as well, and I came across my stash of CIA3 versions when organizing my Civilization folder earlier today (94 folders and 365 other files semi-randomly saved since 2008... now 37 folders and 340 other files, with various sub-folders for grouping. Still not exactly organized, but closer than it was). I'm fortunate in that my computer still runs CAII, but there are still people looking for a more-compatible CAII replacement. Which reminds me, @WeirdoJoker was posting in the CAII thread the other day about sadly not being able to run it. You might want to try CIA3. It doesn't duplicate everything in CAII yet, but it has a good start.

This post was delayed by playing some Bumpy Road on itch.io
 
This post was delayed by playing some Bumpy Road on itch.io

My plan for world domination has begun! :mwaha:

But seriously, I keep thinking of going back and updating that. Some ideas include playing with shaders (for ball shading, grass texture, and sky gradient), fixing the rotation so that it doesn't look like you should be able to bop the ball with the ground, try different ground generation settings, and fixing the upside-down parachute when velocity is to the left.

Fun fact: The ground never moves. The camera and gravity change angle to make it appear that it does.

Editing to add: Bumpy Road , since I don't seem to have directly linked it. And might as well attach the GIF.
 

Attachments

  • bumpy-road.gif
    bumpy-road.gif
    295.4 KB · Views: 40
Last edited:
Which reminds me, @WeirdoJoker was posting in the CAII thread the other day about sadly not being able to run it. You might want to try CIA3. It doesn't duplicate everything in CAII yet, but it has a good start.
Where do I find it?
 
Where do I find it?

CIA3: Civ Intelligence Agency III is the release thread in Utility Programs subforum, and the updated download link is in the first post. I haven't used it in a while, but my last notes were that

This now has the most-used functionality for me from CivAssist II and works on modern machines. It is butt ugly, but hey it works.

If I recall it also has a browser interface you launch after opening it which is a really odd UX.
 
I just had the weirdest idea: Civilization III as a visual novel. Just tossing that out there for your amusement.

Apparently I'm not the first to think of the idea: https://www.deviantart.com/thegrandhero/art/What-if-Civilization-Were-a-Visual-Novel-648355763

I just did a tiny half-project with Ink, a "narrative scripting language" for making VNs. In C#. Actually I used a Lua port with Love2d, but the main project is C#. I say half-project because there are no actual choices or branching, just a proof of concept that I can interact with the Ink API.

But I'm fairly certain there will not be a CivIII VN, or at least not one that I try to make. (Would probably have to do away with discrete units and manage cities collectively....)
 
I just had the weirdest idea: Civilization III as a visual novel.

Huh, I forgot about that idea until now. There is TriJam #155 going on right now, a jam where you're supposed to spend 3 hours or less on developing a game. I didn't have any ideas, but maybe a short version of this? I'm in more of a utility/production mood than game mood, though.

Yesterday I did a bit of both. I streamed on Twitch while updating a Phasmophobia game tool that helps narrow down the possible ghost types based on evidence collected. There were 5 new ghost types since I last updated it, but I updated that on stream.

People actually watched. I went back on stream again after lunch and had an average of 4-5 viewers much of the time.

I then did come cleanup and refactoring of the same tool and made the code public.

I actually then worked on C7 a bit while on-stream. I made it so that on Mac and Linux you don't have to set CIV3_HOME and launch from terminal. It will let you browse and pick where your civ3 home folder is if it is not located via registry or environment variable.

After that I just did CodeWars katas ... apparently for several hours as when I stopped I had streamed over 10 hours straight and over 11 hours the whole day. I guess I had fun.
 
Top Bottom