T
T
trzhn2014-06-01 23:12:13
Python
trzhn, 2014-06-01 23:12:13

What language to choose for writing a self-learning MMORPG bot?

Good day.
Today I ask you to help me with the choice of language for the implementation of the network level bot for MMORPG.
The criteria are as follows:
Ability to work without a game client (aka non-gui client emulator)
Self-learning aka Machine Learning
Manageability with Web-GUI
Multithreading in terms of the number of simultaneous connections
The author has good knowledge in Python (3, I don’t recognize the second one!), Java and at the moment the author has started learning C/C++ languages.
Actually, here there was a split between Python (logical part of the bot + Web-GUI) + C extensions (client emulator) and Java
The backend is planned to be written in the style of a *nix systems daemon (is it necessary?), and installed and run on the latest Ubuntu Server (is it worth it?). I will decide on the frontend later, although I would not refuse advice.
ZY: Can the network smoothing system aka lag-compensation or interpolation create discomfort for the bot and how would you recommend me to solve this problem?
ZZY: Tips and links to manuals, guides, communities, in any way related to designing, writing, testing, debugging this kind of software are welcome!

Answer the question

In order to leave comments, you need to log in

5 answer(s)
S
stream13, 2014-06-02
@trzhn

The craving for creativity is good, but there is a mess in the plans.
I would advise to use one language for everything, not to use C and C++, and not to do web snouts yet. C++ code takes longer to write and requires more knowledge, and even more so in C.
1) select Java. due to simplicity, flexibility and good performance.
2) write a minimal bot that can at least connect to the server.
3) in turn, add to the bot the ability to simply walk, attack, and what else is possible.
4) teach the bot to do these things on command/timer/etc . Namely, teach it to parse JSON or process LUA scripts or something else
5) learn how to adequately transfer data about the location and surrounding creatures received from the server to the program. and process them (with a script - ?)
6) RTFM about the perceptron
7) Start combining the command and input data processor with AI information: give the bot a goal and make it analyze possible ways to achieve it, sorting through them. Teach the bot to choose the best paths. Add new targets and target parameterization.
And when the bot starts at least more or less consciously jerking and hitting monsters, it’s quite possible to tweak the output of its information in MySQL / MongoDB / etc and start rendering pages through a separate piece of software.
Via Python/PHP/..., on the ever-memorable, latest Ubuntu Server.
Why is that? Well, at least because the web muzzle is nothing more than an interface for telemetry and control, and it is written in an evening or two (simple). This is a small and minimally useful part of the system.
But to write a demon that runs around the game world and tries to analyze what is happening is a non-trivial and voluminous task.

F
FoxInSox, 2014-06-01
@FoxInSox

The one you know best.

A
andyN, 2014-06-09
@andyN

For starters, it would be nice to get religious fanaticism out of your head (yes, I'm talking about Python 2.*). After that, the answer to the question may become obvious.

J
Jimilian, 2014-06-29
@Jimilian

What do you mean by bot? For what purpose are you writing it?

I
iscateli, 2014-12-24
@iscateli

You can use jingjing language for L2Net bot
wiki.ltwonet.com/wiki/Main_Page

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question