Re: Nokia N95 Snake Game Download

0 views
Skip to first unread message
Message has been deleted

Edelira Longinotti

unread,
Jul 12, 2024, 1:48:30 PM7/12/24
to bloodupalso

1982's Tron arcade game, based on the film, includes snake gameplay for the single-player Light Cycle segment, and some later snake games borrow the theme. After a version simply called Snake was preloaded on Nokia mobile phones in 1998, there was a resurgence of interest in snake games as it found a larger audience.

nokia n95 snake game download


Download File https://psfmi.com/2yUE3j



The original Blockade from 1976 and its many clones are two-player games. Viewed from a top-down perspective, each player controls a "snake" with a fixed starting position. The "head" of the snake continually moves forward, unable to stop, growing ever longer. It must be steered left, right, up, and down to avoid hitting walls and the body of either snake. The player who survives the longest wins. Single-player versions are less prevalent and have one or more snakes controlled by the computer, as in the light cycles segment of the 1982 Tron arcade game.

In the most common single-player game, the player's snake is of a certain length, so the tail also moves, and with every item "eaten" by the head of the snake the snake gets longer. Snake Byte has the snake eating apples. Nibbler has the snake eating abstract objects in a maze.

The first known home computer version, Worm, was programmed by Peter Trefonas for the TRS-80 and published by CLOAD magazine in 1978.[2] Versions followed from the same author for the Commodore PET and Apple II. An authorized version of the Hustle arcade game, itself a clone of Blockcade, was published by Milton Bradley for the TI-99/4A in 1980.[7] The single-player Snake Byte was published in 1982 for Atari 8-bit computers, Apple II, and VIC-20; a snake eats apples to complete a level, growing longer in the process. In Snake for the BBC Micro (1982), by Dave Bresnen, the snake is controlled using the left and right arrow keys relative to the direction it is heading in. The snake increases in speed as it gets longer, and there is only one life.

Nibbler (1982) is a single-player arcade game where the snake fits tightly into a maze, and the gameplay is faster than most snake designs. Another single-player version is part of the 1982 Tron arcade game, themed with light cycles. It reinvigorated the snake concept, and many subsequent games borrowed the light cycle theme.

Starting in 1991, Nibbles was included with MS-DOS for a period of time as a QBasic sample program. In 1992, Rattler Race was released as part of the second Microsoft Entertainment Pack. It adds enemy snakes to the familiar apple-eating gameplay.

In 2017, Google released a version of the game as an easter egg, whenever the phrases "snake", "play snake", "snake game" and "snake video game" are typed.[8] Similarly, the game is also one of the free games that can be playable when offline on Google Play Games.

In 2023, Froglet Games pioneered the next generation version within the snake-genre with it's game Cosmic Shore, which is designed having esports in mind as the catalyst to reconnect this genre with modern audiences. It's based on the predecessor, Tail Glider which introduced intuitive flight controls to the snake-genre on mobile.

Trademark is a minefield in IP. The use of the name 'snake' in reference to a game was trademarked - trademark search: name snake; owner nokia for computer games. The key thing there is the disclaimer: "NO CLAIM IS MADE TO THE EXCLUSIVE RIGHT TO USE "SNAKES" APART FROM THE MARK AS SHOWN" - you should be ok there too. Its also the only trademark that Nokia claims on Snakes. Note also that trademark is still active. Trademarking the word would likely have been problematic as lots of things use the word 'snake' as part of a game.

The story changes if you're attempting to demonstrate actual game design skills, which would require some actual creativity on top of "snake" that would keep the project form being mere plagiarism. And the story changes again if you want to actually distribute the game, such as in a smartphone app-store.

So we've created a body for our snake which is an array that'll contain the x and y locations of the part of the body. We're also adding the head of the snake to the body in the constructor, so when we new up the Snake object.

I'm pre-empting the movement of the snake, I know it's going to be able to move either up down left or right, so if the dir value is set to 1 then we're going right, if it's set to 2 then we're going down, 3 then we're going left and 4 is up.

And finally, the update method which just moves the head of the snake in the direction we're moving. Note, I only move the head of the snake because if I were to move the whole snake in a given direction then it wouldn't look like a snake at all. We're going to need to come back to this method as we will need to update the rest of the body - when we have the rest of the body and not just the head.

