Share your repls and programming experiences

← Back to all posts
I made a 🐍Snake AI 💻
h
DynamicSquid

[ currently broken :D ]

Hi!

I made Snake. You can control it using WASD, or the arrow keys. Eat the red apples, and don't crash into the walls or yourself!

But.....

When you press space, it uh... helps you out a little :)

Enjoy!

Voters
maxina
Aivoybia
ONGTZEHONNTZE
MattDESTROYER
coolbub413
Rufus310
RayanSaha
Loshad
TonyWu4
HENRYMARTIN4
Comments
hotnewtop
firefish

Also are the logos good?

(slice, dusk, and night)

DynamicSquid

@firefish Slice of pizza. I like the Dusk logo.

firefish

@DynamicSquid slice, thinking like slice of orange (or any citrus fruit for that matter) but okay

firefish

@firefish Why have four eight people upvoted lol, if you upvoted but areb't related to the night project, reveal yourself

firefish

@anonymous360c You have? Oh, why did you undo it then

anonymous360c

What do you mean? @firefish

firefish

@anonymous360c The message you deleted

anonymous360c

What message? Oh that. @firefish

firefish

@anonymous360c You said

I have now.

But I can't find where it was in reply to... -_-

anonymous360c

Ah yes that. I did and I still have. I think these logos are AWESOME @firefish

firefish

@anonymous360c you know I didn't make the night one, lord SQUOD did

firefish

@DynamicSquid @Lethdev2019 Next logo: SoN.

firefish

@DynamicSquid Would this be good for SoN?

SoN literally stands for Slice of Night

DynamicSquid

@firefish Why is my language eating pizza?

firefish

@DynamicSquid It is the Slice Of Night, A.K.A. SoN

DynamicSquid

@firefish

"Hi, could I take your order now?"

"Sure, what are your specials today?"

"We're offering a slice of Night"

"Yeah I'll take that"

firefish

@DynamicSquid

"Eat in or takeaway?"

"Eat in please."

"Sorry, it's lockdown, we can only offer takeaways"

DynamicSquid

@firefish

"Then why did you ask me if I wanted eat in"

firefish

@DynamicSquid
"Because our restaurant aims to have as many one star reviews as possible."

"Why?"

"Confidential Policy."

"Buy why?"

"Policy."

"I'll hire a policy designer for you."

"We already have. He was the chef's pet rat."

"I'm out of here."

RayhanADev

@firefish @DynamicSquid comedy gold xD. 👌

firefish
DynamicSquid

@firefish wait how is this is most upvoted comment lol

firefish

@DynamicSquid I asked the same question lol

firefish

@AlianaYee dat le one i didn't make

DynamicSquid

@AlianaYee yay thanks!!!

DynamicSquid

@firefish Ah! There's a guy spamming repl.it with 10 posts per second!!

[deleted]

@firefish - Slice the 8, because its 12 now(including me lol)

[deleted]

@DynamicSquid - 10 posts per second!!! He must be one of those dynamic tentacly creatures...only they have ten-tacles that can post ten comments every second...

[deleted]

@firefish

"Wait! Please make sure you give us a one-star review! Also, don't go out, its not safe"

"Why do you care?"

"We also have a policy that we should protect annoyed customers"

"Lemme guess, your 'policy designer', the rat, created this policy?"

"No sir, this was created by our Customer Care team of specialists"

"What? Humans made such a dumb policy?"

"I never said they were humans...a parakeet, a chimpanzee, a kangaroo, and a snek make a fine team, don't they?"

"I do not even want to imagine what a snek is..."

lol @RayhanaDev

StringentDev

ima at school. @firefish

firefish

@Lethdev2019 lol then how are you sending messages, I just got home

firefish

@KelpHead

Slice the 8, because its 12 now(including me lol)

nice grammar lol

StringentDev

they can't block it even if they tried. @firefish

DynamicSquid

@firefish I send messages all the time at school. I also get my phone taien away from me all the time at school

firefish

@DynamicSquid Have you seen this @poopyarmy nut? He's spamming the repltalk rules and gave me 68 flipping pings

