Recamán's Sequence

I recently watched this video by one of my favorite youtube channels Numberphile and was inspired to recreate one of the visualizations of Recamán's sequence that they used.

The javascript that was used to generate the visualization can be found here. The following Python code is what I wrote to generate the sequence.
'''
This script generates Recamán's sequence.

By incrementing hop_size after each iteration and meeting the following conditions, Recamán's sequence is generated.

Think of hop_size as the size of the jump that is required, forward or backwards on the number line from the current value in the sequence, to get to the next value in the sequence.

Conditions:

In order to hop backwards, two conditions must be met:
    1. The hop size needs to be less than the current value in the sequence, otherwise we would end up hopping to a negative value on the number line, which can't happen since the 
       sequence is defined to be strictly positive.
    2. If the first condition is met, then the value that a backwards hop would get us to must not already be in the sequence.

Otherwise, hop forward.


Here are the first 20 values in the sequence: 0, 1, 3, 6, 2, 7, 13, 20, 12, 21, 11, 22, 10, 23, 9, 24, 8, 25, 43, 62
    
'''    
    
import numpy as np

sequence_length = 20

current_value = 0

hop_size = 0

sequence = [0]

for i in range(sequence_length):

    hop_size = i + 1

    if hop_size < current_value and (current_value - hop_size) not in sequence:
        current_value = current_value - hop_size
        sequence.append(current_value)

    else:
        current_value = current_value + hop_size
        sequence.append(current_value)