[TOT] Fading Lights 2 Concepts Page (Medievel Nerds Wanted and Welcome!)

Konig15

Warlord
Joined
Nov 4, 2007
Messages
241
Now that I have map, I actually need to do work on an actual scenario. I loved, LOVED Fading Lights, in fact I took a whole lot of Greek History classes because of it. And while I'm not multiculturalist, in fact, I'm very much an ethnonationalist (don't run just yet!) my very comprehensive five-year study of history across many cultures convinced me of one thing, even if war between nation-states is the summation of all human activity, the final pass/fail test at the end of the semester, in practice what most people experience is not a racial morality but an aristocratic morality, those with money and power at the top wanting to justify themselves at all costs as the beautiful people despite everything burning around them.

Fading Lights 1 and Civilization as a series is all about a racial or the sanitized "civilization" struggle, but almost all of history are vain and stupid elites clinging to golden thrones they do not deserve with well-manicured emaciated hands covered with blood and fecal matter. And in this case, I'm not even talking about the House of Paleologi itself but about the entire Geek aristocracy which Basil did not put enough to death after they rebelled against him in the early 11th century.

Fading Lights 2 is going to be about the war against the Byzantine State itself/ The Deep State as it were. The Pronoia
https://en.wikipedia.org/wiki/Pronoia
The High Church
The Italian Enclaves
The Constantinople Bureaucracy

This is going to be a very Pro-Theme system, seemingly on the surface left wing but actually populist interpretation of the fall of states, and the fall of Byzantium in particular. Only an alliance between the Emperor and the people sidelining the elites can defeat the foreigners!... MAROGA!

As I intended to design this system now, you will have to work harder, not smarter. For instance, in so many games the supermarket represents lutifunda or collective farms, and yeah, that's a reasonable assumption. So you CAN build them, but they will only empower the forces of oppression. If you want to grow the right way you'll have to use trade caravans. If I can figure out lua, there will be rewards for getting rid of the supermarkets, maybe even getting rid of second-tier irrigation, that's never been done!

Also, buildings you build will not represent infrastructure not there in all cases but infrastructure, not UNDER YOUR CONTROL.

Also, courthouses will either be rare or very expensive. Government reform will be the big task and it will be a HARD sell.

Also looking for anyone who wants to either in public or PM talk about possible adventure modules! Cool horsehocky that I could send courtier and adventures on for the glory of the realm. Right now I want to have less military unit diversity so I can reward players with cool sites and rewards like special buildings and such. I would like to do Real-world adventures that almost happened or actually did, or common bard's tales and such but historical fiction or tales from event chains in Medieval Total War or CK2 I'm not opposed to. Time period might be as early as 1205 but probably about 1218, as that's the fall of Attlea (an important port in Anatolia and prime POD)

I want to explore lateral play in building this thing too.

As for general feedback, I like to play without sounds so I can listen to audiobooks, and I also don't mind busywork so much.

But what parts of the general CIv 2 experience do you guys consider busywork and what do you feel can be done to mitigate it in scenario design without crippling an already stupid AI?

What new TOT features do you really like and wish more people took advantage of? Or don't like it? For me I HATE the no rush buy system, I understand why some would like it but for me, it takes away from the game experience in that I when because I'm I work harder than the hardies and smarter than the smarties. I love the naval vessels on rivers, and just wish there was a way to make rivers combine into ocean-looking tiles for big rivers like the Mississippi in most North American maps. Hearing thing like this could help give me mechanical ideas.

I also am trying to get into more Eastern Empire history podcasts to get fall more detail into individual decades of the paleologi decline. For instance, I didn't know until recently Michael VIII could NOT go into the Rum Sultanate to put a claimant on the throne because part of his alliance with the Golden Horde meant he was getting Mongol Mercenaries to fight Epirus as long as he didn't screw with Rum. So to attack Rum, he'd have been a MFers trying to ice skate uphill, against the Mongols. And suddenly everything makes sense.
 
Hey an update! Working on graphics! And Kings and Generals is doing a series on the Byzantine Empire and just released a series on post-Manzikert Byzantine Forces so I really feel the wind is at my back!

Not sure if the colors for all unit types are correct but I was pleased as punch that the Createan archers mentioned in the Caesar in Gaul scenario were still prized in the Paleologi period, even when Crete was a province of the Venetians!

I at least know I have a couple of basic units to consider for the Byzantine military
Spearmen
Trained Archers
Peasant Archers
Crossbowmen
Heavy Cavalry

Now this is the Preliminary Units roster. This is a first draft that took me WEEKS to shift through, not just units but all kinds of Civ 2 gifs
Most of these units have been assembled by scenario teken from mostly Hessons Mamluks, which also takes place in the 13th century and the TOT version of Age of Basil

Special Units
Spy (Priest) C6
Freight (Cargo) E6

Units from Mamluks (contempt setting)
Turkish Cavalry (Gazi Raiders) A6
City Wall B6
Muslim Infantry D6
Byzantine Infantry F6
Byzantine Cavalry G6
Latin Infantry H6
Latin Cavalry I6

Mongol Infantry A-C7
Mongol Cavalry D-F7
Mamluk G7
Nomad (Bedoin) H7
Latin Knights I7

Mamluk (Rum Cavalry) A8
Baybars (LEADER) B8
Baybar's Son's (Muslim Rulers) C8
Amirs (Muslim Warlords) D8
Rebel Leader (Unknown leader) E8
Arab Trader F8
Christian Trader G8
Barbarian Leader (Khan) H8
Muslim Cavalry (I8)

Units from Age of Basil II TOT (within 250 years)
Archer A5
Byzantine Theme A3
Vargarian Guard B3
Akritas (Byzantine counterraiders) C3
Theme Cavalry D3
Georgian Infantry (Age of Crusade) E3
Georgian Cavalry F3
Armenian Infantry G3
Armenian Archers H3
Armenian Cavalry I3
Bulgarian Infantry F10
(Bulg) Bastion H13
Roman General H10

Now as you can see right now I have a VERY full roster and that's a BAD thing.
Because my map goes tom Baku to Marsallies I need a lot of unit Variety and I can DEFINITELY pare down down the Unit amounts in Western Europe, in The Magreb, but I'm not sure where to pick and choose my battlles.

You'll notice I have a LOT of nonunit units, Walls, Thunderclouds, and especially a lot of civilians.

The reason for this, if a huge part of the decline of the Byzantine empire after Manizkert was CONSTANT raiding by Turks ever further into Anatolia. In Arab times this was fine(ish) because the Cappadocian plateau was next to worthless compared to the trade nodes and resources of the coasts which were protected by the mountains. And I want the need for units to be out in the field to be a CONSTANT thing. Therefore I wanted to create essentially a tabletop D100 system of foraging to supplement high production costs of units and such. So you need to send out peasant units to go over tiles and roll for resources, which leaves them vulnerable to Gazis, Turkish Jihadists which I intended to be A6, mounted and swathed in a little green, Green being the color of Islam. I'm not sure if that's accurate or not.

I want to leave as much space as possible for goods, treasures, and the like if I can. The Unit limit of 125 sounds high until you understand how useful the unit slots are.

Right now big mines for Units is Mamluks, Basil II a little of the TOT version of Charlemagne, the TOT version with the new units it's a delight to play actually, and on the MGE end, In Nomine, Italian Wars, and Age of Crusades, Kommeni, as well as a little of Empire of Thessaloniki and death and Rebirth of an Empire (1204) and others would be welcome. I'm actually taking a LOT from Ceasar's Gallic Wars. There's a LOT of units I want to save if I can save them.

By the way if anyone has a copy of Europe Universalis 2 and can spot me the gifs of the orthodox priest being a missionary, I'd be grateful. In fact, ALL of the missionary gifs could be useful down the road if you have them. I have EU2 but I threw away my chords to my very very old computer so I can't access it
 

Attachments

  • units.bmp
    1.8 MB · Views: 48
Congratulations on the concept, this looks fun. I know next to nothing of the time period so I'd be limited in being able to help with the specifics, but could lend you advice on technical matters to try and help you get going. Make sure you've read through the tips section in the Scenario League wiki before you break ground as certain things should be considered (pay particular attention to the advances). Note that in the past, there was an order the scenario had to be created to ensure everything worked though with lua, we're able to bypass some of that (example: in the past, native transport was hard coded at the start, so the rules file had to be present and considered first. Now, with lua, native transport can be changed after ground is broken). All the same, you'd do well to make sure you consider and learn from the past before you get too far ahead. Pay attention to to the advances. There are many little tricks that can be had that add to immersion if you carefully select them, and a few (like NP) make adjustments you'll want to be familiar with.

I want to explore lateral play in building this thing too.

Can you clarify what this is please?

But what parts of the general CIv 2 experience do you guys consider busywork and what do you feel can be done to mitigate it in scenario design without crippling an already stupid AI?

I see that you don't like the no rush build system however I got rid of it as I figured that was busy work and also a bit of an exploit, IMO. I suppose now that ToTPP allows it to be removed, it's a design choice if it is left in or not so it is no longer an exploit but what was intended. I have better things to do than spend every turn incremental-rushing everything, and since I designed a few MP scenarios recently, I didn't want players to feel compelled to do that (because if one person does, everyone must). However, it's your call.

One thing I will tell you is to take heed of our late dear friend Agricola's warning - avoid "quartermaster duties" whenever possible. While it can be fun as a designer to come up with complex systems that perfectly replicate something, sometimes these are burdensome chores for the player. I learned this lesson myself in the 10 year or so development of OTR. Just read the readme for the latest version to hear that story.

As to the AI, while we can enhance it dramatically with events, just try and always remember that it does a few things very well:

1. It will try and attack units.
2. It will try and capture cities.

Things beyond this it struggles with! Sometimes it takes an arduous playtest with cheat mode on and "show enemy moves" on as well to understand what is happening (not fun for a giant project, but often necessary).

What new TOT features do you really like and wish more people took advantage of? Or don't like it? For me I HATE the no rush buy system, I understand why some would like it but for me, it takes away from the game experience in that I when because I'm I work harder than the hardies and smarter than the smarties. I love the naval vessels on rivers, and just wish there was a way to make rivers combine into ocean-looking tiles for big rivers like the Mississippi in most North American maps. Hearing thing like this could help give me mechanical ideas.

There are plenty of scenarios that use ocean tiles to allow navigable rivers (which the AI can handle). I'm not sure the AI could handle transporting their own naval units on "regular" rivers. For a scenario of your timeframe (without giant aircraft carriers), it even makes sense that ships would be able to transverse them.

Hope this helps as a start. Try and force yourself to do something forward moving on this every day for at least 15 minutes. Otherwise it can be hard to finish these projects. A Civ2 scenario is not a small undertaking.
 
@JPetroski before we go any further, can you define "Quartermaster duties?" The things most Civ 2 players dislike that I don't? Cause I have a sinking suspicion I might have a higher tolerance for those.

I do have an annoyance for the rsuh build system, especially in the Basil scenario where there are TONS of units and it's 80 shields to the merchants so it's a cycle of up to 7 units to rush build in each city I want a merchant (GRRR!) so I was thinking with civilian resource gatherers if they got colorful resources of various, low shield utilities you could pile into the fire at various destinations of your choosing, you could DISBAND them, all at once and it would be WAY less tedious for a similar effect. GIve the resources the all as road capacity but use up the movements for the civilians to leave them vulnerable, make the logistics chain. And this way you're stoking the fire with pretty units and so it's rewarding instead of tedious.

I also wanted to use the WONDERFUL ship paradrop system I've normally only seen for air transports in things like the Invasion of Norway but use it for internal naval and donkey transport. Historically in the course of two or three months, Basil II took his Host Force, his main army, a thousand miles from Adrianople fighting the Burglars to Antioch, sloberknocked the Fatimids real good and marched through Ataloia on the same donkey trains in similar time before Simon of Bulgaria could take advantage. It was so effective the Fatimids never attacked Basil for the rest of his reign, another three decades or so. I figure that could replace a LOT of the tedium of MOVING units around from city of city, once you have the logistics in place.

So how does this compare to "quartermaster duties?" ANd would quartermaster duties apply to say using lesser units to a Lau chain to make more valuable caravan companies that are more in demand and command bonuses like the Spice or Uranium slots, essentially making a value-added manufacturing chain?
 
So basically a quartermaster duty type deal is "busy work."

For example, look at the evolution of radar in various OTR variations..

Stage I - radar sets "shot" a radar "wave" that you had to manually move out into the world to find a target (cumbersome with a large system).
Stage II - a key press event was utilized for each activated radar set to automatically scan for aircraft (less cumbersome, but you still had to go through them one by one).
Stage III - a key press event automatically scanned with every radar set for bad guys - one key - all sets utilized. Much less cumbersome.

Stage I and to a lesser extent II were examples of quartermaster duties/busy work. Stage III provides a significantly better player experience.

Likewise, in an earlier version of OTR, bombers had to go back home to get new bombs, and had to manually rehome (because only bombers with a home city other than "none" could drop bombs, and we set the home city to "none" when they did drop bombs. In a later version, a bomber that started its turn in a city with "none" as a home city would automatically rehome, so long as the city had sufficient shields to support it.

The idea is, cut down on busy work for the player whenever and whereever you can. Sometimes this means significantly more design work, but it should be on the back end.
 
So basically a quartermaster duty type deal is "busy work."
Pinging you in

OK let's talk Lua, or scripting in general or rather illiteracy. I have a sort of rules set blindness. Near as I can tell the autistic spectrum is a spectrum in the same way a Klien bottle is a bottle, that is to say it's not spectrum at all but more like a buffet and one of the symptom tables I got hit heaviest with is the very good long term memory, very bad short term memory. This makes it a NIGHTMARE to term arbitrary rule-based systems, grammar, rhythm, Needless to say, foreign languages and programming are more or less right the heck out. I don't understand ENGLISH grammar, and All of Shakespeare sounds like prose. and scripting makes no sense to me.

The old way did because it was so stupidly simple. The issue is probably more memory than actual understanding, so if I were blessed by the money fairy in real life and could take a programming class at the local community class (I'm very physically disabled and very poor) I could probably learn.

Where I am in script literacy is I can ID scripts that have in-game text in them, which is like the guy who can order off a Burger King menu with the help of the pictures of the sandwiches.

Every time I look for help with scripting either on Lua or with Fallout New Vegas scripting I find things with hows, but no whys. And without whys, I make no connections, and so I don't learn anything. And it doesn't seem like there are any whys, just arbitrary command sets, and the why is always it doesn't execute or CTD.

Both of you guys have been VERY encouraging to me, and I know Prof Garfield has offered some help in learning Lua, but there's a difference between offering help and....being a minion. Would you guys be willing to help me find existing lua scripts and build them ad hoc to what I want and give me advice on how to do some of the stuff I want to do here?

For instance:
I would like to crib off off the features of the Cold War scenario in regards to the Latin states, where the Byzantine Empire can aid some, like maybe prevent the fall of Antioch with timely aid in 1268 and maybe annex it later or pursue an alliance with Cyprus while simultaneously being at war with Athens. You can sort of do that with the proxy war system/hotkey. I just have to find where it is, find all the menus, and....OH GOD....

I need to know if it's possible to use LUA to lock terrains into specific Terrian 2 variants against the Civ 2 code. For instance, you rebuild a bunch of wonders, based on Crusader Kings 2 Great Works, cause half of the Wonders of the World were still standing in the High Middle Ages and you restore them to glory and they all get turned into the same Wonder terrain, which is linked to a Terrian 2 set, but all are frozen at their coordinates in a specific terrain 2 variant. normally in something like Med Wars, they used the positioning of Railroads and the fact you couldn't see Rail on the terrain screen to hide the effect in the city next to the wonder to hide the glitch, but you can't do that with terrain 2. But if can lock a terrain 2 square into any terrain 2 variant at a given coordinate, the possibilities really open.

This brings up a third question, can you have a series of LUA events for the same wonder that gets deleted every time you build it (like the experimental planes wonder in Over the Riech)
but in different cities, but take into account which cities you built the wonder in? As in You had a "Restore Wonder" and you built it in Halicarnassus it would trigger the event that would generate the Masolleum wonder terrain nearby or Ephesus Renewed Harbor (the harbor had been silting in for centuries and the city was almost abandoned by this point)

I am being upfront, getting me competent with LUA is not going to be easy. I'm big with novel ideas, not with talent or skill,

When it comes to the notion of lateral play, this is where LUA comes in. I'm in it for the story, and when I'm done with a game I want to leave behind something more than a story of conquest, in fact that's boring. I want adventure and discovery, and liberation.

It's on the backburner, but I played Outremer by Hesson, a scenario he considers a mistake, and I can see why, but for me, this is an AU about the character of King Guy, and what it would have taken for him to accept that first offer of surrender at Acre in 1189 instead of wanted that glorious sacking, about what would have happened if he'd handed things so well that he'd been able to keep Conrad from taking the crown from under him, and Richard was truly in a position move on Jerusalem because the entire coast was under Crusader control. Because Guy had become a very different man during his time in that tower in Damascus. But how? I don't know. And that is the most fascinating part to me.

I want to create a more historically constrained scenario as a teaching tool (you can but it's HARD) but offer other things to do instead, adventuring, inventing soft sciences, restoring lost glories, such a so forth. Crusader Kings 2 DLC stuff, maybe building a zoo, saving the Caspian Tiger and the Auroch from Extinction.
 
I'm pretty sure you can recycle wonders and move them around. I'm not sure what you mean by "terrain 2." The file with forest/mountains, or the 2nd terrain (I think plains?)

I suggest that you start small and get the scenario built without events first. There's plenty of halfway finished projects in the world that didn't even get past that point. Events come much later.

I'm willing to help you when you have specific questions but I'm not capable of taking on a full time role in the project.

I'd *certainly* advise you to use the template from Boudicca and now @civ2units Reformation scenario... it'll make things go much smoother for you.
 
You can try following this tutorial for learning Lua.


I would strongly recommend following along by actually doing everything he does (and pausing to follow any train of thought or experiment that occurs to you.

I started re-writing Lua lessons here, if you want to get your feet wet with Civ II Lua. I didn't get very far, but it is something to start with (which is often the most difficult part). Again, I must emphasise that you must actually do everything, not simply read it, and ask for help if you have difficulties.

For Lua, you should crawl, then walk, then run. Try doing simple unit killed and on turn events and leave the proxy war engines for later. If you have 90% of a scenario complete, asking someone else to write some difficult code isn't a big deal. I've done it for both JPetroski and civ2units, and would do so for you if you need it. The question can I do X with Lua? is answered with probably. I therefore suggest that you begin by writing simple events for your scenario, and gradually build confidence and add complexity. However, if your scenario is going to be worthless (or need massive changes) if a particular mechanic can't be achieved, then build a different scenario. Or, just take a pre-lua scenario, and play around with adding Lua events to it.
 
I'm pretty sure you can recycle wonders and move them around. I'm not sure what you mean by "terrain 2." The file with forest/mountains, or the 2nd terrain (I think plains?)

I suggest that you start small and get the scenario built without events first. There's plenty of halfway finished projects in the world that didn't even get past that point. Events come much later.

I'm willing to help you when you have specific questions but I'm not capable of taking on a full time role in the project.

I'd *certainly* advise you to use the template from Boudicca and now @civ2units Reformation scenario... it'll make things go much smoother for you.

OK, by Terrian 2, I mean the terrain2.gif file, the one with the mountains and forests. See they all have a bunch of positioned tiles that display based on how many of the same tile re lunked, normally. But if LUA could fix a terrian2 square regardless of the other squares around it

https://sleague.civfanatics.com/index.php?title=Alternative_Uses_for_Terrain2

Like if I could place a terrian2 square all by itself it would normally be in the Terrain2 1 position, but if Lua could fix t in that specific coordinate as terriant2 position 16 even though there are no connecting terrian2s nearby, then that terrain 2 set can be used as eye candy and set pice and you can use that across the map as a dynamic reward system. As I understand it, writing things on the map with TOTPP is possible but you can't change it at will.

As to small projects....that's not why I wanna mod. I'm a storyteller, of the choose your adventure kind and stories in strat games hinge on events. I don't like vanilla Civ mechanics, that's why I haven't played another civ game since 2, except I bought 6 for cheap then bugged out when I found out there were no scenarios, not that I could find anyway.

And there's nothing small I can even conceive of that I want to do anyway. I mean, if I had any talent with maps, sure take the original Mars scenario map, map the lowlands that would fill up if mars had a sea, make that a special terrain that could be made into ocean, and use the more terrains to make all of Mars green and Mars diverse Green...

There is one thing I could do....if it would establish some clout, I have no idea if it would be any good....

A Fallout Antarica mod: there's an Antarctica Mod, use map and a few Fallout like units to simulate people using GECKS pre-war to terraform Antarctica into a habitable land and now civilizations caput and the Antarctic current pretty much is gonna seal off the content from refugees and raiders for a LONG time, so you have a very Mars-like set up at the bottom of the world, and you can terraform large portion of the continent back to life. I could have some events but they could be of the old kind which I understand WAY better and all that.
 
OK, by Terrian 2, I mean the terrain2.gif file, the one with the mountains and forests. See they all have a bunch of positioned tiles that display based on how many of the same tile re lunked, normally. But if LUA could fix a terrian2 square regardless of the other squares around it

https://sleague.civfanatics.com/index.php?title=Alternative_Uses_for_Terrain2

Like if I could place a terrian2 square all by itself it would normally be in the Terrain2 1 position, but if Lua could fix t in that specific coordinate as terriant2 position 16 even though there are no connecting terrian2s nearby, then that terrain 2 set can be used as eye candy and set pice and you can use that across the map as a dynamic reward system. As I understand it, writing things on the map with TOTPP is possible but you can't change it at will.

As far as I know, what you are asking for is not possible. However, you could place a special resource, or an airbase, for example, to achieve what you want.

As to small projects....that's not why I wanna mod. I'm a storyteller, of the choose your adventure kind and stories in strat games hinge on events. I don't like vanilla Civ mechanics, that's why I haven't played another civ game since 2, except I bought 6 for cheap then bugged out when I found out there were no scenarios, not that I could find anyway.

And there's nothing small I can even conceive of that I want to do anyway. I mean, if I had any talent with maps, sure take the original Mars scenario map, map the lowlands that would fill up if mars had a sea, make that a special terrain that could be made into ocean, and use the more terrains to make all of Mars green and Mars diverse Green...

It's easy to have interesting story ideas and to dream of big projects. The unfortunate fact of the matter, however, is that actually building things is the hard part. Sometimes, that involves working on smaller projects to develop skills (and make mistakes), even if those projects are less interesting to you than your grand vision. Having a "sandbox" to try things out in will probably save you a lot of time overall. Programming, especially when you are learning, involves a decent amount of experimentation. You are setting yourself up to be discouraged and frustrated if you immediately try to write something big and complicated.

If you don't want to put in the time and effort to learn Lua, that is fine. There is no shame in using the "macro" style events, the Lua Scenario Template does allow integration of "macro" events with Lua events. You can build a very respectable scenario with the "macro" events and the "canBuild" settings (which I recently built a code generator for, so most settings now involve cut and paste code).

For that matter, if you only want to dream about scenarios, and not build them, that's fine, too. It only becomes a problem when you discuss other people's scenarios, because you come across as suggesting that the creator should have built your dream instead of theirs. This naturally annoys people, and so they tell you to build your own dream. Also, you've modified scenarios, and then offered feedback based on playing the modification. Because you've modified the game, trying to figure out if the game in its original form is unbalanced is difficult at best and impossible at worst. People have their work criticised, but are robbed of the ability to improve. It can also feel disrespectful, since you haven't played the game in its intended form, but still feel the need to criticise it. The more useful form of criticism would have been of the form "X mechanic is unfun for Y reason, you might consider changing it." If you presented your ideas as "here is a concept that someone might find useful" (and avoided topics covered by recent scenarios), you might get more positive feedback.

Why don't you spend some time thinking of a small project that you could try? For example, the War of 1812 is a conflict that wouldn't have to be a very big or complicated scenario to be interesting. Not that I'm suggesting the War of 1812 specifically, only that there are conflicts and situations with interesting choices that are constrained in time and space. Use your imagination to think one of them up.
 
You could also consider if your large project has a particularly interesting minor part that you might focus on to start. Then the work you're doing on the "test" project doesn't need to be abandoned and can be incorporated into the larger goal eventually.

What about focusing on the fall of Constantinople, or the fall of Asia Minor to the Turks? You could even use the map you have but do what Tootall did in Napoleon and just have the parts you don't need "undiscovered." Or, if you want, I could shave the map down to a specific size for you (or teach you how to do it yourself with Mercator's map editor download.

If you concentrated on a brief spell (and mostly a warfare scenario) you could then just use your files as a good starting point for a larger project.

Further, as Prof. Garfield said, this will be easier to get to that 90% point. You could probably (with a little help and a lot of effort) get to the point where you could at least copy and paste most events from Boudicca and then edit them as necessary to get most "generic" events working fine. Then, if you wanted to do something cool or unique for that extra 10%, you could get some help if you can't figure it out yourself.
 
You can try following this tutorial for learning Lua.


I would strongly recommend following along by actually doing everything he does (and pausing to follow any train of thought or experiment that occurs to you.

I started re-writing Lua lessons here, if you want to get your feet wet with Civ II Lua. I didn't get very far, but it is something to start with (which is often the most difficult part). Again, I must emphasise that you must actually do everything, not simply read it, and ask for help if you have difficulties.

For Lua, you should crawl, then walk, then run. Try doing simple unit killed and on turn events and leave the proxy war engines for later. If you have 90% of a scenario complete, asking someone else to write some difficult code isn't a big deal. I've done it for both JPetroski and civ2units, and would do so for you if you need it. The question can I do X with Lua? is answered with probably. I therefore suggest that you begin by writing simple events for your scenario, and gradually build confidence and add complexity. However, if your scenario is going to be worthless (or need massive changes) if a particular mechanic can't be achieved, then build a different scenario. Or, just take a pre-lua scenario, and play around with adding Lua events to it.

No, no no,

I am interested, and with this tutorial, I'm already running into problems. He's explaining HOW to start with Lua. At 3:03 there's a bunch of files to download to run LUA. Why? Why in these three EXEs? Why not one? These are all HOW questions but not WHY questions. For someone like me, Why questions are way way WAY more important than how questions because they are grounding questions, they matter because they provide the mnemonic framework by which I will ever have a chance to understand and remember the rules and commands. Context is key. Think of it like how geography and climate and geology ecology frame the possibilities of agriculture, which frames the possibilities of trade which hems in the possibilities of political development which in turn limits the possibilities of historical action.

I need contexts like that to understand, otherwise, it's all arbitrary, and even if I understand the rules by them themselves at the moment, I'll never be able to remember them or truly understand how they work together except in the most rudimentary sense.

I understand deep, or not all. And it's frustrating as all hell.

One thing that would help, immensely if it exists, is a search thingie where I could mine other people's Lua scripts and if there's something in a line I don't understand, I could input it in this "dictionary" thing and look up the term and look up the term or word and have a better idea what the line is trying to do so I can sorta infer what the line is doing in the overall event? That would let me do MOST of my own detective work.

A lot of what I want to do, minus the theoretical D100 effect system, I've seen in other scenarios, I just need a way to analyze the commands to try and reverse engineer it, and "dictionary thing" might do the trick 75-90% of the way at least in understanding, if not implementation. Then I could try and build the thing, and if I get the White Screen of Death (That's what I'm calling the Lua Error messager, I think it fits) in testing and I can bring it to someone else for a second set of eyes.
 
You could also consider if your large project has a particularly interesting minor part that you might focus on to start. Then the work you're doing on the "test" project doesn't need to be abandoned and can be incorporated into the larger goal eventually.

What about focusing on the fall of Constantinople, or the fall of Asia Minor to the Turks? You could even use the map you have but do what Tootall did in Napoleon and just have the parts you don't need "undiscovered." Or, if you want, I could shave the map down to a specific size for you (or teach you how to do it yourself with Mercator's map editor download.

If you concentrated on a brief spell (and mostly a warfare scenario) you could then just use your files as a good starting point for a larger project.

Further, as Prof. Garfield said, this will be easier to get to that 90% point. You could probably (with a little help and a lot of effort) get to the point where you could at least copy and paste most events from Boudicca and then edit them as necessary to get most "generic" events working fine. Then, if you wanted to do something cool or unique for that extra 10%, you could get some help if you can't figure it out yourself.

OK, well, for the moment, doing the basic infrastructure will have to do, and I have to build that anyway. More exotic stuff will have to wait anyway. Turns out I already have a model because the Basil II and Koimmeni scenarios have the same parameters are mine so I can base the orad networks on them if I can';t find other sources so Yay there!

And the Age of Reformation has already given me ideas on what to do with the extra tilesets.

EDIT: What is Boudicca? Could find no scenario by that name.
 
Last edited:
One thing that would help, immensely if it exists, is a search thingie where I could mine other people's Lua scripts and if there's something in a line I don't understand, I could input it in this "dictionary" thing and look up the term and look up the term or word and have a better idea what the line is trying to do so I can sorta infer what the line is doing in the overall event? That would let me do MOST of my own detective work.

If you download Notepad++ you can open all the scripts you want and hit ctrl + f. A good place to start would be taking an event that has some text and searching for that text to find the event and then looking at it.

EDIT: What is Boudicca? Could find no scenario by that name.

I seem to have never uploaded it properly - I'll have to get on that. For now, here it is.
 

Attachments

  • Boudicca.zip
    23.4 MB · Views: 44
No, no no,

I am interested, and with this tutorial, I'm already running into problems. He's explaining HOW to start with Lua. At 3:03 there's a bunch of files to download to run LUA. Why? Why in these three EXEs? Why not one? These are all HOW questions but not WHY questions. For someone like me, Why questions are way way WAY more important than how questions because they are grounding questions, they matter because they provide the mnemonic framework by which I will ever have a chance to understand and remember the rules and commands. Context is key. Think of it like how geography and climate and geology ecology frame the possibilities of agriculture, which frames the possibilities of trade which hems in the possibilities of political development which in turn limits the possibilities of historical action.

There isn't anything to understand. The start of the video is just installing a Lua interpreter, and letting you access it from the command line. You only have to install it once. The only reason you can't use the Lua interpreter built into TOTPP is that the tutor uses a command that isn't in the TOTPP version of Lua. The command is io.read(), which lets the program ask for input while it is running, but which doesn't really make sense for the TOTPP version of Lua. You don't have to understand those instructions any more than you had to understand the instructions for installing TOTPP in the first place. You probably won't have to install a Lua console again. However, you may wish to write down the instructions for opening the command line and running a lua file, since you will be doing that for at least as long as you are using those tutorials. You could try zerobrane studio, https://studio.zerobrane.com/, which will let you write and run code in the same program, rather than using the command line and a separate editor.

I should probably clarify something. Programming isn't about memorisation. If you have to look up how to do something 50 times before it sticks, just look it up every time you do the problem for the fifty time it takes 50. If something never sticks, look it up every time you do it. It doesn't matter. Either re-watch the relevant portion of the tutorial, or find a written reference. I always have a web browser open when I program, and regularly search for stuff that I've used before, so that I can find out exactly what I have to write. You will have to get used to looking stuff up when you need it.

Programming is much more about figuring out what you want the computer to do. You might know at a high level what you want to do, but you have to translate that into a bunch of instructions that your computer can actually understand. Once you have those instructions, you can look up the exact code for the instructions if you don't already know them.
 
There isn't anything to understand. The start of the video is just installing a Lua interpreter, and letting you access it from the command line. You only have to install it once. The only reason you can't use the Lua interpreter built into TOTPP is that the tutor uses a command that isn't in the TOTPP version of Lua. The command is io.read(), which lets the program ask for input while it is running, but which doesn't really make sense for the TOTPP version of Lua. You don't have to understand those instructions any more than you had to understand the instructions for installing TOTPP in the first place. You probably won't have to install a Lua console again. However, you may wish to write down the instructions for opening the command line and running a lua file, since you will be doing that for at least as long as you are using those tutorials. You could try zerobrane studio, https://studio.zerobrane.com/, which will let you write and run code in the same program, rather than using the command line and a separate editor.

I should probably clarify something. Programming isn't about memorisation. If you have to look up how to do something 50 times before it sticks, just look it up every time you do the problem for the fifty time it takes 50. If something never sticks, look it up every time you do it. It doesn't matter. Either re-watch the relevant portion of the tutorial, or find a written reference. I always have a web browser open when I program, and regularly search for stuff that I've used before, so that I can find out exactly what I have to write. You will have to get used to looking stuff up when you need it.

Programming is much more about figuring out what you want the computer to do. You might know at a high level what you want to do, but you have to translate that into a bunch of instructions that your computer can actually understand. Once you have those instructions, you can look up the exact code for the instructions if you don't already know them.

Had to step away, to try and collect myself and after going over many of the other scenarios, I still don't have the first clue as to what I'm doing.

I'll be blunt, I don't have CONCEPTUAL knowledge of scripting. I'm not at the point of looking things up, I need to be, thoroughly taught my ABCs and the basic grammar of scripting, not LUA, but the entire concept of scripting. I need to understand the forest, and only then, can I understand the trees.

But the bigger issue is now that all of this is bringing back years of repressed memories of trying to learn German for four years in school. I don't learn in a classroom, not stuff like this. I went from a C student in high school math to an A student in college math because I had access to tutoring. Not sure this counts as a learning disability per se, but I'm really really slow on the uptake. Learning is hard, and I need personal instruction to begin to understand basic concepts. Now I can go for miles and miles once I learn it, but learning very basic skills is an arduous process for me, requiring many repats, questions of covered material, and explanations of concepts from very slightly different points of view and context. Think of it like scanning a 3D object, you have to scan it in from AL sides, and it's a painstaking and tedious task but once it's scanned in, the model's accessible at any tme. But I learn by questions and no passive means of learning will actually teach me anything.

I need my hand held through the entire process. And I'm willing to put in the time to learn and experiment, but I need the instruction I need. I don't know if anyone here would ever be willing to invest that much in me, that's my price of admission, and believe me, given all my experiences on the internet, I would absolutely not ask f I had any alternative. I cannot self teach basic skills. Medium level skills, yeah, once I can crawl, it's easier to walk and easier still to run. But it's crawling where I'm in most dire need.

And I repeat myself, looking things up isn't going to do me any good without a solid grasp of the very basic concepts. No amount of German to English dictionaries will ever let me form coherent paragraphs in German because I need a thorough and intuitive sense of the language to read or write it in any real capacity. And because I never sought tutoring for it, I simply don't have it. To this day a decade and a half later, I can tell you the theoretical organization of the grammar, a few of the most basic and common words, but I could not translate a single sentence from a native German speaker, I can't read any more than their version of a 6th-grade level, if that.

This is what happens every single time I don't have one on one tutoring. History, geography, political science, even economics to some degree, I get without issue. Everything else, and anything practical? Nada.

Is there someone here who might be willing to do the necessary tutoring?
 
Konig15, given that we're working in a forum here, wouldn't personal tutoring simply be someone typing things to you and you then reading them? What then is any different than what is currently available? There are already tutoring lessons written. Start with them, and if there are issues or questions, ask.

More to the point, however, are you able to build a scenario with the macro language? Folks are keen to help projects that might be finished but you're putting the cart well before the horse and I suspect many of your challenges with lua will first appear as challenges with basic scenario design.
 
Learning to program is not at all like learning German or any other foreign language. Get rid of that idea. Programming involves different skills and aptitudes. It involves being able to give precise instructions or directions. Incidentally, I'm not sure where you're from, but where I live, no one really learns the foreign language(s) they're taught in high school. I believe that in the States, less than 1% of people even claim to have learned to speak a foreign language well in school (though they may have learned elsewhere).

I'll be blunt, I don't have CONCEPTUAL knowledge of scripting. I'm not at the point of looking things up, I need to be, thoroughly taught my ABCs and the basic grammar of scripting, not LUA, but the entire concept of scripting. I need to understand the forest, and only then, can I understand the trees.

The idea behind scripting is that you are providing a series of instructions for the computer to follow, either when you tell it to, or at a certain point in the civ game. You tell the computer to gather information, especially information that you don't know when writing the script, and then to perform a series of actions using that information. It's a lot like writing a recipe.

I believe I've suggested it before, but try using Scratch to make animations (or whatever). It's like the Lego version of programming. You don't have to worry about the exact way to write something, you just drag and drop.

Alternatively, hunt around the web for Python lessons until you find some that make sense to you. Programming in Python is very similar to programming in Lua, but Python is much more popular.

The only other thing I can suggest is to just follow some tutorials and accept that the first time(s) you watch/read it won't make much conceptual sense. Sometimes you follow for the big picture, and others times you follow for the details.

But I learn by questions and no passive means of learning will actually teach me anything.

I need my hand held through the entire process. And I'm willing to put in the time to learn and experiment, but I need the instruction I need. I don't know if anyone here would ever be willing to invest that much in me, that's my price of admission, and believe me, given all my experiences on the internet, I would absolutely not ask f I had any alternative. I cannot self teach basic skills. Medium level skills, yeah, once I can crawl, it's easier to walk and easier still to run. But it's crawling where I'm in most dire need.

Like JPetroski, I'm not sure how "personal" tutoring would differ from you reading the lessons I've written, and then asking me questions about the material, which is something I've always been willing to do.

Here are my original Lua Lessons.

Here is where I started to re-write them.

If what I've already written isn't helpful to you, then I don't see how anything else I could write would be helpful either.

If you just want to use "regular" events along with "buildability" restrictions, I recently put up a tutorial video about that.
 
Had to step away, to try and collect myself and after going over many of the other scenarios, I still don't have the first clue as to what I'm doing.
If you want to start at the very beginning to understand the basics of scripting, studying the Lua code in most scenarios (Napoleon, Over the Reich, Medieval Millennium, Boudicca, Age of Reformation / 1453, ...) is just going to be overwhelming. Prof. Garfield's tutorials are a much better starting point, and he deserves a round of applause for investing time in designing and creating those.

I'll be blunt, I don't have CONCEPTUAL knowledge of scripting. I'm not at the point of looking things up, I need to be, thoroughly taught my ABCs and the basic grammar of scripting, not LUA, but the entire concept of scripting. I need to understand the forest, and only then, can I understand the trees.
This simply isn't very clear. You want to understand the forest first, before learning about the trees? But you also say you want to be "thoroughly taught my ABCs and the basic grammar of scripting" which to me sounds exactly like the "trees". You'll achieve "CONCEPTUAL knowledge of scripting" precisely by learning, one piece at a time, how scripts are constructed and what they can do. I'm not even sure what you mean by the concept of scripting, if it doesn't involve any understanding of, well, scripts.

As I see it, you can't truly understand the forest without first learning about trees -- and let me be clear, I don't mean "you" specifically, but really anyone. As you yourself said, using a different analogy:
Think of it like scanning a 3D object, you have to scan it in from ALL sides, and it's a painstaking and tedious task but once it's scanned in, the model's accessible at any tme.
Each "tree" is one of those 2-D scans. Getting to know a tree takes a bit of time, and getting to know a lot of trees can be painstaking and tedious. But as you learn more and more trees, you will start to get a better and better understanding of how they're alike, and different, and how they work together, and this eventually becomes an understanding of the forest. Expecting to understand the forest first is like expecting to see the 3-D model without doing any of the 2-D scans.

At the beginning, here's what you need to know: Scripting (the "forest") consists of providing step-by-step instructions to the computer ("trees"). There just isn't much else to say about scripting in general that doesn't require understanding the process of providing step-by-step instructions to the computer. So, let's pick a first goal, and figure out how to how to give a set of step-by-step instructions to the computer to accomplish that goal. Now you know about an "oak tree". Next, we'll repeat the process with a different goal, and now you know about the "beech tree". Repeat it a third time, and you know about the "maple tree". Repeat it a fourth time, and... wait a minute... this is really just another oak tree, isn't it? It's smaller, and doesn't have acorns, but the leaves are shaped the same way, let me go back and look at the first one, yep, this is also an oak tree, interesting, I understand it a little better now. What's this fifth tree? This looks like a new one, I'll call it an "elm tree". What about this sixth tree? It's a... hang on a minute, this looks similar to both the beech and the elm. Huh. I'm going to post a question in the "forest" forum: "What are the best ways to tell a beech apart from an elm?" OK, I'm taking the analogy a long way, and it's going to break down eventually. But do you see what I mean?

Are you hung up at the point of asking, "Why do I have to start with this particular (oak) tree?" There are two answers: (1) Trust the forest expert to know the best place to start; when you become a forest expert, then you'll be able to understand why it's the best starting point. You can't understand calculus without learning algebra first, or algebra without addition and multiplication first, and it's the job of the teacher to present the material in the order that makes sense. But (2) sometimes the order doesn't really matter -- whether you learn the maple second or third, you'll get to it eventually. A bigger issue is that if you insist upon debating the process upfront, you may never deem any answer truly satisfactory, and the most significant outcome is that you're putting off learning about even your first tree.

We want to help. But as JPetroski and Prof. Garfield have written, within the structure of an online forum (meaning, without an in-person, one-on-one, face-to-face conversation), we're providing the best materials that we can. I'm sorry if your learning style makes an online forum a challenging environment for you, but that's simply what this is.
 
Last edited:
Hey guys I appreciate what you guys are trying to say. And because I wasn't clear, let's start with a real example: the events.txt file from Napoleon 3, which is Lua, the most modern one where you start at the 1805 campaign and you get mad bonuses for having Nappy on the field.

I tried to looking at this file, unlike the old Civ 2 scripting language I can't really tell even when individual events begin.

In order to understand the events in this events folder, I would need someone over discord to audibly explain to me what each line command does, line by line, from start to finish. For example, for the start


--[[
events.lua, by Knighttime and tootall_2012
for Napoléon, a scenario by tootall_2012
]]

Is this gonna show up in the scenario or is this internal documentation for the event file itself?

That's the firstfew lines. Below is this:

NAPOLEON_LUA_EVENTS_VERSION = "1.3"
MINIMUM_TOTPP_VERSION = "0.15.1"

print("=====================================================")
print("events.lua v" .. NAPOLEON_LUA_EVENTS_VERSION .. ", by Knighttime and tootall_2012")
print(" for Napoléon, a scenario by tootall_2012")
print("")
print("Requires TOTPP v" .. MINIMUM_TOTPP_VERSION .. " or higher, by TheNamelessOne")
print("=====================================================")
print("")

local eventsPath = string.gsub(debug.getinfo(1).source, "@", "")
local scenarioFolderPath = string.gsub(eventsPath, "events.lua", "?.lua")
if string.find(package.path, scenarioFolderPath, 1, true) == nil then
package.path = package.path .. ";" .. scenarioFolderPath
end

Now the first thing that confuses the fudge out of me is there's no "begin" line so is this is a event or command, how the fudge did the LUA know to execute anything? And now that we're on this subject, is there a difference between an "event" and a "command" where I know an event is something that happens strictly within the game as per normal Civ 2 scripting where a "command" might have more outside utility in ways I don't quite understand? I mean this isn't Clarketech to me but it is a mirror darkly and I don't know what it can and can't do exactly.

local func = require("functions")
local civlua = require("civlua")

local help = require("helpkey")

-- •••••••••• civlua function wrappers: •••••••••••••••••••••••••••••••••••••••
--[[ These functions wrap calls to civlua in order to provide additional output
to the Lua console regarding success or failure. ]]

local function findCityByName (cityName)
local city = civlua.findCity(cityName)
if city ~= nil then
print(" Found city \"" .. cityName .. "\" with ID " .. city.id)
else
print("ERROR: did not find city \"" .. cityName .. "\", returning nil")
end
return city
end

--[[ Custom version of civlua.findUnitType, which has an error in TOTPP 0.15.1. This
is temporary and could be eliminated if a later TOTPP release resolves the issue.
"getCosmic()" should be replaced by "cosmic" as shown below: ]]
local function civluaFindUnitType(unitName)
for i = 0, civ.cosmic.numberOfUnitTypes - 1 do
local unittype = civ.getUnitType(i)
if unittype.name == unitName then
return unittype
end
end
end

And this can go fudge off right now because I have a better chance of understanding an argument between Beaker and the Swedish Chef from the Muppet Show than understanding this without C3PO level translation services.

I don't know how you guys ever got to understand any of this without semesters of community college and thousands of dollars of adderal.
 
Top Bottom