Base self defense late start problem - Devs please look


#1

Ever since I started playing this game - about a year ago now, just after I became unemployed from my job as a professional software developer, I have noticed that this game seems to have more bugs than the underside of a rotten log. It seems to crash more often on startup than starting successfully… but that isn’t the problem I’m about to write about today.

My problem is that when defending a base - notably my own - the ‘story’ is that my character is the owner of the base, and if at home, can decide to defend against an incoming attack.

To this end, I can tap “Join” when offered the opportunity, and the expectation is that I’ll have 5 seconds or so to set up my defence before the first raiding dragon appears over my islands.

However…!

This is not what always happens. When I started playing, occasionally an enemy dragon would have already begun destroying my towers before I got a look at my base, and these days, it seems to happen more often than not. Recently, an attacker killed over 50% of my defences before I could act, even though my defences only start on the 2nd short island, and I have an otherwise useless tower at the far end of my base whose purpose is only to give me the time to set up that the game should already be giving me.

As a professional software developer with experience in distributed communication protocols on top of the TCP stack, it is clear to me that there is no effective handshaking between attacker, defender and PG’s servers, that the game UIs are relying upon relative timing, and further, due to whatever development has taken place since this system was originally implemented, the relative timings have slipped and no longer produce the intended results.

Ideally, what is needed is a system where if an owner-defender opts to defend, their acceptance sets a flag on the server for that attack instance, which prevents the server from allowing the attack to go ahead until the owner has had verified time to set up or the connection to the owner’s GUI is deemed lost.

Furthermore, I would like to see a system where if a base owner gets a (currently useless) “your base is under attack” notification, they can click it (before it times out), the game will load, and they can defend normally.

Ultimately, I would like to see attacks on my base in real time, and be able to defend as I please, and not have to join an instantiated copy of my base at the start of an attack. Of course, this would require that each base have an attack queue, but that’s not a bad thing either.

Now for the shameless self promotion…

I am a highly experienced senior developer, and I am currently looking for work. If PG was to hire me, I could take a look at and solve many of this app’s problems. I also have experience with board games, roleplaying games, world design, and procedural map generation, so there are any number of ways that I could help.

I’m currently in Australia, so remote access would be necessary, but my hours are completely flexible. If PG is interested, I can send a private message with my resume and other relevant experience.


#2

@PGCrisis


#3

Preach!

Btw if you’re based in Sydney PM me and I can put you in touch with the Dev team at Domain who are doing some really cool stuff atm.

And yes, the Android programmers at PG are quite bad.


#4

Unfortunately, I’m in Melbourne.

I may not know the source code for WD, but I have enough dev experience to know that it needs some really serious help. All those crashes, functionality that only works on iOS, changes that break things… that all smells like the original devs left and the replacements don’t understand the source code.


#5

Yep. And if you include the issues with security, double yep.

Really though, I love this post.


#6

I don’t see why you can’t join to defend an attack on your base at any time during the attack. I always get notifications that I’m being attacked and by the time the game loads I can’t join. I understand the attacker can’t be expected to wait round forever but I think the ability to defend yourself shouldn’t be set to that 10 second window.


#7

I could write a novel about what this game needs…

For example, when I first installed it, it looked great… but I soon realised that the dragons fly on invisible rails, and the base defenses don’t make any logical sense- why don’t dragons approach from the base end - there are no defences at that end, and every defence tower nearby is pointing away.

I’d like to see a base that makes sense… a castle in the middle, defences on the walls and in the surrounding fields and forest and mountains, and attacks that allow the attacker to choose their own route in through the defences, as well as allowing attackers to change their altitude and speed as well as fly to the sides. All this maneuvering should allow the dragon a chance to dodge. Defenders should be able to take over the controls of defence towers and try to improve the hit rate. Bases should be fully integrated into Atlas, with real, random topography, and the player’s choice of a site for their base should confer real advantages and disadvantages, rather than “Everyone’s base looks the same, except for their choice of defence towers.” The player’s non-attack-roster dragons should all help defend the base, not just sit warming themselves in their quarters while enemies blast them down around their heads.

I’d like to see a story line and technological progression that makes sense, has been thought out in advance, and is fully integrated into the game, not the current “You were born to a family that could talk to dragons… murdered family… wicked uncle… now you’re back… and the unscripted reality is that your wicked uncle is pretty much an irrelevant wimp amidst the otherwise aimless free-for-all between the other players… and that’s all there is.”