LTI2

@firefish
"But Why?"
"We work for the FBI"
"But Why?"
"Welp, time to lock you in the brainwashing chamber."

firefish

@LTI2
manager walks in with a rat on his shoulder
"Eh, what's this?"
"This is our manager. He takes care of the chef's rat."
customer punches rat
"You WHAT?"
customer runs away

GeneralBaker

"Wait where did the chef's rat go?"
"I don't know, but something is moving in your Slice of Night pizza box."
@firefish

firefish

@GeneralBaker
"Mine? I only just came in. I think the pizza box belongs to the nut who just ran out of here."

GeneralBaker

"But you obviously came for our famous Slice of Night, so we had it prepared in advance. We also make assumptions about our customers, so we prepared this 'mystery meat' just for you."
"You happen to be correct, I love mystery meat."
Customer takes a bite
"Good flavor."
Chef runs in
"WHERE IS MY RAT?!"
@firefish

firefish

@GeneralBaker
"Uh... maybe there?" pointing towards the mystery meat

"YOU'RE FIRED! AND SO ARE YOU! FOR FEEDING THIS MAN MY RAT!"

"Wait... this is rat?" pukes

GeneralBaker

"No really, the rat is OK! I didn't cook it!"
customer pukes again
@firefish

firefish

@GeneralBaker
customer can't hear because he is still vomiting his dinner from yesterday out

GeneralBaker

"Make sure you at least give us a 1 star review on the way out." - chef
"ARE YOU KIDDING?! I AM GIVING YOU A FREAKING 5 STAR REVIEW FOR THIS! NOW NO ONE WILL EVER COME HERE AGAIN!!!"
"Please no! You will ruin me!"
@firefish

firefish

@GeneralBaker
food hygiene inspector enters
"So, what's this?"

"My customer ate my pet rat."

"Good grief! Close your restaurant. How on earth did you manage to get business?!?!"

GeneralBaker

"It's ok. This customer already destroyed my 1 star review record." @firefish

[deleted]

@GeneralBaker walks in "Where's the Slices of Night?"
Manager: "Leave, this place is closed"
Me: "Aw, now I don't get a slice of night. Well, I guess I'm going to Subway."
plays 4"33'

SwaroopBappanad

@firefish Ratatouille confirmed.

firefish

@SwaroopBappanad I knew this was going to pop up.

DynamicSquid

@firefish guys stop cloggin up my notifications

firefish

@DynamicSquid Just pretend it was the poopypants guy off spamming again

RahulChoubey1

@DynamicSquid slice of pizza indeed

firefish

@RahulChoubey1 slice of slice indeed

firefish

@DynamicSquid help @realTronsi dared me to code in a script font

realTronsi

