Westward dev log #31: Going open source


The main topics of this first dev log of the year are: going open source, new server and new camera controls!

Going open source

After more than two years of work, I have decided to open source Westward! I will keep actively developing the game, but I thought a change in direction was needed, towards a more open, community-centered process. I expect to learn a lot from people looking at my code, I hope that some people will learn a lot from my code as well, and I hope that the quality of the game will increase as a result of having more people involved. Should be fun!

As stated in the REAMDE file, the repository is not yet up to open-source standards, and neither am I actually; I have zero experience maintaining a large collaborative codebase. But all of this should improve quickly as people chime in and let me know about their feedback.

I plan to keep writing these dev logs, by the way. I think this can be useful to keep documenting the changes that happen, as well as to discuss the direction of the project as a whole and perhaps help set some kind of “editorial line” to guide new contributions. I will also try to include more technical content as often as possible.

New server

In the beginning, the game was hosted on Heroku; some months ago I moved to DigitalOcean (DO) because I wanted to have full access to the server. Since the last dev log, the game has moved again and is now hosted on an AWS EC2 instance. The reason is that I had an overall impression of slightly lower quality and performance on DO. The game nows run on a smaller machine for a lower price on AWS, at a similar performance level. In addition, as I’m using AWS daily in my day job, it felt natural to start using it as well for Westward in order to benefit from the experience I already had.

Moving between servers also signaled that it was time to give the game a proper domain name to make these back-end shenanigans less obvious. Therefore I’m happy to introduce http://www.westward-online.com as the new single point of access to the game! Easier to remember than an IP address, too.

New camera controls

Finally, one significant change has been applied regarding the camera. I’ve had a lot of negative feedback about the fact that it’s hard to click on objects when moving, because the camera follows the player. Therefore I’ve added the capability to “unlock” the camera, so that it doesn’t follow the player and can be moved around (using the mouse, the arrow keys or the WASD keys). Pressing space (or clicking on the new camera icon) allows to toggle camera lock (and to re-center the camera on the player). This behavior is kind of standard for point-and-click, top-down RPGs and should offer more flexibility.

I have contemplated moving to keyboard-based movement, but the implications of it are way too big. The client/server movement synchronization code would need to be adapted, as well as the behavior to pick up objects, enter in buildings, etc. These last two examples are small things but reflect that a lot of small design changes can follow a big mechanical change like this. I don’t exclude to make it happen someday, but it really didn’t feel like fun work, especially not when an apparently good point-and-click alternative was possible. But now that Westward is open source, anyone who is strongly interested by that is welcome to work on keyboard movements!

That’s it for now. In the coming weeks I may focus a bit more on “marketing” efforts to get this open source thing going. Hopefully the project will pick up steam and the quality and content will eventually progress faster. The first PR was merged on Wednesday already, so it’s looking good! 🙂

If you’d like to support Westward, consider having a look at my donation page. In particular, take a minute to have a look at my Patreon page, where you can find a listing of rewards for various levels of recurring contributions!

Jerome Renaux

I'm an independent game developer, working mainly on browser-based multiplayer online game (HTML5 & Javascript). I love to discuss about all aspects of game development so don't hesitate to get in touch!

More Posts

Follow Me:
Twitter

Jerome Renaux

I'm an independent game developer, working mainly on browser-based multiplayer online game (HTML5 & Javascript). I love to discuss about all aspects of game development so don't hesitate to get in touch!