With only player teams having any significance, only player teams are the enemy, and there’s no goal other than to try to become tougher than everyone else, and collect all the dragons that, while nicely ‘ugly’, are for the most part only used briefly before being replaced by yet another soon-to-be-obsolete dragon.

However… give the players an emerging storyline, and something to fight against… or for… that is not just another player faction, and a lot of the current problems with player and team behavior will go away, or at least be reduced.

Of course, if this was to be implemented, it would scarcely be recognisable as War Dragons any more.


#8

When I started playing June of 2017, I could join my defenses when the banner dropped on my phone. Game loaded and I was in. That hasn’t happened in months. My device is iOS. I messaged support a couple times about it and they said that my (brand new virtually empty iPhone X) had too much on it, too many apps open and poor connection. No one I know has been able to get in to defend in ages.

This is definitely one of the fixes on my top ten list. Thanks for bringing it up!


#9

the only thing we can do after a notification of under attack pop up is get in fast and burn all the resource. most of the time I can not even do that and I have a base with 8 island long


#10

All of what you said is really interesting, some of it I also expected to see when I began playing two years ago but indeed that doesn’t look like the game we have at the moment. Besides I can only shudder imagining how resource-heavy such a game would be for a mobile device, especially when many devices already struggle to display it correctly (though you seem to suggest it has to be with the original code).

I know absolutely nothing about coding, but I feel like the game you describe would work much better as a video game exported on a gaming platform or computer than on a mobile/tablet device because of the sheer range of smart devices which exist. From my limited knowledge it appears that gaming platforms and computers are less widely spread out in terms of minimal performance and in my opinion the game you describe would work better on these more specialised or powerful platforms.


#11

Resource heaviness is a result of setting graphics detail too high for the device. Trim stuff back to simpler, lower polygon models with detailed skins, and mobile devices handle it just fine, and it can still look good.

As for tapping on a notification banner and joining a defence, that’s just a matter of client-server handshaking. Right now, there isn’t any that I can see, but put it in, and you get your join-from-unloaded defences back.

Just more things that I could help PG with…


#12

PG is recruiting, if you’re interested…


#13

Ivused to have this problem on my old phone. After upgrading I’m not having issues loading in to defend. Maybe it’s just internet/hardware issues.
I also changed to my mobile wifi on Verizon network.


#14

I had a look at the PG website, and saw all the positions that are apparently open. However, they are all in San Francisco, and I am neither a US citizen nor do I have a US work visa, or really the inclination to uproot my family and move overseas.

I could work remotely, and talk with the necessary people by phone and telepresence, but it doesn’t seem that PG do that.

As for the notification… If it works on some devices but not others, then it is not a fair part of the game. How is it fair if I hit a base with an ‘offline’ owner, and if they have a brand new iPhone, they can jump in and defend, but not if they had an Android device or an older Apple device.

The “Your base is under attack” notification should show a timer counting down the seconds during which you can defend, and if you do so, the attacker cannot proceed until either your UI is set up and ready and has given you time to set up your defence (Say, 10s) or the connection to the owner’s device is lost.

With proper handshaking, hitting ‘Defend’ would send a signal to the server that the owner intends to defend, and as the owner’s UI loads, it would be sending progress messages to the server. If the messages don’t come in on the expected timeframe for the slowest supported devices, the owner is notified (then, or later if the app/os crashed) that loading problems led to a timeout and the attacker allowed to proceed without them. Sending such messages requires only simple, fast code, which would always be running on the players devices, with very little overhead - potentially in only a few kb of RAM.

Even if the owner didn’t join in time before the timeout and the attacker was allowed to proceed, it should still be possible to jump in and defend at any time before the attack ends. Indeed, it should be possible join at any time for any team-mate’s base defence too, provided that there are defender slots free.

This ability to join (and leave and rejoin) a defence at any time would mean that rather than attacking a copied instance of the base that all involved must join, there would be only the one online instance of each base, and base owners would see an attack in real time even if not defending actively; defending would just be a change in mode from build/collect to defend.

This would necessitate an attack queue. Only one attack would be able to go ahead against any given base at a time, so if multiple attackers wanted to attack a given base, they would have to wait for the earlier attacker to finish, or go elsewhere.

