Colony Alpha (M)ORPG (Updated)

Well, since I have finally come out of the closet on the Collaboration forum, I thought I may as well start a post here to show continuing development.

Whilst I know the general attitude to anything online with M’s in front of it, I hope that the video will show that I do have something to show for my work.

The video is very much pre-Alpha at this stage… working on the mechanics but in an environment of placeholder art so it’s not as boring to look at whilst I am testing. Placeholder art comes from 3drt, Arteria, Dexsoft, Assett Store with a special thanks to Mr Nectarus who seems to have a knack for making excellent models for Unity. :slight_smile:

The server backend is uLink and the current video shows the transition between zone servers. The game is fully enabled for multiple players and multiple servers and zones with interzone chat server although the video shows just a single client in operation.

The server is fully authoritative, such that the client is only a display mechanism and keyboard input client. All decisioning and gameplay is completed on the server for control.

The system to date operates either locally, or has been tested on cloud servers and on a server farm. Whilst I don’t know yet whether I will need load balancing (really depends on number of players) if I do, I will use the PIKKO server tech from uLink.

This is my hobby, a fairly expensive one, but still my hobby and has so far been 6 - 9 months in development.

Whilst the video is low quality, I hope you get a feeling for the work accomplished so far.



New video, Sunset in Colony Alpha, Sept 11th 2011



All comments gratefully received.

Regards

Graham

I have to say, Its very good what you have accomplished. I look forward to a polished product to test.

That’s cool ;). And you used the character from 3drt xD (I was looking at them quite a while ago, nice to see somebody else also uses them)…
For a hobby and the fact that you are neither of the two, it is quite impressive. How did you manage to build all these things if you are no a programmer ^^. Especially the server/client interaction interests me since that was one of my major areas of interest in the past and without advanced programming skills this would seem kinda hopeless?!

But for now everything is pretty familiar. Are you planning some “new” gameplay in the future (even though I would understand if its kinda secret)…?

You say you’re not a programmer, nor a graphic designer. I’m a programmer but not a graphic designer, and I have NEVER been able to create something like this. What’s your secret? Mass planning? Amazing work!

yeah it looks really good so far, keep the thread going with updates and such!

a mmorpg? this is impossible!
cease this madness at once!

j/k
It’s looking great!! :smile:

Thanks for the kind comments all.

No I am not a programmer, every script that I have used is based on changing something that’s available as either a Wiki script, on these forums or from some tutorials, primarily the Burgzerg set.

The choice of uLink was for exactly that reason… the server operations are designed for MORPG or MMORPG and very very closely integrated with Unity such that theres no work needed to get it operating apart from some common sense and some reading of docs.

My 2 primary skills here are not knowing the information but knowing where the information is (as in the docs) and spending the time to read them and get enough understanding to try, and try, and try again, and smack my head on a wall and finally try again and get a result :slight_smile: .

I accept that it will take me days to figure out something silly that programmers do by second nature, but as a hobby, that’s not an issue… it’s not like I am getting paid for delivering something :slight_smile:

Mr Burns… don’t worry, I have a number of things I am working on to give this some unique mechanics and operations once I have got to the stage of getting all the base functionality sorted.

I guess the thing that has taken me longest so far is my own quest for stability… I spend an awful lot of time re-writing things I thought were already done… primarily to either reduce the number of bytes I am shipping on network calls, or amending scripts to allow for a couple of FPS improvement, or just simply re-writing functions based on new stuff I have discovered.

But thats the fun part right?

Anywhoooo next job… again taking a base from BurgZerg… day and night cycles and weather… all driven from the server down to the clients so the clients stay in synch with the server and its either sunny or rainy on all clients at the same time… this will be fun :slight_smile:

Regards

Graham

I am also writing a game as some sort of hobby right now ^^. Its my first 3D game actually (the second game in total) and thus almost the first real experience with game programming. But as you said, programming for me is a second nature, so the fact that I am writing a game now doesn’t make much difference. It’s always nice to see that there are also others out there who follow such a hobby with a certain passion ^^. Currently I have summer holidays and I am working almost day and night at it, maybe I have to show something in about two months also :). I am looking forward to see your game evolve, even though I am doing something totally different…
As I have recently discovered, there is nothing more rewarding than game development ^^.

And about the other things you mentioned… That’s probably the best thing about doing it as a hobby. That you can try and if you don’t like it throw it away, exchange this and that and just waste time ^^. That is also what scares me a little when I am finally done with studying, which will still take a while though, that you have to deliver in the “real” world and earn money with it… Hopefully that won’t take the fun out of it.

