Use lower frequency for network ai

This commit is contained in:
Benau
2019-10-16 11:48:58 +08:00
parent 3b75740163
commit b639efd8ed
3 changed files with 14 additions and 6 deletions

View File

@@ -27,7 +27,7 @@
#include "network/rewind_manager.hpp"
// ============================================================================
const int UPDATE_FREQUENCY = 30;
int NetworkAIController::m_ai_frequency = 30;
// ----------------------------------------------------------------------------
NetworkAIController::NetworkAIController(AbstractKart *kart,
int local_player_id,
@@ -56,8 +56,8 @@ void NetworkAIController::update(int ticks)
World::getWorld()->getTicksSinceStart() > m_prev_update_ticks)
{
m_prev_update_ticks = World::getWorld()->getTicksSinceStart() +
UPDATE_FREQUENCY;
m_ai_controller->update(UPDATE_FREQUENCY);
m_ai_frequency;
m_ai_controller->update(m_ai_frequency);
convertAIToPlayerActions();
}
}

View File

@@ -27,6 +27,7 @@ class AIBaseController;
class NetworkAIController : public PlayerController
{
private:
static int m_ai_frequency;
int m_prev_update_ticks;
AIBaseController* m_ai_controller;
KartControl* m_ai_controls;
@@ -37,6 +38,7 @@ public:
virtual ~NetworkAIController();
virtual void update(int ticks) OVERRIDE;
virtual void reset() OVERRIDE;
static void setAIFrequency(int freq) { m_ai_frequency = freq; }
}; // class NetworkAIController
#endif // HEADER_PLAYER_CONTROLLER_HPP

View File

@@ -207,7 +207,8 @@
#include "items/powerup_manager.hpp"
#include "items/projectile_manager.hpp"
#include "karts/combined_characteristic.hpp"
#include "karts/controller/ai_base_lap_controller.hpp"
#include "karts/controller/ai_base_controller.hpp"
#include "karts/controller/network_ai_controller.hpp"
#include "karts/kart_model.hpp"
#include "karts/kart_properties.hpp"
#include "karts/kart_properties_manager.hpp"
@@ -1096,6 +1097,11 @@ int handleCmdLine(bool has_server_config, bool has_parent_process)
return false;
}
if (CommandLine::has( "--network-ai-freq", &n))
NetworkAIController::setAIFrequency(n);
else
NetworkAIController::setAIFrequency(30);
if (!can_wan && CommandLine::has("--login-id", &n) &&
CommandLine::has("--token", &s))
{
@@ -1440,9 +1446,9 @@ int handleCmdLine(bool has_server_config, bool has_parent_process)
{
std::string cmd =
std::string("--stdout=server_ai.log --no-graphics"
" --connect-now=127.0.0.1:") +
" --network-ai-freq=10 --connect-now=127.0.0.1:") +
StringUtils::toString(STKHost::get()->getPrivatePort()) +
" --no-console-log --network-ai="
" --no-console-log --disable-polling --network-ai="
+ StringUtils::toString(ai_num);
if (!server_password.empty())
cmd += " --server-password=" + server_password;