It is currently Mon Oct 16, 2017 9:19 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 5 posts ] 
Author Message
PostPosted: Fri Dec 30, 2016 7:15 am 
Offline
User avatar

Joined: Sun Sep 26, 2010 10:29 pm
Posts: 35
Hi there,
I just 95% finished my very first NES project and am looking for someone who is interested in reviewing my code.
It is just a simple Snake clone, written in C. I would like to improve my NES skills and there I am looking for some feedback.

You can find the project here: https://github.com/JuzamDjinn91/NES-Snake

Regards Sebastian


Top
 Profile  
 
PostPosted: Fri Dec 30, 2016 9:37 am 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 5706
Location: Canada
A couple of thoughts after playing it:

1. Sprites appear on screen 1 line lower than you probably think. e.g. If you put 0 in the Y coordinate, the first row of the sprite will appear on line 1.

2. Eating the second spider does not increase the length of the snake, but every other spider does. Why is the second one special?

3. You can reverse direction if you press the buttons fast enough. e.g. If you are facing left, you can tap up then right quickly to turn right without ever moving up. If the snake is longer than two parts this causes suicide, which is frustrating because it's easy to do by accident while just trying to make a quick turn.

For precise control, the solution I'd suggest is maybe queue button presses. If someone taps up then right on the same turn, apply up on the next tick, then right on the tick after that?

4. When moving along the top wall, a tile once disappeared from it, leaving a hole. Not sure what caused this, and wasn't able to do it again, but it suggests there is a bug that causes this.

5. Why do you hide the snake head and spider sprites when displaying the PAUSE indicator?

6. Is there no way to return to the title screen after game over?

7. The title NESNAKE was already used for a similar game by RetroUSB (Super NeSnake 2), which might be worth playing for some ideas.


Top
 Profile  
 
PostPosted: Sat Dec 31, 2016 6:18 am 
Offline
User avatar

Joined: Sun Sep 26, 2010 10:29 pm
Posts: 35
rainwarrior wrote:
A couple of thoughts after playing it:

1. Sprites appear on screen 1 line lower than you probably think. e.g. If you put 0 in the Y coordinate, the first row of the sprite will appear on line 1.

2. Eating the second spider does not increase the length of the snake, but every other spider does. Why is the second one special?

3. You can reverse direction if you press the buttons fast enough. e.g. If you are facing left, you can tap up then right quickly to turn right without ever moving up. If the snake is longer than two parts this causes suicide, which is frustrating because it's easy to do by accident while just trying to make a quick turn.

For precise control, the solution I'd suggest is maybe queue button presses. If someone taps up then right on the same turn, apply up on the next tick, then right on the tick after that?

4. When moving along the top wall, a tile once disappeared from it, leaving a hole. Not sure what caused this, and wasn't able to do it again, but it suggests there is a bug that causes this.

5. Why do you hide the snake head and spider sprites when displaying the PAUSE indicator?

6. Is there no way to return to the title screen after game over?

7. The title NESNAKE was already used for a similar game by RetroUSB (Super NeSnake 2), which might be worth playing for some ideas.


Thanks for the feedback. I did not notice, that you can switch directions that way (3).
Regarding the disabled tile: I noticed this as well but could not find the bug yet.

Regards Sebastian


Top
 Profile  
 
PostPosted: Sat Dec 31, 2016 9:04 am 
Offline
User avatar

Joined: Sun Sep 19, 2004 10:59 pm
Posts: 1389
rainwarrior wrote:
5. Why do you hide the snake head and spider sprites when displaying the PAUSE indicator?

If it hid the entire snake, it'd make sense as an anti-cheating mechanism (i.e. similar to hiding the playfield in Tetris) - otherwise, you could pause the game, study the playfield, and figure out how to safely navigate to the next item.

_________________
Quietust, QMT Productions
P.S. If you don't get this note, let me know and I'll write you another.


Top
 Profile  
 
PostPosted: Sat Dec 31, 2016 12:36 pm 
Offline
User avatar

Joined: Mon Feb 07, 2011 12:46 pm
Posts: 919
One suggestion I have is that it should display what level number you are on at the top and on the game over screen.

A way to hide everything when paused is to switch to the other nametable. For example you can use the nametable at $2000 for the playfield and at $2C00 for the pause screen (if you aren't scrolling, you don't need $2400 and $2800 nametables).

Other ideas for enhancements to the game are possible, such as:
  • Time limit
  • One way passages
  • Option menu for setting speed and possibly other setting

_________________
.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 5 posts ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 6 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group