New utility concept thread

Puppeteer

Emperor
Joined
Oct 4, 2003
Messages
1,687
Location
Silverdale, WA, USA
I'm splitting off an idea from the CivAssist II thread:

Spoiler :
Question for the creators of this masterpiece civ3 utility: is it possible to add movies to specific wonders, techs, units and scenarios when they are loaded during gameplay.

For example, insert a button on Civ Assist II to allow the person that just developed a certain tech to view a movie clip on that matter, a media window would pop up automatically/manually (could be chosen by the user) from CivAssistII as the program detected that the tech was available to the player.

Could this be feasable on CivAssistII?

I do not think that this is the purpose of Civ Assist II.

Funny, I've been thinking along similar lines lately...a utility that monitors the save games like mapstat and CAII and launches external processes. I was thinking of automated turn logs, auto-animated map gifs and the ability to tweet game info on demand. Perhaps even a training mode that makes observations on efficiency.

That´s even better, i just want the ability to upload videos and attach them to wonders, small wonders, buildings and units and of course an scenario intro video autoloaded once the player loads a scenario up....

I fear that your ideas would make it an unallowed tool for the HoF. And for me personally that's the most important point. (And I guess for several other people, too).

If I may distill and paraphrase, both RickFGS and I were thinking about launching external content or processes to do things not possible in-game, and we both eyed CivAssist II (and MapStat) as having the trigger-on-game-event awareness that might make such external content possible.

I don't really expect CAII or MapStat to integrate these ideas, so I am kicking around the possibility of a new utility that would monitor save games as these two utilities do. I have no idea if I have the ability or attention span to make this reality, but I can start by identifying practical possibilities, impossibilities and issues of such a utility.

First question for me is: Is it possible to run two such save-monitoring programs at a time? Can you run CAII and MapStat at the same time? I think I have done this before, so I don't expect simultaneously running an external content launcher and CAII or MapStat would be a technical problem.

Second question is inspired by Calis: What features would make such a tool unallowed for HoF? I am not sure what RickFGS's goal is, although I'm guessing it's enhanced content for a scenario, but my goals are to enhance story telling and other interactive play.
 
Puppeteer-globe5.gif
Puppeteer-spinngin-cylinder.gif


A few years ago thisispete showed how to turn the minimap into a spinning globe, and he and I made a few examples. People wanted to know how to do this in-game, which as far as I know is not possible, but I think it would be possible with this concept to generate a current spinning globe with a button click.

Puppeteer-huge-1-1000BCmm-faster-bigger.gif


Minimap replay is also popular when I manage to do it, but the only way I know how is to make sure CAII keeps ALL autosaves back to 4000BC, and then I can generate one of these. With my program I'd export a frame each turn (or keep a map delta database), so you wouldn't need all the autosaves, and you could also generate an animation for an arbitrary set of turns.

Imagine if each turnset of an SG, HoF game, story or strategy discussion were accompanied by an animated minimap of the turnset.

As far as I know, you have to capture the fog per-turn or else you spoil the whole map in replay. Someone please let me know if I'm wrong.

For *OTM, a lot of times first spoilers are limited to starting landmass. It may be possible to identify landmasses and automatically mask the externally-generated minimap to only show the starting landmass. Wouldn't it be nice if everyone in *OTM posted animated minimaps along with their reports?

These are the first two features that pop into mind when I think of this concept program.

I expect an autolog would be possible. Build complete lists, build change lists, new techs and contacts. Turn-based trades, but I don't know if the game saves the non-per-turn trade info.

It occurred to me that Civ3 might be given some social networking ability. (Heck this site is one big Civ3 social network.) Perhaps there could be a button that would tweet something like "#PPTc3SG05 turnset complete 1000BC 20 cities 25 tech 2 wars per-turn trades exist http://bit.ly/shortlinkrultoCivFanThread".

So that's where I'm going with my idea. The mechanism will be to monitor the autosaves like CAII and MapStat do, generate a minimap frame, only generate spinning globe on demand, and have a few copy-and-paste-able informational texts with possible quick-post buttons for Twitter, FB and possibly CFC if I can uniquely identify a game and tie it to a thread URL.
 
Exactly Puppeteer, the main goal is to enhance the civ experience of Civ3, this is an already addicting game, and by having a tool like CivAssistII that "reads" and extracts information from the turn sequences, one can also create other options like the interesting ones you stated and, what i really want, a media experience associated with the civ gameplay, that is, pop-up or pop-by-request video/media files that talk/share information about the wonders/small wonders/building/units and so on in a particular mod/scenario, thus transfering all the tedious civilopedia editing and updating from modding to simple task of uploading media/pictures.

Myself, as a dual monitor user, i tend to play with Civ3 in main screen and civassistII or any other tool in the second monitor, in order to save time and give me a more rich experience i find myself surfing the web and video content sites on information of certain contents i add to my scenarios, why couldn´t this be made available to the modder, with all the apps we already have nowadays?

A simple utility that would allow a modder to upload media and associate that with an entry information from the civ game would do in my case, but really it could do much much more like Puppeteer shows above.

Note: the spinning globe is super cool, how/what program you used for that?
 
Note: the spinning globe is super cool, how/what program you used for that?

http://forums.civfanatics.com/showthread.php?t=114649

Details are in that thread. We used The GIMP's spinning globe script-fu:

In The GIMP, a free Photoshop-like program, here's what I do:

1: Scale the image into a square, leaving some white space at the top and bottom for ice caps if desired.

2: Make sure image is in RGB or Grayscale mode, not Indexed.

