Project Aleron - 3 Students take their chance at an MMORPG

Hey Monkeys,

Today we (3 students from germany) launched our DevBlog for our MMORPG Project Aleron.
This post will give you a small introduction to our project (Check out the DevBlog for more details)
Dev Blog: http://brutalhack.com/

Everybody says that an Indie should NOT start with an MMO.
So we decided to start with an MMO :smiley:

Our goals for Aleron:

  • MMORPG with tactical combat
  • Tile-based turn-based combat system
  • Movement outside of combat is in realtime
  • Each player controls 2 characters
  • A characters skills are dependent on their equipment, no character classes.

What is our current status?

We implemented an MMO architecture consisting of one login server, several game servers and an arbitrary number of clients.

You can:

  • Create an account
  • Select a game server and login
  • Create characters and march into battle

We also implemented basic parts of our combat system:

  • Start and join fights
  • Choose your characters starting position
  • Turn-based combat
  • Move
  • Melee Attack / Range Attack / Heal

We create maps using our own map editor.
(We’ll share details about the editor in a future article.)

Some technical details

We develop in Java using jMonkeyEngine 3.
Our main IDE is IntelliJ Idea.
Data is stored in an Entity Component System, both on client and server.
Persistant data is written to a PostgreSQL database.

9 Likes

lol. Well, at least it’s far from a generic WoW-clone and you’ve already got a decent proof of concept in place.

1 Like

The game is not bad but the crew name is back from 2008.

1 Like

Thanks, after coding for a few years we agreed that this was the only proper way to describe the process of software development.
Regardless of how much we pay attention to writing clean code, coding always ‘feels’ like brutally hacking stuff together. :smiley:

(Of course we pay a lot of attention to our code and we ate clean code for breakfast.)

1 Like

We wrote a post about our voxel-based map editor.

Forgive me for “just linking” the article,
but translating from wordpress to discourse is not too much fun…

2 Likes

We have a new Video with commentary showing off our Item and Skill System
along with a few Skill Effects such as pushing enemies, AOE, etc.

This Update had tons of “invisible” changes, because players can now login with an arbitrary number of characters :slight_smile: (minimum 1)

5 Likes

nice progress you have there :slight_smile: but missing entries in you blog :smiley: becouse some ppl may be interested in your progress and things that you discover and use

Heheh I know this Icon set :stuck_out_tongue:
Nice work with your game :wink:

@eraslt
What sort of entries are you missing?
This is the first time any of us is blogging,
so tell us what we should write more about :smile:

@nehon Still can’t believe that they are available as CC-BY. :sunglasses:

yep! But that’s also why they are so popular (despite of being awesome of course :stuck_out_tongue: )

As a big fan of Final Fantasy Tatics and Disgaea, I have to say: This is awesome! I’ve noticed your blog before, but didn’t know it was made on JME.

Keep this going!

Also, I have to ask, where the name Aleron cames from?

Very happy to hear it being called awesome, thank you :blush:

Actually it was just me and some name generators. Looking for a “unique” fantasy name.
Aleron is only the project name. The final game will probably have a very different name :smile:

In our newest article we introduce our Items & Skills System and what else is new!

It features:

  • Family System
  • Character Stats
  • Items
  • Skills
  • Character Orientation & Backstabbing
  • Pushing and Falling
1 Like

New Article: An insight into our client-server architecture and general tips on implementing network multiplayer :wink:

“Networking multiplayer introduces 99 problems!”

Amen.

To this I would personally add in the easier ability to introduce logical “dead locks”. If said developer is thinking in a “synchronous” mind set (as in send a request then wait for a response) then the roundtrip to the server adds a huge wrinkle. In local processes, you might get away with that kind of logic 99.9% of the time but when your request is going to the server and back then you open the window much farther.

You end up with cases where the client requests some value and blocks for a response, meanwhile the server is waiting for something from the client that will never come because they client is blocked.

Better to be fully asynchronous when possible to reduce the chances of this. (As in, client might send a request but then it doesn’t block… it handles the result when it comes back and the result has everything needed so the client knows what to do with the response.)

Using a separate channel for things that must block is another way.

“Peer to Peer is not viable!”

I generally agree with this. However, there was an interesting article I read some time back about a distributed peer-to-peer system that spread authoritativeness to peers that weren’t part of the current game session. Seemed really complicated to me. (Can’t find an easy link to the article anymore.)

2 Likes

Blog time! This time we share all details on the implementation of our machine learning AI!
If you don’t know anything about machine learning, don’t worry.
This article is written with Indie Devs in mind :wink:

We even have a Video with demonstration :smile:

2 Likes

Here is a current screenshot :smile:

New UI features since last screenshot:

  • Much cleaner color overlays
  • higher resolution textures
  • cleaner HP bars
  • Turnorder on right side
  • 3d-cursor on selected tile
  • Team color indicator (also helps identifying facing direction)
  • “tactical grid” overay. We love this overlay.
3 Likes