Congrats! So far it is looking very nice. Definitely a huge milestone in the development process and very happy to see something like this! I am working on something similar, definitely not MMO though. I would be happy if I could get 10 people running around in missions with no noticeable lag. :smile:

-Dane

@Mr Burns if you love it and it’s your job, then always remember why you love the job and no matter how annoying or tiring the job becomes, you will still enjoy the job. It is rare that we get to do jobs that we have passion for, and that passion will make the highs seem higher and the lows seem lower… remember that and you will be able to keep a balance :slight_smile:

@DaneC020 Thanks… I have stress tested the server as this was a concern of mine, and I know that I have to be very careful with the player character to keep the frame rates up the trade of between detail and textures is by far the biggest impact on frame rate…I know I can do much optimisation as I go forward… I have an LOD system installed that I wrote and currently each building uses about 5 large textures… I believe that when I get my real game art started and reduce this to one texture for all buildings, and the buildings are built for the game etc I will materially improve on frame rates etc.

Currently I limit FPS to a max of 60FPS to ensure the server - client communications are kept in synch.

2 big areas for optimisation :-

  1. I want to get this to the stage that under stress testing, each zone can handle 60 - 100 player characters at once, at the moment my limit is around 20. If I were to get more than 60, then the cost of upping the servers to uLInk PIKKO technology for load balancing would not be an issue, then I could have as many people in a zone as I wanted as long as I had server space :slight_smile:

  2. Minimise the amount of data flowing across the network between server and client. 1 bit being sent 60 times a second to 20 clients is 1,200 bits per second of flowing data. By changing the data structures of what I need to pass in the way of info and by only passing info when something changes will, by my estimation, save something like 36,000 bits per second from the current design and that’s just on info in RPC calls. However, the use of an authoritative server requires many such callks, so optimisation here is key.

It’s so easy to just add a new Network ID and Network View into the game, but frankly, every single bit of transmitted data needs to be looked at and optimised to make sure that you get optimal performance. I have found this to be way more difficult to get my head round than just building the thing :slight_smile: I mean… whats the point ogf having an NPC continually sending data between the server and client, if the player can’t even see th NPC. If there are no players in “range” of the NPC then shut down those communications until there is. Each time I do that, I get a few FPS more. It all helps :slight_smile:

Regards

Graham

You never cease to amaze, Graham!

Looks amazing, I wish you the best with this project!

Thanks guys… much appreciated.

will be trying to keep this thread upto date as it progresses.

Hopefully by the end of the week, I will have the working Day/Night server driven system working… on paper it looks like it should work fine, but theres always reality that gets in the way.

Regards

Graham

Sir I would completely classify you as a programmer and graphics designer to the max for pulling this off!

Thanks kmgilbert. :slight_smile:

For all… I have added a new video to the title post… Sunset in Colony Alpha.

Hope you enjoy.

Regards

Graham

Truly amazing!

Good luck on your endeavors!
ZettaGenius

Thanks ZettaGenius.

I really hope that one day I can prove that an (M)ORPG is possible, just lots of work :slight_smile:

Regards

Graham

wow… I’m neither a programmer or a designer, but this is incredible for someone doing this out of the blue… you haven’t wasted your money.

Very nice Moria. I was curious about that asset myself but had some concerns about the performance impact it may have caused. What type of stats/data would you mind sharing with us? How many draw calls do you have when running with just your character and the world? Did you see a big impact in performance when implementing the UniSky plugin?

Also, how are you planning on handling the modeling swapping for all the customization of gear usually presented in a RPG? I have been wondering the best way to handle this myself and thought you might have some good ideas. :slight_smile:

-Dane

Thanks lordaddament :slight_smile:

Dane… good questions… I am showing 156 drawcalls and a framerate of 36FPS on a screen 1280 x 720 with the water, beach, character and GUI. I have to do some serious work on optimisation this week… my frame rates are dropping badly :frowning: I know that it is not helped by running 2 servers locally as well as the client, but hey I need to do something. It may be the Unisky, I don’t know, but if it kills performance, then it goes and I’ll work on something else… moving the sun and changing it’s colour is pretty basic… the tricky bit may be the clouds, I really haven’t thought too much about it yet.

As to the characters equipment… I have another test character that has 4 full sets of armour and 10 weapons and carries them around the whole time with the renderers being switched on or off by selection in the inventory. I did a fair amount of testing, and whilst it seems cumbersome and needs some coding, if you turn the renderer off, then theres no drawcalls associated with it (or minimal) and I didn’t get any slowdowns or lack of performance, but this will be a requirement of the final characters to be properly optimised for what I want to do.

Hope this helps.

Regards

Graham