Page 1 of 1

Self-Defeating Snake

Posted: Sun Jan 29, 2012 3:50 am
by MarekkPie
Self-Defeating Snake

My little attempt at making a Global Game Jam-inspired game. By no means done, but it is at least working, and I'd like your thoughts on it.

The GitHub reposititory: https://github.com/mkosler/SelfDefeatingSnake

The .love file: https://github.com/downloads/mkosler/Se ... e_0-1.love
gfSAZ.png
gfSAZ.png (74.69 KiB) Viewed 440 times
From the GitHub README

Self-defeating Snake!

My GGJ 2012 game (even though I didn’t attend…)

Overview
This is a Global Game Jam-theme inspired game, that also tries to use the diversifier "I know what you did last…." You play as a snake that must eat food pellets. As you eat the food pellets, your snake grows longer and longer. You lose the game by either hitting yourself or the edge of the map.

This is the exact model for any normal game of Snake. However, mine has an extra component to increase the difficult, and try to adhere to my chosen achievement. You have a countdown timer that, if it reaches 0, will record your movement until you eat a new pellet, at which point a stationary wall is created that lasts until the end of the game. You can add time to this countdown by eating pellets, so the game becomes not only eat as many pellets as possible, but do it fast or else.

Controls
  • Arrow keys: move your player;
  • ESC: Quit the game.

To Do
  • Add menus and extra polish;
  • Support more resolutions;
  • Add multiplayer modes;
  • Fix bugs.
Known bugs
  • Snake doesn’t collide with its own body;
  • Food pellets can spawn on the snake;
  • Food pellets can spawn in impossible areas (such as enclosed by walls
  • and areas with only one entrance.
Change log

01/28/2012: Initial commit. Minimum game mechanics. No polish.

Re: Self-Defeating Snake

Posted: Sun Jan 29, 2012 10:08 am
by Robin
Gah! It's hard!

Is the flicker that the "dirty" edges have on purpose?

Re: Self-Defeating Snake

Posted: Sun Jan 29, 2012 10:10 am
by MarekkPie
Yeah, it's supposed to be a visual indicator that you either are close to making new walls or are already making new walls.

Which part is hard?

Re: Self-Defeating Snake

Posted: Sun Jan 29, 2012 10:31 am
by Robin
MarekkPie wrote:Which part is hard?
The part where you try not to die. :P

Re: Self-Defeating Snake

Posted: Sun Jan 29, 2012 2:55 pm
by thelinx
Oh, lame. On my first try the pellet spawned inside the wall that was just created.

:(


Also, you can crash into yourself just pressing the arrow button that's in the opposite direction that you're currently going in.

Re: Self-Defeating Snake

Posted: Sun Jan 29, 2012 7:29 pm
by MarekkPie
thelinx wrote:Oh, lame. On my first try the pellet spawned inside the wall that was just created.

:(


Also, you can crash into yourself just pressing the arrow button that's in the opposite direction that you're currently going in.
I know I left that in there just due to laziness, but I thought I made it so that the reverse direction is disabled. I'll have to look at that.

The food in walls thing would be easy, but I also want to build into it protection against this situation:

Code: Select all

###    # = wall
#F#    F = food
# #
Since the player can't backtrack, there would be no way to escape that situation. My initial thoughts are when I try and pick a place to move the food to, I check orthogonally to make sure there are at least two open spaces before I settle on that spot.

@Robin: Yes, I understand that :P but specifically what is it? Is the timer too fast, is the player too fast, are you running into the same issue thelinx described?

Re: Self-Defeating Snake

Posted: Sun Jan 29, 2012 7:57 pm
by thelinx
I think he's just positively noting that the concept itself makes this a hard game. There's nothing bad about it being hard.

Re: Self-Defeating Snake

Posted: Sun Jan 29, 2012 8:54 pm
by MarekkPie
Hopefully it doesn't come across as me berating him. I just want to know...you know, playtesting?

Re: Self-Defeating Snake

Posted: Sun Jan 29, 2012 10:45 pm
by Robin
No, I just suck at snake. :P I wouldn't say anything is too hard, it's just hard for me.

And checking for a possibility of backtracking sounds really interesting. I'd like to know how you did it when/if you've implemented it. I think it's doable in general, but might be pretty intensive, so it might slow down placing pellets. It all depends on the algorithm, though.