I'm releasing what I call a "shooting demo" to get some feedback.
This build allows you to shoot all 16 rocks in a single end of curling. The physics are in a first draft state, they basically work but still need a lot of tweaking.
Shooting is performed in three steps:
First, you set the aim. In the following screenshot, the aim is the arrow on the hogline. Use the joystick to move this up and down, then press the lower trigger to lock in your aim.
Next, you set the weight of the shot. This is represented by the red gauge in the above screenshot. Moving the joystick left or right will adjust this value. When you've made your choice, once again press the lower trigger.
At this point, the rock will begin traveling forward. Now you need to set the curl on the shot, and you need to do it before the rock reaches the line, or else you will lose the shot to a foul!
In this second screenshot, the ugly thing to the right of the line is the curl gauge. Adjust this by moving the joystick up or down, and then press the trigger a third time to release your shot into the world.
If you haven't curled before, some explanation of the physics may be helpful. A curling rock that is thrown too hard generally won't curl, the forward momentum of the shot overcomes any friction generated by the rock's spin. Also, a rock that is spun too fast won't curl. Counter to what you might expect, the best arcs come from throwing the rock with fairly light weight and a slow curl.
Note that this game requires the analog nature of the stock 5200 joysticks. If you have a digital joystick setup, it will not work with this game.
BUGS, ISSUES, AND GENERALLY INCOMPLETE STUFF:
- You can throw all 16 rocks in the end, but there is no scoring or advancement to the next end in place yet. The game will set up a 17th rock, and will crash if you attempt to throw it.
- If you aim hard up or hard down and throw the rock off of the sheet, the game will hang until you complete the shot by setting the curl. I plan to make a bunch of changes to the aim system to prevent this situation from even being possible.
- There is currently no collision detection. If a rock hits a previously thrown rock it will just plow through and erase it.
- Sweeping is not yet implemented. Once you throw the rock, you must simply watch it go.
- Rocks that fail to reach the far hogline are not removed. This isn't as simple as the other boundary detection cases, since there is a rule in curling that says if a rock contacts a rock beyond the hogline, it remains in play regardless of where it ends up. I can't implement this rule until I have collision detection.
- Those two blue lines behind the rock are a placeholder image for a curling dude. They track the rock correctly as it's thrown, I just need to come up with some real graphics.
- I must emphasize again that the current rock physics are a first draft. They will improve significantly after more testing on my end.
DOWNLOAD AND NOTES:
Download link here -> rs_curling.zip (38.71KB)
The download includes the assembled 32KB ROM, and the complete assembly source to date. I don't know how useful this source is at this point, since the project is still very early and much of it is subject to change. People seemed enthusiastic about porting Ratcatcher to the Atari 8-bit line, and if anyone wants to do the same with this, they might be interested in playing with this code. Just don't count on any of it staying the way it is.
- Aking likes this