Nibbles - FT2 Lives! (3.0)

FT2 Lives!

Thanks to 4Tey and KMaki.

Jump to post #52

1 Like
local snake_speeds = {Ambient house, Ambient techno, Dark ambient, Drone music, Psybient, Space music, Italo house, Baltimore Club, Big beat, Broken beat, Florida breaks, Hip hop, Nu skool breaks, Progressive breaks, Cosmic disco, Eurobeat, Eurodance, Euro disco, Hi-NRG, Italo dance, Italo disco, Nu-disco, Spacesynth, Acid jazz, Balearic Beat, Chill out, Ethnic electronica, Glitch, Illbient, Minimal Electronica, New Age music, Nu jazz, Trip hop, Analogue & digital, Berlin School, Electroacoustic, Electro-hop, Electro backbeat, Freestyle music, Techno bass, Electropop, Folktronica, Glitch, IDM, Nu Jazz, Trip hop, 2-step, 4Ă—4, Bassline, Breakstep, Dubstep, Funky, Grime, Speed garage, Bouncy techno, Breakbeat Hardcore, Breakcore, Darkcore, Digital hardcore, Doomcore, Freeform, Gabber, Happy hardcore, Hardstyle, Jumpstyle, Makina, Noisecore, Speedcore, Terrorcore, UK Hardcore, Acid house, Bubblegum dance, Chicago house, Dark house, Deep house, Disco house, Electro house, Fidget house, French house, Freestyle house, US garage, Ghetto house, Grind house, Hi-NRG, UK Hard house, Hip house, Italo house, Kwaito, Latin house, Merenhouse, Minimal house/Microhouse, Progressive house, Scouse house, Electronica, Skacid, Tribal house, Tech house, Aggrotech, Ambient industrial, Cybergrind, Dark ambient, Dark electro, Death industrial, Electronic body music, Electro-industrial, Futurepop, Industrial DnB, Industrial metal, Industrial rock, Industrial techno, Japanoise, Martial industrial, Neofolk, Noise, Power noise, Clownstep, Darkstep, Drumfunk, Hardstep, Intelligent drum and bass, Jump-Up, Liquid funk, Neurofunk, Raggacore, Sambass, Techstep, Trancestep, Acid techno, Detroit techno, Free tekno, Ghettotech, Jtek, Minimal, New beat, Nortec, Schranz, Wonky techno, Acid trance, Ambient trance, Classic trance, Dream trance, Euro-trance, Hard trance, Hardstyle, Nu-NRG, Progressive trance, Tech trance, Uplifting trance, Vocal trance, Hard Trance, Dark psy, Full on, Nitzhonot, Uplifting, Psyprog, Psybient, Psybreaks, South African psytrance, Suomisaundi, Hardcore breaks, Rave breaks, Jungle techno, Ragga-jungle, Intelligent jungle, Darkside jungle}  

Now there’s a real challenge!

lol, i just saw this. (((= have a plus!

Actually it comes from QBasic :)

Never thought of it before, but weird that Triton took the name for their worm game from QBasic Nibbles. It’s not like it was very original worm game.

Should propably check if the levels are same in both QB and FT2 version, that would explain the naming and give you easy access to level data.

Heh, been waiting for this since I gave up FT2! Got this little fella running and had a wave of boredom nostalgia!

I already have the info on all the FT2 levels somewhere on my system… I’ll dig it up for you

Patches welcome.

Just post your changes (code) in this thread, someone will review them, and I’ll eventually merge them into the code. Else, wait until I have some free time and do it myself.

I am with Crytek on this; totally new to LUA, but not new to programming, so working on this project would be a great way for me to learn how it all works, with the aim of making positive contributions to the scripting when I get up to speed.

Cheers.

Ok, so i fixed the “bug” that killed you if you pressed the arrow to make the snake go backwards. Since this is not normal Nibbles behavior and like someone mentionned it’s like the snake goes inside out to eat himself…

the only modified code is in this function:

  
-- Keyboard input  
  
function key_handler(dialog, key)  
  
 if (key.name == "esc") then  
 dialog:close()  
  
 elseif (  
 key.name == "up" or  
 key.name == "down" or  
 key.name == "left" or  
 key.name == "right"  
 )  
 then  
  
 if (  
 (key.name == "up" and current_direction ~= "down") or  
 (key.name == "down" and current_direction ~= "up") or  
 (key.name == "left" and current_direction ~= "right") or  
 (key.name == "right" and current_direction ~= "left")  
 )  
 then  
 current_direction = key.name  
 end  
  
 end  
  
end  
  

I’ll attach the main.lua file for conner (or anyone with the required privileges to update it)

edit: another thing that should be fixed is that right now colored dots can appear under the snake, it can get annoying when you have a long snake…since you have to wait to know where the dot is, let alone getting it.

I checked the patch. This:

  
 elseif (  
 key.name == "up" or  
 key.name == "down" or  
 key.name == "left" or  
 key.name == "right"  
 )  
 then  
  
 if (  
 (key.name == "up" and current_direction ~= "down") or  
 (key.name == "down" and current_direction ~= "up") or  
 (key.name == "left" and current_direction ~= "right") or  
 (key.name == "right" and current_direction ~= "left")  
 )  
 then  
 current_direction = key.name  
 end  
  

Can be reduced to this:

  
 elseif (  
 (key.name == "up" and current_direction ~= "down") or  
 (key.name == "down" and current_direction ~= "up") or  
 (key.name == "left" and current_direction ~= "right") or  
 (key.name == "right" and current_direction ~= "left")  
 )  
 then  
 current_direction = key.name  
 end  
  

Works good, though. I will update sometime this week.

Heh, indeed…I guess I was scared of touching the basic key handling code. : P

It would be interesting to make this little game somewhat useful too, like having it trigger samples/patterns, as an XY device or anything that would influence the current track.

write/influence a tune by playing nibbles O_O

that’s an awesome, awesome idea!

I thought about the other way around, too, a game where enemes/stuff show up depending on what’s going on in the song, but I thought that would be nicer with actual draw functions… not that I think a full blown game is feasible speed wise, and it would never be “a good game” anyway… but the other way around, now that could be SICK.

this is a really cool idea,me personally couldnt care less about nibbles,but if it was being made like this idea,then it also was usefull,and more fun

v0.2:
Fix: User submitted patch (thanks nimitz) for the “bug” that killed you if you pressed the arrow to make the snake go backwards. Fix: food no longer appears under the snake.

http://tools.renoise.com/tools/nibbles

Beat that!!

Shopped!

Nope… Even better!

– Snake crashed
if (
snake[1].x < 1 or
snake[1].x > matrix_width or
snake[1].y < 1 or
snake[1].y > matrix_height or
color_snake == get_cell_color(snake[1].x, snake[1].y)
)
then
–renoise.app():show_error("Game over! You’re score is: " … score)
renoise.app():show_error(“Game over! You’re score is: 1,000,000,000,000,000”)
current_dialog:show()
reset()

return
end

Obviously photoshopped! Renoise scripting editor doesn’t support coloring arbitrary lines red. ^_^

All silliness aside, I was thinking it would be good to have some options in the game;

Difficulty level
Grid size
etc.

Grid size would be easy to do; just swap the fixed number for a variable.

What would be really mental, would be to assign the grid size variables to a incremental loop, so the grid pulsates in size!

Ha Ha Ha Ha Ha Ha

Patches welcome.