[development thread]Aftermath mod

Do they show up in the pedia? I have never done terrain modding before so I will take a look. I'll start working on civs.
 
Do they show up in the pedia? I have never done terrain modding before so I will take a look. I'll start working on civs.

Afterworld doesnt have a pedia :)
If you make everything show up and work in your version, can you simply upload your version? so everyone looks at the same stuff.

And, i am still wondering if Afterworld allows for different civs. and if it even allows for new units. I think I saw some references in python directed to "feral" and "bleeder".
 
Funny, my copy of aftermath has a pedia show up. If some python functions point to feral or bleeder, it can be changed and it will only affect gameplay.
 
Funny, my copy of aftermath has a pedia show up. If some python functions point to feral or bleeder, it can be changed and it will only affect gameplay.

Ok, after you are done with your modding, can you please upload your copy? that would help me alot, as it gives us a common base ;)


edit: does your original afterworld mod show a pedia?
 
Here is the civs. In the pedia No civs show up at all yet when you go to play a random map the civ names show up fine. I think that is a python thing. I'll check to see if my afterworld has a pedia. If it does, it was added with 3.17.

Could someone who know python go through it and see if it makes no civs appear in pedia.

I added 2 screenshots to show the wierd things happening with civs.
 

Attachments

  • Civ4ScreenShot0003.JPG
    Civ4ScreenShot0003.JPG
    58.4 KB · Views: 181
  • Civ4ScreenShot0002.JPG
    Civ4ScreenShot0002.JPG
    55.7 KB · Views: 195
Okay, I did a lot more digging and I see how they setup Afterworld without any SDK changes.

First in CvMainInterface.py they manually add action buttons based on promotions you have:

Code:
						#Spawn Sentinel
						if g_pSelectedUnit.isHasPromotion(gc.getInfoTypeForString('PROMOTION_SPAWN1')):
							g_pSelectedUnitData = pAfterworld.getUnitDataByID(pHeadSelectedUnit.getID())
							if (g_pSelectedUnitData.getSpawnTimer() == 0):
								screen.appendMultiListButton( "BottomButtonContainer", gc.getPromotionInfo(gc.getInfoTypeForString('PROMOTION_SPAWN1')).getButton(), 0, WidgetTypes.WIDGET_GENERAL, 673, 673, False )
								screen.show( "BottomButtonContainer" )
								iCount = iCount + 1

Then also in that file they have you drop into the pick plot mode if that button is selected (673 is the label they give it):

Code:
			elif inputClass.getData1() == 673:	#Spawn Sentinel
				pAfterworld.pPushButton = 10
				CyInterface().setInterfaceMode(InterfaceModeTypes.INTERFACEMODE_PYTHON_PICK_PLOT)

Then in CvAfterworldEvents.py they apply an action to the button (here the link is the pPushButton number):

Code:
				elif Afterworld.pPushButton == 10:
					print "pushed 10"
					effectType = gc.getInfoTypeForString('EFFECT_CREATION_BIG_FAST')
					CyEngine().triggerEffect(effectType, pPlot.getPoint())
					pPlayer.initUnit(iSentinel1, iX, iY, UnitAITypes.UNITAI_ATTACK_CITY_LEMMING, DirectionTypes.NO_DIRECTION)
					pUnitData.setSpawnTimer(10)

Finally in CVGameUtils.py they apply some widget help, so when you mouseover the button you get some text about what it does:

Code:
			elif (iData1 == 673):
				return CyTranslator().getText("TXT_KEY_REALBTNSENT1",())

Its completly ignored by the AI, but if you are willing to allow it only to human players its a pretty flexible system and you should be able to do some of the things you want. For example you could use this to allow throwing moltov cocktails pretty easily, as well as granting shot optiosn to shoot the arm/leg/etc as you wanted.
 
I think the problem could be connected to Afterworld being very scenario specific. I think they blocked the pedia completely out of the scenario, so they had less things to bother.

I am not sure if it can be played on a random map at all. If so, one needs a really good mapscript, which sets walls and doors for some buildings. And places several units.

So, I think creating a Map / Scenario to start with is best.

A scenario where you will play the 7th Company and will have a given amount of troops (i would also like you to be able to "rescue" more units, when you find them on the map they will join your cause).

We will need several units for the 7th Company (if you wanna add them, i can do the art defines afterwards):

"Grunt" Units:
Recon (mp5, backpack): move 6, strength 5, icombatlimit: 50, airrange 2, iaircombatlimit: 50, field of view (fov):7
Gunman (ak47/famas/m16, helmet): move 4, strength 7, icombatlimit: 150, airrange 3, iaircombatlimit: 80, field of view (fov):4
Machinegunner (Machinegun, helmet): move 2, strength 6, icombatlimit: 100, airrange 4, iaircombatlimit: 140, field of view: 5