@firefish why are you exposing me everywhere :(

firefish

@realTronsi inviting him

firefish

@DynamicSquid HOW MANY CYCLES DID I GET FROM THIS COMMENT AGAIN? 69 that's right i think

DynamicSquid

@firefish lol. oh I'm working on the interpreter for v4 now and I've encountered a bump. not yet sure if the bump is small, or if the bump is an entire fricking mountain. i'll let you know soon

firefish

@DynamicSquid oki, I'll carry on rEmAkInG NiGhT In rUsT grilling apricots on the barbecue

firefish

@DynamicSquid NIGHT'S DYNAMICALLY TYPED NOW HELP ME PLOZ GOSH NO OW HELP THE VM DIED OF DEAD @fuzzyastrocat

DynamicSquid

@firefish I already made a language in Rust https://github.com/DynamicSquid/mirror

firefish

@DynamicSquid I saw it, use cargo please, the include! macro is ew

firefish

@DynamicSquid Due to this change, Night will have to be unaffiliated from SoN

DynamicSquid

@firefish I tried using cargo but it's too complicated. Also I don't have time cause it's for a school project and it's due tomorrow and I have so many buggies to fix

firefish

@DynamicSquid

you're done

DynamicSquid

@firefish what does that command do?

firefish

@DynamicSquid creates a new directory called mirror
creates a directory called src inside it
you put your files there
instead of include! you import modules
done

fuzzyastrocat
DynamicSquid

@firefish okay so I've been deeply thinking about it and I think it works

firefish

@fuzzyastrocat SoN is no longer the Slice Of Night, it just SliceVM now

fuzzyastrocat

@firefish Well, that's fine... plenty of langs have a purpose-built vm, like Python

firefish

@DynamicSquid oki! just SoN is now SliceVM, and night is nolonger c-style, so yeah a lot to think about

firefish

@fuzzyastrocat just removing a lot of night references is reeeeeeeeeee

fuzzyastrocat

@DynamicSquid Dang I wish my school projects could be that cool...

DynamicSquid

@fuzzyastrocat Oh, about lang dev, if I want my lang to be good, it has to be different. Right now, it's very similar to Python. Aside from catching some errors at compile time, what are some interesting things that I could add to Night?

firefish

@DynamicSquid Dang I wish my school projects could be that cool...

@fuzzyastrocat Yeah, and not to draw out pictures of castles... (our history teacher was generous last year, not so much now)

DynamicSquid

@fuzzyastrocat No my teacher isn't asking us to build a language lol. My teacher gave out a final assignment and said show me your skills

firefish

@DynamicSquid Expressions: anonymus functions.
e.g.

is equivalent to

DynamicSquid

@firefish Social (or History) is the most boring class ngl

fuzzyastrocat

@firefish Lol, history class ≠ art class

@DynamicSquid That's my point... I've never been asked "Show me your skills in relation to this class's subject matter". It's always "here's the project, do this."

firefish

@fuzzyastrocat thou hast been pungethed to the new repl

DynamicSquid

@firefish lambdas? I'm definitly going to add those in, but Python already has those

DynamicSquid

@fuzzyastrocat Oh lol, that sucks :(

DynamicSquid

@fuzzyastrocat What language do you do at school? Make a interpreter/compiler for that language and do the assignment in your interpreter/compiler :)

fuzzyastrocat

@DynamicSquid You could add:

  • Some kind of interesting memory management paradigm. Perhaps ownership-style?
  • A type system like Haskell's, where you can pass types to functions as if they were normal values. Basically, making types "first-class citizens".
  • Multiple dispatch. This one is neat, I'd highly suggest it. Basically, in most OO langs you have single dispatch — when I call my_var.some_function, the some_function I'm calling depends on the type of my_var. Well, what if the function depended on the types of all arguments? So, instead of doing:

You do something like:

And obviously, you don't have to give a type — doing def x(y): would apply to y of any type.

More info on multiple dispatch can be found here.

fuzzyastrocat

@DynamicSquid I don't do a language at school. Not even offered.

DynamicSquid

@fuzzyastrocat What so what do you do in Computer Science class then?

  • Oh no. I've already have enough nightmares about memory ownership in Rust lol
  • That seems interesting, but I feel like it might seem off in a dynamically typed lang
  • Ooh... that seems really interesting... definitely going to look more into that
fuzzyastrocat

@DynamicSquid There is no computer science class.

  • Eh, I don't mean strictly rustian. You could probably make it your own, I'm just saying it'd be neat to have a unique memory management scheme.
  • Well, I'm not sure. I mean, the functions str() and int() exist in Python, so why can't the types themselves exist as entities? (Or, maybe each type is a function, and when called that function casts the argument to its type. So basically like Python's int and str functions, but the function itself is used as the type it casts to.)
  • Great!

A lang with both the second and third ideas could be cool:

DynamicSquid

@fuzzyastrocat Wait, you don't have computer science at your school :(

Oh that does seem interesting. I probably will add types as functions

fuzzyastrocat

@DynamicSquid Can you come on the fuzpy repl for a sec (not to discuss fuzpy, but just to discuss this)

firefish

@fuzzyastrocat so fuzpy WAS a collaboration... hehe

fuzzyastrocat

@firefish No, I had invited Squid to show them how a bytecode interpreter works.

firefish
fuzzyastrocat

@firefish You can ask squod if you don't believe me

DynamicSquid

Hey, @firefish, care to help me on something?

So I checked the GitHub Linguist guide, and in order for them to add syntax highlighting to a user made language, it must be in at least 200 repositories.

For example, this person tried to add their own language, but fell short of the 200 person requirement.

Right now, a total of NullPointerException repositories on GitHub are written in Night.

Which means we're actually really close. If my math is correct then we only need 200 - 0 = 20 repositories and then we can add a language on GitHub!

Now I'm not saying that I want to get 200 people using Night right now. It'll probably take decades, or perhaps never, I'm perfectly fine with that, but I'd be interesting to try...

So got any ideas?

firefish

So got any ideas?

@DynamicSquid Not at 3am I sure don't

DynamicSquid
firefish

@DynamicSquid You sent me that message at 3am my time, it's 6pm now not a problem

DynamicSquid

@firefish oh okay

firefish

@DynamicSquid and go back to primary school

firefish

@DynamicSquid I'm seven hours ahead of you

DynamicSquid

@firefish Trust me, I'm an expert when doing mhdjgb

LTI2

@AJDevelopment
Manager: BTW, we didn't lock you in the brainwashing chamber yet. Snek!
Me: Vomits

firefish

@LTI2
customer still vomiting, has been for about a minute
ambulance comes
customer get's taken to hospital

LTI2

@firefish
Customer vomits for another hour
Manager: Be sure to give a one-star review!

firefish

@LTI2 Headlines:

Customer gets food poisoning at worst-rated restaurant

DynamicSquid

@firefish so close to 300 upvotes

firefish

@DynamicSquid oh god forgot about this

DynamicSquid

@firefish but somehow the among us repl took 1st place for highest upvoted posts within the last 3 years

firefish

@DynamicSquid l'algorithm dumb

firefish

@DynamicSquid haha é snek

fuzzyastrocat

snek

DynamicSquid
fuzzyastrocat

@DynamicSquid Wow, I've enjoyed this thoughtful discussion!

DynamicSquid
firefish

@fuzzyastrocat snek? Boom, new esolang idea.

DynamicSquid

@firefish ooh, so that's how esolangs are made lol

fuzzyastrocat

@DynamicSquid @firefish Lol, I have zero idea what you mean by snek being an esolang idea but ok. I always make esolangs based around an idea rather than just a thing, but maybe I'm not understanding correctly.

firefish

@fuzzyastrocat Remember the salmonApple? You literally said (to the best of my memory)

fuzzyastrocat: s.a could mean string called a, salmon and apples, or sick to an appointment
firefish: what language uses salmon and apples as a main construct
fuzzyastrocat: boom, new language idea.

firefish

@fuzzyastrocat i'm starting to get confused with the SoN VM again

firefish

@fuzzyastrocat anyway, I think I have an idea for a Christmas-themed EsoLang

fuzzyastrocat

@firefish That was a joke, I didn't actually intend for you to make a language based on that. :D

fuzzyastrocat

@DynamicSquid Lol I love how this comment has gotten 5 upvotes

DynamicSquid

@fuzzyastrocat lol yeah. and @firefish's comment about Night got 11 for some reason lol

fuzzyastrocat

@DynamicSquid People just upvote random things lol

firefish

@DynamicSquid lol the most upvoted post of mine got 11 upvotes

DynamicSquid

@firefish lol what

firefish

@DynamicSquid lol it's true, 90% of my cycles come from comments

[deleted]

@firefish - SoN equals Son of Neptune a.k.a me :P

firefish

@fuzzyastrocat thanks for stopping by but I was in the middle of something

firefish

@DynamicSquid I think most people upvoted that comment for the chef's rat sketch

fuzzyastrocat

@firefish Are you by any chance a Monty Python fan?

firefish

@fuzzyastrocat not exactly, but does sound like the sort of thing Monty Python would make...

fuzzyastrocat

@firefish Yeah. (I asked because when you said "the chef's rat sketch" I thought of something funny, but it would only make sense in the context of Monty Python)

firefish

@fuzzyastrocat yay lord fuzzy has 1000 cycles!

fuzzyastrocat

@firefish Hooray! :D

firefish

@fuzzyastrocat i'll unupvote ten things of yours to make you down to 999 actually no having having second thoughts on that
also sneklang is turning out good

Codemonkey51
firefish

@Codemonkey51 snek lol this thread gave me 75 cycles

RayhanADev

Amazing, now sneks that look like Mr. Schwarzenegger are going to take over the world. Joy! 🐍

DynamicSquid
RayhanADev

@DynamicSquid lol. I love how you used Java instead of JS xD.

DynamicSquid

@RayhanADev Well, I actually prefer JS but I made this for a school project and Processing was most convenient

RayhanADev
[deleted]

@RayhanADev - Nope, snakes won't conquer as long as they keep bumping into their fat tails and dying lol...that happened to me...my snake got to 22 and died because it bumped into its tail...RIP...

Whippingdot

Are you guys classmates or someting? @RayhanADev @DynamicSquid @firefish

RayhanADev

@Whippingdot no? xD.

firefish

@Whippingdot What the hell? Squod lives in Canada, Rayhan (I think in the US) and I live in the UK, lol wut, I don't even use repl.it for school

RayhanADev

@firefish hahahahha spot on xD.

firefish

@RayhanADev My point is we live in different countries, we can't possibly even be classmates

RayhanADev

@firefish hmmm
it’s Zoom meet time xD

RayhanADev

@firefish oh btw how is it in the UK?

firefish

@RayhanADev No worries, I'll find one from every country, legend has it the @pope is here

firefish

@RayhanADev Lockdown in two days, currently the news is actually absorbed by the US election, live coverage starting from 11pm our time (~6pm ET i think), and oh boy, I don't want to get too political here

RayhanADev

@firefish lmao US politics go brrrrrr
also RIP lockdown, but honestly Texas is gonna go into a big lockdown as well, I’m willing to bet cash on that xD. We’re big in everything, apparently that means corona as well ƪ(˘⌣˘)ʃ.

Whippingdot

I live in India, but am from Seattle. Stayed there and was born there for 8 years. And did you know 22% of Americans believe the election will go on without cheating. 🤣🤣 @RayhanADev

DynamicSquid

@Whippingdot Watching the election, doing my Math homework, and surfing repl.it at the same time is what I'm doing right now lol

Whippingdot

I am in the middle of school right now. 😃🤣🤣. Gotta go. Science. @DynamicSquid

firefish

@Whippingdot Ah yes, I was born in Seattle for 8 years.

RayhanADev

@firefish so you were born for 8 years, dang that must be tuff xDxDxD jk.

Whippingdot

Hey, you wrote the exact thing I was going to write. 😢😢🤣 @RayhanADev

realTronsi

164 upvotes... u hacked the repl talk algorithm

DynamicSquid
HEMLANU

good

AgastyaSandhuja

squid ai when?

RayhanADev

@DynamicSquid make squid AI xDxDxD.

DynamicSquid
firefish
RolandJLevy

Nice job @DynamicSquid!

DynamicSquid

@RolandJLevy thanks!

RolandJLevy

@DynamicSquid I love the snake game - such a great classic!

DynamicSquid

@RolandJLevy It is yeah!

OldWizard209

IDK why @DynamicSquid but EVERY time you upload a post, it reaches number 1 on trending. This shows your great work :) :) :)

