The Project I Care About: Rancher’s Delight

I made a lot of progress this weekend on the project I brought to the forefront once I put aside all the other projects I realized I wasn’t that interested in.

Rancher’s Delight, if you don’t know, is a game engine I’m making based on the SNES classic Harvest Moon. Its primary goal is to faithfully recreate the underlying engine for the original game. Once that is done, I will extend it to allow for a programmable system that will enable anybody to create any kind of Harvest Moon-like game they wish.

What I accomplished this weekend:

  • removed the old code that dealt with resizing the viewed area to make sprites and locations larger. If I need this again it can easily be rewritten, but it has to fit into the new underlying framework.
  • wrote different functions to take into account the character moving versus the world scrolling under him. The former is used when there’s no more location to scroll in that direction, and coming away from the edge of a map where he’s not in the center yet. The latter is used for everything else.
  • added in-game objects, and ensured that they are stationary with the background when the character moves.
  • added a prototype of the messaging system, using font rendering for the messages and a surface with the original dialogue box on it. It can fit a bit more content than the old fixed-length one, but the content needs to be hand-checked to ensure it doesn’t spill over the edge of the box. It may be worth it to enforce a cut-off just in case.
  • started enforcing cardinality in a character’s facing direction, along with slowly putting together sprite sheets.
  • started playing around with, then polished off, cycling sprites for movement.
  • completely refactored everything up to this point, making everything a lot cleaner. There’s now a sort of God object, the Camera, which takes care of all kinds of relationships between things. Already a lot more relationships can be refactored out, but I can’t see the most effective ways to do so until the whole thing gets a lot more complicated. Primarily I’m starting to see the difference between an object doing something, and the user seeing what it does.
  • introduced a frame length to cycled sprites, which I’ll need to tweak along with the movement speed to get the best recreation of how Jack moves in Harvest Moon. This is really important to get right, as a the timing of the game and how people play it rely on the movement of the main character for precise schedules.
  • stitched together the exterior of the farm, where all the magic happens.
  • created a tool to replace the soon-to-be game objects in a location (such as the stumps and weeds in the exterior farm) with random ground tiles. Fairly simple and effective.

So, yeah. A decent amount of work. You can keep track of the progress on the GitHub feed of commits for the project, as well as test and try it out yourself by cloning my repository:

git clone git://github.com/ardekantur/ranchers_delight.git

In the meantime, here’s a pre-release screenshot :-) It’s Jack spending some alone time on the church roof.

Jack contemplates jumping off the church roof.

One Comment

  1. Scott posted November 15, 2008, 2:01 am

    That’s really cool.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*