"Hero" Units:
Sev(Double Uzi, close combat) move 5, strength 8, icombatlimit: 100, airrange 2, iaircombatlimit: 50, field of view (fov):5, firststrikechances:2
Jal(Pumpgun, close combat, Engineer) move 4, strength 9, icombatlimit: 200, airrange 1, iaircombatlimit: 300, field of view (fov):5 firststrikechances:1
Atticus (Sniper rifle, far ranged) move 3, strength 6, icombatlimit: 50, airrange 6, iaircombatlimit: 200, field of view (fov):7
Ragah(Rocketlauncher, Mines, MP, Destruction) move 3, strength 7, icombatlimit: 100, airrange 2, iaircombatlimit: 50, field of view (fov):5 (should have something like 5 "Nukes" setting fire (fallout?, making a plot unpassable or at least damaging) on the place they hit, nukes should be able to be fired 4 fields wide and destroy everything on that field)
Riest (MP5,Medkit Medic) move 5, strength 6, icombatlimit: 70, airrange 2, iaircombatlimit: 70, field of view (fov):5
 
Ok, I just had another test run.
And... well, Afterworld seems pretty limited. Independent of the icombat limit, every unit does the same (not even randomized) damage to an opponent. testet 3 units with strength 5 and icombatlimit of 100 and 500 vs a normal bleeder enemy with icombat 3 and icombatlimit 100 and all results were: 4.6/5 for my units and 1.6/3 for the bleeders after one attack each.
This makes the whole thing a bit boring, you don´t have factors to influence and divert.

So, until we have cracked the combat system I don´t think this is leading anywhere :(


It might be easier to use FfH as a base, clean everything out, transfer the big walls, the line of sight, the UnitAITypes.UNITAI_ATTACK_CITY_LEMMING and the "turn around function" and then make use of the spell system for shooting and the normal combat system for close combat... ?
Well, I mean, I can´t do that, but... opinions?
 
Every way is going to require substantial programming. Some ways are heavier on python, some rely more on the SDK, but your not going to be able to get away from it.

I would design exactly as we do with FfH. Design the game you want in as much detail as possible. List the equipment, list the creatures, list the abilities, list the scenarios, list the player units, etc. Try to be as small in scope as possible, dont add every cool idea, but the minimum you will need to make a fun game (you can always expand later).

Use that list to determine the resource needs. Something like:

Players:
Brawler (high melee skills)
Psychic ("special" abilities)
Medic (can perform limited healing without a med pak, increased effectivness of med paks)
Para-military (high weapon skills)

Stats:
Hit Points
Armor
Strength
Skill (with each of the below weapons)

Equipment:
Med Pak (quantity tracked)
Body Armor (light, destructible)
Body Armor (heavy, destructible)
Shotgun (requires shotgun shells)
Sniper Rifle (requires bullets)
Gernade (quantity tracked)
Baseball Bat
Moltov Cocktail (quantity tracked)
Chainsaw (requires gasoline)
Flame Thrower (requires gasoline)
Pistol (requires bullets)
Bullets (quantity tracked)
Shotgun Shells (quantity tracked)
Gasoline (quantity tracked)
Money (quantity tracked)

Abilities:
Attack
Move
Crouch/Stand Up- Increases aim of guns when croched, cant move when croched, croched character get a free shot at an opponent that moves into range if they didnt fire last turn
Switch Weapons
Create Moltov Cocktail- requires gasoline, para-military only ability
Heal- medic only ability
Frenzy- special brawler ability to increase melee skills for a short time
Vision- see into an unrevealed area, psychic only
Leg Shot- decreased chance to hit, slows opponent
Arm Shot- decreased chance to hit, decreases opponents aim
Head Shot- decreased chance to hit, increased damage

Enemies:
Zombies!!!
Dogs
Mutants
Headcrabs
Escaped Prisoners
Asylum Inmates
Enemy Soldiers

Mechanics:
Players with below a required skill can use items but they may react badly (using a chainsaw with under the minimum skill can result in hitting yourself or a nearby ally)
Build screen- Allows you to select your characters and purchase equipment before missions
Equipment System- Enforcement of 1 active weapon, 1 active armor
Targeting System- range determined by the weapon, line of sight enforced
Stun- players and enemies can be stunned for x amount of turns, during which time they can take no actions

Other:
Hostages- must be protected for a set time frame or moved into a secure area for victory/reward
Chest- Can be opened by any unit within 1 tile, can hide opponents, traps, equipment or money


The temptation will be to add to this list, thats probably the best part of modding. But to be successful you need just enough to be able to play. Try to cut it as thinly as possible (honestly I would probaby go to about half the above list just to get the things you absolutly need for the 1st scenario). The fastest way to kill a mod is with to much ambition. Start small, get it working and then slowly add and refine. You will maintain focus, interest and have the least chance of burning people out.

The actual decision on a code base to use doesn't come until this is all figured out. At that point you will need a programmer interested in implementing the ideas and the codebase will largely be his preference. Whatever he thinks is the easiest way in the way he wants to implment (understanding that there is a thousand different ways to do this stuff).

Hopefully that helps.
 
Thanks again Kael,

I decided to postpone the whole thing until i had a speak to grey fox, I think he already has a base for his civ rpg. And thus a good starting point and motivation.

I like to design around a given base of options, my brain does that automatically, just because i have no skill (and dont have time to acquire one) to change the options (code / rules / mechanics).
(when i was young I designed loads of board games and did something similar to this mod, just with little plastic soldiers and a set of rules for dices, it was great fun until my best friend discovered that my grenade system was way overpowered ;] )

