My friends and I play FAF regularly from South Africa . All of us have high speed fibre but due to the distance to Eurpoean or US players the ping is always around 300 when we play with other people. Everytime the game lags due to someone in the game having poor connections we get blamed because our ping is "too high". Whenever we try to explain that under 500 is fine they almost always say that "that is not how ping works". It gets tiring after a while so when people can start kicking us from lobbies for a reason that has no bearing on the game it will most likely drive many people from the game, not just South Africans but probably Australians as well.
Best posts made by N0ld0r
I have to agree with Penguin.
I never see Jesters used and I myself never use them because they are almost never worth it. If boosting the dps/mass is out of the question then maybe another method of making it more usable? What if the cost is reduced along with the maximum HP as well. That way it can be countered easier by T1 mobile AA. The whole point of niche units is to give different factions some flair. But if they are almost never used they might just as well be removed.
Using it as a defensive unit doesn't make sense because a t1 bomber is much more effective in that role. Bombers do area damage, cost less, and build faster. If the enemy player you're trying to defend against mixes some AA into their army then bombers will be much better because they will get at least one bomb off dealing damage to many targets where the Jester won't be able to deal nearly as much. If the player doesn't send AA the bomber would still be better because of the area damage and multiple passes.
For sniping early mexes the Jester is also inefficient. You can build about 5 T1 mexes for the price of one Jester. the reclaim from the destroyed Jesters alone will make up for the damage they deal.
The only concern I can understand thus far is the Comm snipes. However I constantly see people talk about wanting to punish players for poor/ lack of scouting. If the same mentality is applied then players should punished for poor AA defense as well. But I believe my original solution might still help. Cheaper Jesters with less HP will be easier to counter so it might balance out the Comm sniping potential.
Just my two cents
Hi thank you I can log back in again
I had a though today about the different ways intel and counter intel is utilized in Supreme Commander. How radar and optical range is treated as separate in FAF is one my favorite features.
Stealth hides entities from radar and jamming creates false radar signatures. Cloak hides entities from optical sensors but there is no equivalent to jamming in this case. What if there was a unit and/or building that jammed enemy optical sensors.
One interpretation would be that units don't get line of sight around optical jamming even if they are in range. This way even if one army was in range of another, all it would see are the grey radar blips as if line of sight was blocked. I think it would add an interesting cat and mouse dynamic where you are fighting but do not know what your fighting. Does the army have AA? Arty? is it T1, T2 or T3? I think it can be quite fun.
Another option might be if optical jamming created false optical signatures that needed radar to dispel? Like jamming is for radar except you actually see illusions of various units. From the perspective of your units there are other units that their shells just pass through. I believe this option has been discussed on the forums before so I haven't given it much thought.
I do not believe either of these options can be reasonably balanced in any way but thought it was a fun idea to throw around. I would like to hear the thoughts other players have on the subject.
I received a violation for not joining a ladder 2v2 game because the map didn't download in time. How do the violations work? Do you get banned if you have too many? How do I see how many I have?
Latest posts made by N0ld0r
It has happened twice in the past month alone where a salty player deletes everything he has before he dies to prevent his team mates from receiving it. It really ruins the game for his team mates when they are suddenly an entire base down 15 minutes in to the game. I have submitted moderation reports but I assume the backlog is keeping the moderators busy. I just want to know if there is anything more I can do to rid the game of these toxic players? I understand this is a rant but I don't get to play all that much and don't want the few times I play to be ruined by salty players
I had a though today about the different ways intel and counter intel is utilized in Supreme Commander. How radar and optical range is treated as separate in FAF is one my favorite features.
Stealth hides entities from radar and jamming creates false radar signatures. Cloak hides entities from optical sensors but there is no equivalent to jamming in this case. What if there was a unit and/or building that jammed enemy optical sensors.
One interpretation would be that units don't get line of sight around optical jamming even if they are in range. This way even if one army was in range of another, all it would see are the grey radar blips as if line of sight was blocked. I think it would add an interesting cat and mouse dynamic where you are fighting but do not know what your fighting. Does the army have AA? Arty? is it T1, T2 or T3? I think it can be quite fun.
Another option might be if optical jamming created false optical signatures that needed radar to dispel? Like jamming is for radar except you actually see illusions of various units. From the perspective of your units there are other units that their shells just pass through. I believe this option has been discussed on the forums before so I haven't given it much thought.
I do not believe either of these options can be reasonably balanced in any way but thought it was a fun idea to throw around. I would like to hear the thoughts other players have on the subject.
My friends and I play FAF regularly from South Africa . All of us have high speed fibre but due to the distance to Eurpoean or US players the ping is always around 300 when we play with other people. Everytime the game lags due to someone in the game having poor connections we get blamed because our ping is "too high". Whenever we try to explain that under 500 is fine they almost always say that "that is not how ping works". It gets tiring after a while so when people can start kicking us from lobbies for a reason that has no bearing on the game it will most likely drive many people from the game, not just South Africans but probably Australians as well.
Hi thank you I can log back in again
When I tried to log back in I received the following error. Please help.
java.util.concurrent.CompletionException: java.lang.IllegalStateException: Own player not set
at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)
at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320)
at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:722)
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147)
at reactor.core.publisher.MonoToCompletableFuture.onNext(MonoToCompletableFuture.java:64)
at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:122)
at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:82)
at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onNext(FluxPeekFuseable.java:210)
at reactor.core.publisher.FluxReplay$UnboundedReplayBuffer.replayNormal(FluxReplay.java:618)
at reactor.core.publisher.FluxReplay$UnboundedReplayBuffer.replay(FluxReplay.java:709)
at reactor.core.publisher.FluxReplay$ReplaySubscriber.onNext(FluxReplay.java:1344)
at reactor.core.publisher.SerializedSubscriber.onNext(SerializedSubscriber.java:99)
at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.onNext(FluxRetryWhen.java:174)
at reactor.core.publisher.MonoFlatMapMany$FlatMapManyInner.onNext(MonoFlatMapMany.java:250)
at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79)
at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onNext(FluxOnAssembly.java:539)
at reactor.core.publisher.MonoFlatMapMany$FlatMapManyInner.onNext(MonoFlatMapMany.java:250)
at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:272)
at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:230)
at reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onSubscribeInner(MonoFlatMapMany.java:150)
at reactor.core.publisher.MonoFlatMapMany$FlatMapManyInner.onSubscribe(MonoFlatMapMany.java:245)
at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:165)
at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:87)
at reactor.core.publisher.Flux.subscribe(Flux.java:8466)
at reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onNext(MonoFlatMapMany.java:195)
at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1816)
at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:151)
at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1816)
at reactor.core.publisher.MonoReduce$ReduceSubscriber.onComplete(MonoReduce.java:139)
at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144)
at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144)
at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:260)
at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144)
at reactor.netty.channel.FluxReceive.onInboundComplete(FluxReceive.java:400)
at reactor.netty.channel.ChannelOperations.onInboundComplete(ChannelOperations.java:419)
at reactor.netty.channel.ChannelOperations.terminate(ChannelOperations.java:473)
at reactor.netty.http.client.HttpClientOperations.onInboundNext(HttpClientOperations.java:703)
at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:93)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:327)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:299)
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1373)
at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1236)
at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1285)
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:510)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:449)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:279)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:722)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:658)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:584)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:496)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.IllegalStateException: Own player not set
at com.faforever.client.util.Assert.checkNullIllegalState(Assert.java:25)
at com.faforever.client.player.PlayerService.getCurrentPlayer(PlayerService.java:283)
at com.faforever.client.leaderboard.LeaderboardController.setSeason(LeaderboardController.java:157)
at com.faforever.client.leaderboard.LeaderboardsController.lambda$initialize$1(LeaderboardsController.java:55)
at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718)
... 68 more
The balance team has spoken. You would have much more experience using and balancing the Jester than I do so I will defer to your judgement
@archsimkat I was not aware. I haven't been following the patch notes as well as I should have. But does it invalidate my arguments? It is still underused.
I have to agree with Penguin.
I never see Jesters used and I myself never use them because they are almost never worth it. If boosting the dps/mass is out of the question then maybe another method of making it more usable? What if the cost is reduced along with the maximum HP as well. That way it can be countered easier by T1 mobile AA. The whole point of niche units is to give different factions some flair. But if they are almost never used they might just as well be removed.
Using it as a defensive unit doesn't make sense because a t1 bomber is much more effective in that role. Bombers do area damage, cost less, and build faster. If the enemy player you're trying to defend against mixes some AA into their army then bombers will be much better because they will get at least one bomb off dealing damage to many targets where the Jester won't be able to deal nearly as much. If the player doesn't send AA the bomber would still be better because of the area damage and multiple passes.
For sniping early mexes the Jester is also inefficient. You can build about 5 T1 mexes for the price of one Jester. the reclaim from the destroyed Jesters alone will make up for the damage they deal.
The only concern I can understand thus far is the Comm snipes. However I constantly see people talk about wanting to punish players for poor/ lack of scouting. If the same mentality is applied then players should punished for poor AA defense as well. But I believe my original solution might still help. Cheaper Jesters with less HP will be easier to counter so it might balance out the Comm sniping potential.
Just my two cents
I received a violation for not joining a ladder 2v2 game because the map didn't download in time. How do the violations work? Do you get banned if you have too many? How do I see how many I have?