DynamicSquid

@abdullahrajput9 thank you :)

HahaYes

wowie so cool

DynamicSquid

@HahaYes I give you tanks

HahaYes

@DynamicSquid tanks go brr

Coder100

Wow! Nice!
Care to explain the algorithm?

DynamicSquid

@Coder100 Thanks!! It's just a simplified version of the A* algorithm. What it does is it assigns each cell a value:

Cell with the lowest fcost get's chosen.

I spent an entire day tinkering with which algorithm was best, and how to optimize it, and all that stuff, and I ended up with this. It's not the best, but it's something

Coder100

big brain @DynamicSquid

Coder100

also btw might want to make the snake have a head, sometimes its hard to really define it's shape. (Did you accidentally do more work than you need to?) @DynamicSquid

DynamicSquid

@Coder100 lol thanks

DynamicSquid

@Coder100 Well, I would of made the UI way better if I had more time. I actually made this for a school assignment and I only had around 3 hours of work time

Coder100

oh woow @DynamicSquid

ThisUserTaken

@DynamicSquid i don't think I've ever seen a school asignment with 200 upvotes, so congrats!

HEMLANU

nice

phantomlord45

"press space for a little help " meanwhile me getting 1000 scores by doing nothing

DynamicSquid
AndrewWingfield

I like it! I've always wanted to make/see a snake bot. The only problem is, (the first time I tried it) your bot died. Otherwise, a great game!