That limited skill was the reason i was happy in the first place to see Afterworld using different xml combat related values, (which could have allowed a nice combat system)... until discovering that they don´t have a meaning.

I will go back to creating graphics, until I find a programmer as enthusiastic about this project as I am ;) (i never wanted to do the xml work in the first place, i am all about graphics and tactics ;))
 
So the mod is on hold until further notice?
 
So the mod is on hold until further notice?

thanks for your help.

yes, definitely, the mod is on hold. it is not abandoned.
But it is definitely easier to create a mod like this with a dedicated programmer and/or a base (like Grey foxes CIVrpg or Lutefisksmafia´s Dungeon Adventure).

What one could do for a start is, changing the graphics of Afterworld to a whole Zombie-setting, for those who didnt like the futuristic approach of Afterworld (and the gfx is almost available / easy to produce).
Only thing still inconsitent would be the comic / popups / and texts.

I might do that at some point.

First I will continue work on some FfH graphics, then I will have to do some graphics for Fury Road, and after that I will come back to this one.

I will update that thread as soon as I have something more to show.

Again, thanks for your help, I will give you notice, as soon as we have a programmer ;)
 
even a bit too late, iAirCombatLimit gives only the maximun damage that can be done to a unit, eg 100 means max is 100%, a unit can be killed, with iAirCombat you can change the strength, i tried it to set it to 50 and almost killed a bleecher with one shot (0.3 hp remaining), there should be also already a code for changing the model included (there are two SEVER in the and davidlallen seems to use a similar function for his out of fuel units), so different weapons with different strength seems possible (every thing is a model and the models are changed through the function). This iAirCap only means the amount of airspace a unit needs (perhaps 4 was used, so that there are no stacks possible :confused:)

Nevertheless, hope you find your coder and the project will be soon active again :)
 
I haven't really read the whole thread yet, but it's possible that I could help you out. The only problem is my "internet-activity". Since I don't have a connection at home it will be hard to work together on something like this. So I can't promise anything yet.

I might be moving in a while, but that's months from now, and when I do, I am quite certain I will have a steady connection from the get go.
 
I haven't really read the whole thread yet, but it's possible that I could help you out. The only problem is my "internet-activity". Since I don't have a connection at home it will be hard to work together on something like this. So I can't promise anything yet.

I might be moving in a while, but that's months from now, and when I do, I am quite certain I will have a steady connection from the get go.

woa, nice to hear from you!
I hopes you might still want to develop the engine for civrpg. I think I would base it on that then, as you are completely right with your internet activity problem making things a bit complicated.
I´d hope you could do a basic rpg engine, useable for all kinds of rpgs (fantasy, tactical, modern, futuristic, etc.).
Just by having a basic system for combat (i liked your critical hit, stun damage, etc. system you had planned) and equipment which mechanics can be used for all kinds of stuff, the setting would result mostly from graphical differences (have a chainsaw function like of a sword, an ak47 work similar to a bow, have a grenade instead of the fireball spell, a flakvest instead of a chainmail etc. )
 
Yeah, I just need to get into a productive mood again so I can start doing some hard work on it. I've almost finished the coding on my Advance Wars mod, which I will use as base for the rpg engine.

I think I will actually take your advice and make a basic rpg engine from that first. Without anything too specific for my mods and with moddability in mind.

My biggest hassle will be converting the excellent equipment system (by Maian I think) to BTS.

Anyways, I'll try to keep you updated on the progress. I have some other mod ideas I'm working on as well (including a total conversion mod set in the far future), and also some mod comps which I want to make (which should be easy and fast to do).
 
Yeah, I just need to get into a productive mood again so I can start doing some hard work on it. I've almost finished the coding on my Advance Wars mod, which I will use as base for the rpg engine.

I think I will actually take your advice and make a basic rpg engine from that first. Without anything too specific for my mods and with moddability in mind.

My biggest hassle will be converting the excellent equipment system (by Maian I think) to BTS.

Anyways, I'll try to keep you updated on the progress. I have some other mod ideas I'm working on as well (including a total conversion mod set in the far future), and also some mod comps which I want to make (which should be easy and fast to do).

sounds really good to me, no hurry, there also a lot of other things on my to do list :).
in exchange to your programming effort i can offer you to help out when you need anything graphics wise for your other mods.
 
Top Bottom