Jump to content
  • Advertisement
Sign in to follow this  
Hyperreal

Game Server Development in Scala

This topic is 995 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Vinctus Venatus

 

About

This blog intends to follow the progress of a MORPG game server called Vinctus Venatus. The game server will be mostly written in Scala (more about the language can be found here). The codebase will be open-source and contributions made by volunteers will be welcome. The repository for the source is located at https://github.com/emaxedon/vinctus-venatus.

 

Game Mechanics

The game mechanics will follow that of a basic fantasy multiplayer online RPG. The game server will not handle logic for any new or innovative forms of gameplay. Only the basic features of common MORPGs will be implemented. These features include but are not limited to:

  • User registration and authentication
  • Character creation (picking class, gender, name)
  • Chat system (global chat, map chat, pm)
  • NPCs
  • Quest system
  • Player level and attributes (players level up by gaining experience completing quests, and by killing non-player entities)
  • Player inventory and equipment
  • Player movement, spawning, class skill actions
  • Player to player trading
  • Player friend system
  • Guild system

 

Dependencies

The game server will be designed to be non-blocking, scalable, and resilient. To accomplish the goal of the game server, the following tools will be used:

  • Akka - a toolkit for developing asynchronous, non-blocking message-driven applications that run on the JVM
  • Google's Protocol Buffers - a language-neutral, platform-neutral mechanism for serializing structured data
  • ScalaPB - a protocol buffer compiler plugin for Scala. It will generate Scala case classes, parsers, and serializers
  • Slick - a functional relational mapper that allows for type safe database queries written in Scala
  • PostgreSQL - open-source relational database management system
  • jBCrypt - Java implementation of OpenBSD's Blowfish password hashing
  • More to come...

 

Game Client

The game client will be a low graphics application using the Unity3D game engine. The client will be developed concurrently for testing purposes only. Development on the client will not be the focus of attention for this blog, but its codebase will be open-source.

 

License

Vinctus Venatus is distributed under the MIT License, meaning that you are free to use it in your free or proprietary software.

Edited by Hyperreal

Share this post


Link to post
Share on other sites
Advertisement
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!