We now track the lastX and the lastY of the snake so that when the snake eats that position is basically where the food goes, it effectively goes straight to its butt. I've also added code to update the whole body of the snake, so in the update method you'll see the code:

None of the conventional path finding algorithms would work here, so we need a new approach. The trick here is to realise that in the end part of the game, the snake will be following a planar Hamiltonian Cycle of a 2D array:

So what we can do is precompute a random hamiltonian cycle at the start of each game, then have the snake follow that cycle. It will thus pass through every point, without risk of crashing, and eventually win the game.

One thing that I had to think about for a few days was how to keep track of the snake. The program must know where every section of the snake is in order to detect collisions. This chip has a lot of RAM, but it seemed too wasteful to hold a buffer of every point on the game board. That would probably have worked, but it greatly limits the scalability of the code.

I have some homework for my school and I have to make a snake game, like Nokia's, in Delphi. I wonder which solution is the best. I want my snake be a class and the body is an array of points (parent class) or a linked list of points. What's the best? An array or a linked list?

A simple solution is to make an array[horizontal][vertical] of type, so that there is one item for each coordinate on the screen. Each type can be a snake-direction, food, poison, wall or empty. This means that you only need to remember the head and tail position of the snake, and the count of food and poisons, and the array describes how the screen looks like.

This removes the hassle of handling the snake's elements, and makes it easy to position new food or poison items on the screen, ensuring that you're not putting it into a place that is already occupied.

When you need to remove the tail element of the snake, get the direction of the tail using direction:=array[tailx,taily]; and then set array[tailx,taily]:=empty. Afterwards, update tailx and taily depending on the direction. That's it.

In Delphi, I'd use a TQueue, witch is defined in the Contnrs unit.You can "push" your new coordinate into it (snake head), and when your max snake size is reached you just have to call "pop" to free the snake tail.

At the beginning, the tail would be in cell #1, the head in cell #3. As the snake moves, move the head pointer to the right and write the new coordinate. Then, if there's no food eaten, move the tail pointer to the right as well. If either of the pointers tries to go beyond the rightmost end of the array, wrap them over to the beginning.

The snake is an array of x/y coordinates that correspond to pixels on the screen. The snake moves in a direction based on the key input (arrow keys and WASD supported!). To move, the last item in the array (the tail) is removed, and a new item (the head) is added to the beginning. If the snake eats a dot, the last item isn't removed, and the snake grows.

Every 50ms, tick is called, which is the game loop. The timer will restart if there's a game over. Otherwise, each tick will clear the screen, draw a dot, move the snake, draw the snake, and render everything to the UI.

I learned a lot writing and refactoring this over the past few days. I encountered plenty of bugs in my first iteration, such as the snake being able to collide into all but the last tail segment, and a major issue where the blessed boxes weren't being garbage collected, and the game got slower and slower as it became less efficient and more intensive to run.

You (the player) control a virtual "snake" which roams around its little world eating food pellets and trying to avoid its demise by running into itself or the edges of the world. With each food pellet you (the "snake") eat, you grow stronger and larger; in turn making it increasingly difficult for you (the "snake") to continue your existance. When you manage to consume 10 food pellets, you will be promoted to the next level.

Simple! You control the direction of the snake's head with the arrow keys (up, down, left, or right) and the snake's body follows. The "snake" can move any direction except, it cannot turn backwards into itself.

The snake passes through 6372 cells and consumes 100 pellets, extending its length by 796 cells to a total of 801. It moves at a speed of 10 cells per second. The text at the end apparently reads, "And now we'll show a cartoon film. Connection to server ... No connection. Thanks. Everybody's free."

Nokia 6310 is now making a comeback, including the classic "snake" game. The smartphone is said to come back with a few new specs. As of the moment, the device includes Snake, which is a legendary game that has been entertaining users since Instagram, TikTok, and even Candy Crush.

Black Friday could be a guarantee for buyers to see discounts across smartphones and handsets. For those that want to play the classic Nokia snake game that was extremely popular for the Nokia 3310, there's a way to play the game online without having to purchase the previous Nokia 6310.

aa06259810
Reply all
Reply to author
Forward
0 new messages