3: Script-Fu dropdown menu menu -> Animators -> Spinning Globe. You can select the # of frames and colors (up to 256, or 255 w/transparent background) there. Make selections and click OK.

4: When it's done you'll have a multi-layer image. File -> Save As... and give it a filename with the ".gif" extension; it will ask you if you want to merge layers or export as animation. Choose animation, and then enter the delay in milliseconds between animation frames and whether you want to loop the animation (yes).

That post is 6 years old, so maybe the interface is the same, maybe not.
 
I am imagining the mechanics of the program working like this: The core program would notice a new (auto-)save file, try to uniquely identify the game, then launch a list of tasks for given events.

Some events and some possible actions:
  • Turn complete (generate minimap frame, update map-fog database, turn log entry)
  • New game (launch custom content based on scenario)
  • Build completion (launch media for wonder)
  • New tech (launch media)
  • New contact (launch media)

Generating custom maps and animations would be triggered by the user clicking a button, but collecting the data would need to be turn-end-event-driven I believe.

So effectively this would be a modular utility. In the completed utility I'm envisioning, RickFSG would have a file to add actions for various events in his scenario. (Pseudocode: for scenario ID ScID and WonderID WID completed this turn, launch media MediaID, notify "Wonder built, view animation:") There wouldn't need to be a different utility for each scenario.

Alternative to forced media launch, perhaps it could be a user-selectable option to show a notification window that media is available for the current event. "Pyramids complete: Media available" which would be clickable to launch the media.

(I used pseudocode above, but this is probably doable in tabular format, either Excel or CSV. Columns for wonder ID completed, Tech ID completed, other events by ID, boolean columns for turn complete, game start.)

Editing:

So turn-end events would cause the utility to parse the save file to identify mod-agnostic keying events and then parse a series of tables and launch the events. I expect civs, buildings, terrain and units to be identified in the save by number, so I think mod-agnosticism will be built-in.

I am now thinking that data collection should not be in the core, but an event-triggered (end turn event) module. Or possibly the modules will get data through the core, and the core can filter out game-spoiling data, making non-spoiling module creation simpler.

On-demand creations like customized minimaps, turnset log summary or machine-authored postings to forums, Twitter, FB, etc would be user-event driven. Which means we'll need a way for a module to add an interface button to the alert window, core app or possibly even the game screen, but I am already afraid of spamming game screen with external action buttons.
 
Thinking ahead, excel would be a good solution, however it´s a very limited program in terms of media content, for the purposes staited here, i believe a flash program would be ideal, the problem is my limited skills as a flash programer, that said, how do you associate a civ 3 file .sav to an excel spreadsheet?
 
Thinking ahead, excel would be a good solution, however it´s a very limited program in terms of media content, for the purposes staited here, i believe a flash program would be ideal, the problem is my limited skills as a flash programer, that said, how do you associate a civ 3 file .sav to an excel spreadsheet?

I'm sorry, I've had a bunch of ideas circling in my head and haven't made it clear. The core program will, for example, notice a wonder (Wonder ID 0, name "Pyramids", for a contrived example) was just built in the last saved turn and then scan a series of Excel spreadsheets for instructions on what, if anything, to do about it.

So your spreadsheet will look something like the attached image, which instructs the core program to launch various media when the identified buildings complete. I used a variety of triggers and a variety of media sources for example purposes.

Obviously this can and will change a lot. I am presuming we will be able to determine if a particular bic/biq/bix was used to create the save game file and as a result identify the mod or scenario, if any, in use and launch content appropriate to the environment. But I am not sure; if all else fails we can enable/disable scanning of the spreadsheet depending on which mod is in play. I am fairly sure about being able to identify wonder builds, tech completion, new contacts, unit & building builds by mod-agnostic numeric ID, so I expect that part of the spreadsheet to work conceptually as described.

I am not yet sure about whether content should be in the helper application window, launched externally, forked as an executable or to allow the designer to use whichever mechanism s/he chooses.

So what I am starting to call "enhanced Civ3 content" in my head will probably be arranged in a folder under "My Documents\My Games" or the Win7 Games library under a "RickFGS\RicksAwesomeCivContent" folder with local media and scripts, and the spreadsheet would either go there or in a folder for the utility program. Note that media need not be stored locally, although it certainly could be.

Oh, there will certainly be more columns in the spreadsheet for triggering content. "Start of game" and "start of turnset" come to mind, and you'd just stick a one in that column to launch content for such an event. "End of turnset" and perhaps "end of game", too. End of turnset would have to be a user-triggered action, but from the designer end it would just be another trigger column in the spreadsheet. "End of game" might be determined from the save file, or it might have to be a user-triggered event.

At some point it may be feasible to make the spreadsheet creation more user-friendly, but at first it will key on numeric IDs.

Laptop battery running low, have to stop typing now...
 

Attachments

  • spreadsheetexample.png
    spreadsheetexample.png
    15.4 KB · Views: 147
I'm already doing that with my expanded editor to add things such as evolutive civilizations (changing names, traits, leaders, etc when the era changes), more eras, and also "blind game": when you start you don't see the techs or units of era 2, only era 1, you need one civ to advance to era 2 before you see new stuff.
 
I'm already doing that with my expanded editor to add things such as evolutive civilizations (changing names, traits, leaders, etc when the era changes), more eras, and also "blind game": when you start you don't see the techs or units of era 2, only era 1, you need one civ to advance to era 2 before you see new stuff.

Cool. I'll have to check out your tool (TWSS) to see how it applies. Is it the "expanded game management" feature that monitors the game progression?
 
Back
Top Bottom