►
From YouTube: NuPUCK: 2014 Spring NuPIC Hackathon
Description
Hack demo by Steve Levis. Source code: https://github.com/levis501/nupuck
A
Thanks
for
coming,
I.
B
A
What
I
thought
I'd
like
new
pic
to
do
is
predict
the
future
state
of
a
game
and
make
changes
to
sort
of
a
primitive
program
of
behavior
based
on
those
predictions.
A
What
I
the
game,
is
a
shuffle
puck
or
like
a
two-player
pong
that
you
may
be
familiar
with.
Let
me
just
I'll
just
start
the
demo.
A
The
the
first
thing
I
did
was
I
wanted
to
generate
some
data,
and
I
wanted
very,
very
simple
data.
Like
I
said,
I'm
not
too
familiar
with
new
page
just
still.
Learning
the
data
is
a
sort
of
a
one-dimensional
field
of
view
of
the
vision
of
the
puc,
the
the
the
player
on
the
bottom
of
the
screen.
The
player
at
the
top
is
the
ai
that
came
with
the
that
came
with
the
game
and
below
the
score.
A
A
A
This
is
a
schematic
of
the
game
board
you
have.
This
is
where
the
top
player
can
move
this
but
bat
around
here's,
the
bottom
player-
and
here
we
have
a
a
puck-
and
I
imagine,
there's
an
eye
on
either
side
of
this
bat
down
here.
Looking
at
the
puck.
A
This
is
this
is
a.
This
is
one
of
the
eyes,
and
here
the
the
puck
is
a
little
to
the
left
of
the
eye
and
it's
kind
of
close
up
to
the
to
close
up.
So
it's
you
know,
it's
you
know
takes
up
three
of
those
little
squares
and
it's
off
to
the
left.
A
A
A
I
ran
two
swarms,
one
to
predict
the
let
where
the
left
eye
position
is
and
one
to
predict
where
the
right
eye
position,
where
the
puck's
position
is
within
the
field
of
view,
is
what
I
mean
to
say
there
and
and
what
what
I
I'm
predicting
a
hundred
time
steps
100
frames
of
the
game
in
advance,
and
I
can't
right
now.
I
can't
tell
if
it
actually
does
much
better,
although
he
actually
just
won
a
point
there
kind
of
happy
about
that.
A
A
So
if
you
pre,
if
I'm
predicting,
that
the
puck
is
going
to
be
right
in
front
of
me
right
in
front
of
the
bat,
there's
no
reason
for
the
bat
to
move.
However,
the
bat
is
has
a
sort
of
a
primitive
programming
where
it
it
moves
kind
of
along
exactly
what
it
sees
at
the
current
time.
So
if
it
sees
it's
the
left
right
now
it
moves.
A
But
if
it's
predicting
that
it's
going
to
be
right
ahead
of
me
and
I'm
using
that
prediction
to
move
the
bat,
then
it's
not
going
to
move
at
all.
A
I'm
thinking,
maybe
in
terms
of
incorporating
the
prediction
into
the
movement
of
the
bat,
tries
to
try
I'd
like
to
try
a
bunch
of
different
parameters
like
some
different
thresholds
say
if
it's
really
far
off
to
the
side,
I
want
them.
I
want
to
move-
or
maybe
I
otherwise
wouldn't
have
moved.
Oh
I've
scored
three
times
already
all
right.
I'm
pleasantly
surprised.
A
Yeah
I
I'm
running
in
python
and
a
separate
process
that
you
don't
see
here.
I
got
both
the
models
fired
up
and
it's
receiving
the
data
over
over
a
socket
and
and
sending
the
sending
the
results
of
the
two
models
back
and
then,
like
I
said
then
incorporating
it
to
the
movement.
All
the
behaviors.
B
A
This
is
I
I
well
I
when
I
first
did
it
it's
a
combination.
It's
it
it.
Basically,
new
pic
will
override
the
default
behavior.
If
the.
If
the
prediction
is
saying
it's
going
to
be
farther
out
than
it's
seeing
right
now.
So
if
right
now,
if
the
bat
sees
you
know
sees
it,
it's
you
know
pretty
near
the
middle
and
the
prediction
is
saying
it's
going
to
be
far
off
to
the
side.
It
actually
uses
the
new
big
prediction
to
move.
B
A
Well,
no,
I
think
I
would
need
to
run
many
of
these
many
runs
of
this
here
to
see
if
it
was
doing
better.
Although
I
have
to
say
this
is
the
first,
with
the
without.
B
A
Yeah
sure
that
would
be
a
good
like
good
statistic
to
keep
an
eye.
A
Two
dimensions:
just
to
simplify
debugging
yeah.
B
A
Actually,
like
average,
because
it
moves
really
fast,
do
you
average
the
I
mean
the
predictions
arrive
really
fast.
So
do
you
actually
do
an
average
during
time,
so
it
doesn't
do
those
weird
movements,
this
that
kind
of
jiggling
back
and
forth?
No,
I
I
I
don't
it's
just
it's
a
it's
an
all
or
nothing
thing
and
again
that
was
mainly.
I
can't
believe
it's
still
winning.
Okay,
it's
it's
yeah!
Yeah!
It's
running!
We
can
see.
A
It's
I'd
say:
if
I
can
stop
this
a
little
bit.
B
A
I
I
there's
some
improvements.
I
think
I
can
make
in
terms
of
making
sure
that
you
know
it's
it's
doing
as
well
as
it
could
and
just
different
ways
of
using
the
predictions
to
augment
the
behavior
very
cool
all
right.
Thank
you.