DynamicSquid
Blackout4344

Amazing!

DynamicSquid
Jakman

Your power is increasing. I feel it.

DynamicSquid

@Jakman Thanks! Oh, I made a language in Rust, I think you'll like it: https://repl.it/talk/share/Mirror-My-Other-Programming-Language/79690

[deleted]

my highest is 37

DynamicSquid

@EloiseTseng not bad!

BobTheTomatoPie

lol the pressing space keeps getting me killed, good game tho

DynamicSquid

@BobTheTomatoPie lol thanks!

TonyYin1

A little?

DynamicSquid
[deleted]

this is a very good code! if you could you can try to make them fruits instead of just red squares. over all tho very good!

DynamicSquid

@poopingrn thanks!!

SwaroopBappanad

One question. When you make an error in a Java Processing repl, it just says "Script Error" but doesn't say where it is. With a project as big as your's, how are you still alive?

DynamicSquid

@SwaroopBappanad Great question! I use the Processing IDE, then just transfer the code here

SwaroopBappanad

@DynamicSquid What a madlad. Where exactly do you said IDE?

DynamicSquid

@SwaroopBappanad Do you mean what IDE I use? I use the official Processing IDE

SwaroopBappanad

@DynamicSquid oops I meant "Where exactly do you find said IDE" but I forgot I was illiterate

