Answers.Body: <h1>Start slowly.</h1>
  <p>Don't jump straight into Deep Learning, arguably the most complex class in Reinforcement Learning techniques. First work with simpler algorithms, like the original Q-Learning. Define what are good inputs and outputs for your game, and start tuning some hyper-parameters (like future rewards discount factor).</p>
  <p>From there, go for Deep Learning. Check other implementations (like <a href="https://github.com/devsisters/DQN-tensorflow" rel="nofollow noreferrer">DQN</a>, <a href="https://github.com/bluemoon93/DistributedAtariQLearning" rel="nofollow noreferrer">Atari n-step Q-Learning</a> and <a href="https://github.com/openai/universe-starter-agent" rel="nofollow noreferrer">A3C</a>), and adapt their code to yours, rather than starting from scratch.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2018-04-20T13:16:59.270Z
Answers.Text: Thanks for your answer! I didn't use the original Q learning since the environment constantly changes, and I don't see how a Q-table can work with that, but I'll try your suggestions!
Answers.UserDisplayName: Tech
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2018-04-20T16:12:57.833Z
Answers.Text: What do you mean, the environment constantly changes? Are you processing image input? Do you mean there is an excessively large state space? You can either pre process the images, or extract features first and use those as input. This is a very common ML step, improving your algorithms input.
Answers.UserDisplayName: BlueMoon93
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2018-04-20T19:25:58.883Z
Answers.Text: I mean that in the game players spawn in random places and as they move, they leave a permanent trail behind them that kills other players if they touch it. My thinking was that Q-tables wouldn't work well with this. Also yes, my input is downized frames in real time. TimeDistributed Conv2D in Keras using 4 frames in 3 channels (different player colors), if that says anything to you.
Answers.UserDisplayName: Tech
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2018-04-24T21:59:50.240Z
Answers.Text: Yeah, usig raw image pixels as you were probably using works with convolutional layers, but not so well with QTables (too large of a state space). However, you can preprocess the image and obtain simpler states. I.e, extract features from the image and feed a simpler local-perspective grid to QLearning
Answers.UserDisplayName: BlueMoon93
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2018-04-19T18:02:50.950Z
Answers.LastActivityDate: 2018-04-19T18:02:50.950Z
Answers.LastEditDate: 2020-06-17T09:57:20.710Z
Answers.UserDisplayName: BlueMoon93
Body: <p>One of my friends built a version of "Achtung, Die Kurve!", or "Curve Fever" in Python. I was starting to study ML and decided to tackle the game from a learning perspective - write a bot that would crush him in the game. Did some research and found Deep Q learning. Decided to go with that and after a whole lot of throwing around different hyperparameters and layers, I decided I need some help on this. I am new to Deep and Machine Learning in general, so I may have missed things. I was kinda discouraged when I saw that Deep Q is SO impractical currently in the field.</p>
  
  <p>how would you guys tackle this problem? I need some guidance/help building it if someone is up to the task.</p>
  
Tags: <neural-networks><machine-learning><deep-learning><python>
Title: How should I approach the game "Achtung, Die Kurve" ("Curve Fever") using AI?
UserDisplayName: Tech
ThreadText: # How should I approach the game "Achtung, Die Kurve" ("Curve Fever") using AI?
  
  (Asked by: username_0 on 2018-04-19)
  
  One of my friends built a version of "Achtung, Die Kurve!", or "Curve Fever" in Python. I was starting to study ML and decided to tackle the game from a learning perspective - write a bot that would crush him in the game. Did some research and found Deep Q learning. Decided to go with that and after a whole lot of throwing around different hyperparameters and layers, I decided I need some help on this. I am new to Deep and Machine Learning in general, so I may have missed things. I was kinda discouraged when I saw that Deep Q is SO impractical currently in the field.
  
  how would you guys tackle this problem? I need some guidance/help building it if someone is up to the task.
  
  **Tags:** neural-networks, machine-learning, deep-learning, python
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2018-04-19. Score: 2
  
  # Start slowly.
  
  Don't jump straight into Deep Learning, arguably the most complex class in Reinforcement Learning techniques. First work with simpler algorithms, like the original Q-Learning. Define what are good inputs and outputs for your game, and start tuning some hyper-parameters (like future rewards discount factor).
  
  From there, go for Deep Learning. Check other implementations (like [DQN](https://github.com/devsisters/DQN-tensorflow), [Atari n-step Q-Learning](https://github.com/bluemoon93/DistributedAtariQLearning) and [A3C](https://github.com/openai/universe-starter-agent)), and adapt their code to yours, rather than starting from scratch.
  
  > **Comments:**
  > **username_0**: Thanks for your answer! I didn't use the original Q learning since the environment constantly changes, and I don't see how a Q-table can work with that, but I'll try your suggestions!  
  > **username_1**: What do you mean, the environment constantly changes? Are you processing image input? Do you mean there is an excessively large state space? You can either pre process the images, or extract features first and use those as input. This is a very common ML step, improving your algorithms input.  
  > **username_0**: I mean that in the game players spawn in random places and as they move, they leave a permanent trail behind them that kills other players if they touch it. My thinking was that Q-tables wouldn't work well with this. Also yes, my input is downized frames in real time. TimeDistributed Conv2D in Keras using 4 frames in 3 channels (different player colors), if that says anything to you.  
  > **username_1**: Yeah, usig raw image pixels as you were probably using works with convolutional layers, but not so well with QTables (too large of a state space). However, you can preprocess the image and obtain simpler states. I.e, extract features from the image and feed a simpler local-perspective grid to QLearning  
  
  ---
  
  