Not sure if it will be that long, besides, there are other long movies already submitted to the site.
Mainly lack of time really. But I have actually already started to play around with the game again. There is much testing to be done, and also we're not sure if we should tackle this game level-by-level or make one big massive TAS to cover all levels.
That would be very nice! I take all I can get.
Currently we only have one RAM-address when I looked through the forum quickly. I would need help to find more.
Regarding scripts I'd be happy to see what you can provide. A nice one would be to have a Lua script that points to where the computer player is going. Not sure how hard it is to find needed addresses and to make such a script.
Other things that could prove useful is some kind of HUD that displays good to have information. Ranges and distances etc comes to mind.
If you can think of more stuff, feel free to add them.
Here we go https://gist.github.com/realmonster/20940bafbdfbbccca7968cf392953ed1
Try under BizHawk.
It works under 1.13. I hope it works under 2.2 too.
I can't run right now 2.2.
Some guidelines:
Harvesters may carried by carryall if you put any unit right next to him (even other harvester), and aim with harvester that unit. If unit is far away, harvester will just stop doing anything.
Low electricity can't reduce HP lower than half of max.
Low HP reduce building speed, but doesn't change cost.
Money spent during building is almost equal to cost, but with small error,
which is kinda random.
Also, electricity gain from Windtrap is reduced in ratio equal to ratio between hp and max hp (armor). But it never lower than half of electricity gain provided by Windtrap.
I don't know other effects of low electricity or HP.
Repair: if you close it by buildings or units, it will return unit back by carryall.
I don't know whether it works for Refinery.
When you make buildings not laying on concrete, it will have flag that you made it so. I don't know if it cause anything.
Also, hp of building will be reduced in ratio equal non-covered/total-area.
But result is never lower than half of HP.
If you destroy building it will restore it, but not more than one.
If you capture building, and then destroy it, enemy will not restore it.
So, this is way to restrict enemy to restore his buildings.
AI is pretty stupid, you may make it fire in his own buildings.
Also, you can lure unit and run away, while killing it with other units.
I guess first missions until missions with turrets should abuse AI stupidness and kill their bases with units that's given on the start.
Except first mission, which goal is to collect spice.
It's TAS, so you can release C button during single (or two) frame only when you need to press A to select unit or give a command.
Also, unit selection works in such way that you can select unit kinda far away from where it is. You can abuse it too.
And, in the end: as any other strategy.
More resources - faster developement.
Faster developement - more units.
More units - faster win.
I guess if you need production, you should have at least 2 refinery with 3 harvesters. But I didn't test anything.
Wow! Thank you r57shell. This is a really cool script. It will help a lot while working on this.
I tried it in BizHawk 2.2 and it works great. I played around using it for little over an hour now.
Cool that the waypoint of the sandworm and death hand was in there too. The various timers are great too. For example the super weapon timeout timer. Health bars on all the buildings.
Some questions.
The green line that renders is the final target of a moving unit or? And the red line is the movement queue or attack target or something?
Is it possible to predict the exact spot a death hand will land? I could of course see its waypoint after launch, but some times it's tricky to know exactly where to drop it in order for it to land on the building you actually want to destroy. If a helper script for death hand would be possible I would simply love it.
An additional feature I thought of would be to see the sight and range of a selected unit, maybe drawn around the in-game cursor. This would help a lot when moving units so that I know exactly where to place a unit so that it can auto-attack a turret or or unit. If this needs to be hard-coded somehow I would be happy to help with a list or something as long as you show me how to do it.
I was thinking of drawing maybe two different circles around the in-game cursor. One red circle that symbolizes the attack range, and one blue circle that symbolizes the vision range. At least I think the vision and attack range are slightly different, but I'm not sure if I remember that correctly. Secondly it could be an idea to draw all units vision/attack range around themselves. I'm not sure if this equals the aggressor zone where an enemy unit will move and attack/defend the region.
Another feature I was wondering about - Is it possible to see a waypoint to an idle unit? In late game it will be hard to check all units over and over to see what they are up to. If a script could keep track of it, the TAS production time would be reduced by a lot I think. :)
Regarding the strategies - Thank you for the pointers!
To win quickly I think we should first target the construction yard, then the vehicle factories, and lastly the barracks. The enemy death hands should be possible to manipulate so that it either hits themselves or in a place where it doesn't hit us at least. We'll see in the future how it turns out.
Again - A big thank you for providing the script!
Green line is target. Red line is movement target. It's for "simple" movement. In other words: straight line, except auto-aim missiles.
I need to make investigation of it. I don't know yet.
It is in my schedule. Also prediction of result of hitting A button: selection / aim.
I spent alot of time already. I was doing this script for 5 days to day when it was posted. Now I'm resting for a while.
Yes, there are at least 3 ranges: vision of AI (lure), vision of "black sheep wall", and range of missiles.
You want avoid idle units? I can, if I'll be able to find out how to detect such unit.
In schedule also drag of overlay... during pause of emulation.
Maybe also I'll make hotkey for automation of targeting cell/unit by cursor.
Also, I forgot to mention: in some missions you could kill harvesters to make AI have low resources.
I hope I got place in TAS credits at least.
Wow! Seems that you have a lot planned for this script. Keep up the great work!
Regarding the AI resources - I thought that the AI didn't need resources in order to build things at all? It's more or less just for show. I guess we could try to set the AI's money to 0 and see what happens if they try to build units or buildings.
The death hand seems to be RNG based somehow. I did some tests yesterday, and depending on what frame I launch the death hand it would target different things. Some times missing by a full screen or more, some times hitting something I didn't point at. Some times I even had better results than I first intended. :D Location of the cursor also seems to affect where it lands in the end. Also, dropping it next to my own palace resulted in some unexpected quirks. It seems that it get's confused, looses its trajectory because it is to close, and then it decides a different trajectory and wobbled around for a bit before exploding in my base. Much fun.
And yeah, you will own big credits for all the help provided! If I manage to produce a final TAS of all of this I would even add you as a co-player for the sheer amount of work you have put into this. Without the script I feel that a TAS would be unreasonable to handle almost.
No, AI definitely needs money.
1) You can always get time when he unable to repair buildings. If you did play a lot, you should know that.
2) If you enter SPLURGEOLA cheat for 25k money, actually all houses recieve this profit, and they starting to build units as crazy.
Also, electricity matters too.
RNG is everywhere. I have no idea how many of RNG calls, but I've seen it everywhere. For example harvester increments spice at random.
I guess it's additive to cursor position, so you can just look where it lands, and then assume this as positive shift, then go back to frame where you did launch, and aim at same spot MINUS shift, and you should (I guess) aim perfectly. Issue can be: spot MINUS shift is out of screen :\.
Will see when the time comes.
If we can pin down how the deviation is calculated and applied to the target in order for the game to derive the flight path, it should be possible. I suspect it's related to how long it's in the air but I don't have an easy way of confirming that for the SMD version (the PC version is trivial to figure out for two reasons - it's been disassembled AND modding the building/house special attributes in order to facilitate testing is easily accessible even to myself)
Script updated, link is same.
Aim shows where cursor aims.
Grid is grid.
Fog shows visibility border.
Turrets is turrets range.
Sight is unit explore range.
Range is unit weapon range.
This shape of "circle" is not bug, it's actual shape of distance.
Unit may hit unit if it has center inside that shape.
Unit may hit building if it has cell center inside that shape.
Turrets center of range is left top corner.
By the way here is some doc http://ledmeister.com/dunexref.htm
I don't know its validity.
Sorry for the lack of response on my behalf. I've been working a lot recently and I didn't have time to check it out yet. I'll see when I get around to test it out. Thank you for the update meanwhile!