Sunday 1 February 2015

A Starting Point

Every project needs a starting point, especially one as big as this. Well, first, I should probably introduce what this project is aiming for, and what I am trying to accomplish.

I am trying to create an open source MMORPG for the Raspberry Pi community to use, only accessible through Raspberry Pis. The pi has an ARMv6 processor, and very low specs. My goal is for this MMO to run smoothly upon any model of pi with an average internet connection.

The pi community will be able to submit content to be added to the game, maybe even create new areas, graphics, etc. In the long run, I hope to create an API for this, or at least simplify the programming involved, and making it be programmable in any language. For now, I'm creating the project in C++ with the OpenGLES 2.0 libraries used for graphics.

Each pi connected to the system will be used to host a small amount of the content currently being used, probably content being used by them if not many players are online. This will reduce server stress, as EVERYTHING is being handled by pis. The central server is going to be a smallish cluster of 16-32 B+s.

Anyway, the first step any developers need to take that are working on the project is to get acquainted with the OpenGLES 2.x libraries, and create a few small programs. The libraries do not have very good tutorials available, especially for the pi, I have found, so maybe in future some basic guides will be posted here as I become more comfortable with it: I'm only used to OpenGL  3.x, which is for x86 processors and not compatible with the pi.

Artists will need to make sure they can 3D model to the required size (I have not decided yet, I will need to have various sizes tested) and in the right format.

So far, I have learnt some basic skills in OpenGLES, in the space of a few days. The product of this is a program with a triangular prism (coloured with different gradients on each side) which can be orbited with the mouse or the keyboard.

These will be needed for character control, and rendering of an object, though I still need to learn how to import models to the program, if that is what will be used, and establish some basic server-client programs that work with the pi, before I can begin upon the actual project.

Obviously, this is a huge community project and WILL need the support of the community. Anyone interested in developing even a small part of this project, doing artwork, helping with server-client connections, or even hosting, can comment here, email me at kierantribe@gmail.com, tweet me @chaotic_coffee, or post on the raspberry pi forums thread (http://www.raspberrypi.org/forums/viewtopic.php?f=78&t=98193) as help is much appreciated, and needed.

Thanks for reading, see you guys soon in the next update!

3 comments:

  1. Hi, I emailed you about helping out. Is the project still on?

    ReplyDelete
  2. Yes, it is. I neglected this blog entirely as I'm absurdly inefficient.

    And I've been WiFi-less and not at home lately, but still got some work done.

    ReplyDelete
  3. Hello. I may be able to help with hosting. Please contact me regarding requirements.

    ReplyDelete