The possibility would also exist that where there are multiple independent attackers in a queue, not-yet-engaged attackers could join an earlier attack with mutual permission, but with the proceeds split between them equally, rather than extra resources being added for teammate joins.

The possibility also exists that where there are attackers in a queue, the attacking dragons could fight each-other to jump places in the queue - at the cost of reaching the base with reduced health and rage, with the loser being aborted back to their home.

This would mean that the resources available at the base would be known before the attack begins, and if prior attackers in the queue steal most of the resources, a later attacker could abort rather than risk healing time for a base with fewer resources than they wanted.

The dragon vs dragon fights could use a new mechanic other than running the dragon-owner’s base. War Dragons badly needs a Dragon vs Dragon (or beast) combat mechanism, and not just a dragon vs base mechanism.


#15

I’m not entirely sure I like this idea. Say I’m doing a war run and the team I’m hitting has two people in the battle room. They drop their supershots and leave, then they reload the battle and get more supershots? Or say Players A & B on the enemy team join the defence then bounce. Players B & C re-enter the battle room. Does player B get 5 new supershots? What about player C? They haven’t been in the battle room yet.

I also hate, hate, hate this idea. In the upper leagues, some bases are won simply by overwhelming them and hoping you get a lucky break and don’t have the base owner show up. This would utterly break the way wars are run.

Also, what about Atlas? It would utterly break the ability to do large scale team raids against an enemy castle. It would also make finding glory in NML (especially at Aligane) even more difficult than it already is. It would make it LITERALLY impossible to kill castle guards on level 4 and 5 lands because that uses an actual player base, not a PVE base. So you’re sitting there on an enemy castle with your army of prims and you have to wait in line for the honor of being able to attack the castle? We’re not playing a game like the Legend of Zelda where the enemies kindly wait to attack you one at a time :expressionless:


To be fair, I like some of the ideas you have. It’s just that these two in particular have some negative consequences/side effects that I just do not like.


#16

I’m fine with the fixing defense if base but not limiting bases to be attacked once at a time or allowing rejoins.
I’d be fine with rejoins if it didn’t give more supers upon join and only reset them when dragon was shot down and next dragon flew


#17

Okay, guys,

Rejoins:

For a regular player’s base, you get 5 or more supers per attacking dragon. That won’t change, whether you quit and rejoin or not.

As for the Atlas defences… are they a single specific player’s base that the team/leader chooses, or is it chosen at random… for each attacker, for each attack, or for the whole castle? Any way it is, an attack on a castle is different to an attack on a player or primarch. There should be 50 attack queues for a castle, and only the person whose base is selected as the defences (whether at random or the governor’s base) can defend as the owner. If there are more than 50 incoming attacks, then people are going to have to join, fight for a place in the queue, wait or quit.

You won’t ever be able to get perfect defence, even if there are all 50 players active - there are 50 queues, so if everyone defends their own base, there aren’t enough players on the team to second- or third- place a defence. However, by joining the right defences, you should still be able to defend fairly well.

As for attacks against primarchs, each one should have its own attack queue. A player should only be able to be swamped if they have more than 1 primarch being attacked at once.

However, that said, if a player’s base is being attacked by 5+ different attacks (Non-Atlas, 3 primarchs, 1+ castle defences), they should be able to switch between them at will and treat each as a separate defence. However, in practise, I think that we would find that dividing attention between multiple defences means suboptimal defence. Being only human, no-one is fast enough to run all those simultaneous defences, and mistakes or omissions will be made.

This is about the size of the target and how many dragons can attack it at once.

Alternatively, all separate attacking dragons run through simultaneously, and the base defends against them simultaneously. However, that changes the dynamic… the defender gets n supers per attacking dragon, but could use one set of supers from each attacking dragon against the strongest, and ignore the rest.


#18

Yes. I believe the position is “Marshal” and it is a specifically assigned base for that one specific castle. You can’t have the same base serve as the “castle guard” base on multiple castles, but for level 4 or 5 lands you would only have the one player base for a given castle. So that makes attacking at castles nearly impossible.

I have the feeling this will break Atlas. It seriously won’t be any fun to play in if we have to line up to have a go at attacking someone.


I think it comes down to this: if you make it so I have to wait my turn to attack a base that someone else happens to be attacking, that might be the thing that eventually drives me to quit the game. I want to be able to fly when I want, not sit around and wait to be able to attack someone I used to be able to attack immediately.


closed #19

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.