SwaroopBappanad

@DynamicSquid Do I download the 32-bit or 64-bit version? (I'm on Windows)

DynamicSquid

@SwaroopBappanad doesnt matter

SwaroopBappanad
CodingMaster55

I like the over-all outcome! But I thought the SPACE would reduce the SIZE of the snake. Lol. It actually PLAYS it for you. :) I don't like it that much. Reducing the size by 1 square would be nice. Thank you! :)

DynamicSquid

@CodingMaster55 lol! But I do prefer the AI

CodingMaster55

@DynamicSquid That was just my suggestion. It's totally up to you! :)

Glare

This is so cool. I'm trying to learn algorithms/AI as well. Nice job!

DynamicSquid

@Glare thanks!!

tussiez

Cool!

DynamicSquid

@tussiez thanks!

tankerguy1917

man this is so cool. I pressed space and then i was like, "bruh, this is so cool". Honestly this is really cool

DynamicSquid

@tankerguy1917 thank you!!

[deleted]

very cool

DynamicSquid
python88

nice!

DynamicSquid

@python88 thank you!!

HackermonDev

lol

DynamicSquid
RayvelArjoon

It's a little buggy (you can move back and kill yourself instantly; thus, restarting the game). The frames could probably be increased a little, and maybe the refresh rate of drawing on the canvas as well. The AI is also a little buggy when trying to get to the apples, but it's actually pretty good!

DynamicSquid

@RayvelArjoon oh thanks!! And yeah... they're a bunch if things i could improve, but i made this for a school proj and didnt have much time

RayvelArjoon

@DynamicSquid It's good for a rushed project :)

JBloves27

LOL

DynamicSquid

@JBYT27 lol xD

JBloves27
JBloves27

Noice job! @DynamicSquid

DynamicSquid

@JBYT27 thanks!

Yuktha1456

This is fire and fun! Thank you for making this, it passes time! I showed my coding teacher this and he was amazed!

DynamicSquid

@Yuktha1456 thanks! glad you enjoyed :)

Yuktha1456

@DynamicSquid yay ty for replying!