Pioneer - MMORPG attempt

Soldato
OP
Joined
6 Sep 2006
Posts
6,280
Location
London
Will do, just fixed a few problems such as the water flickering due to a not accurate enough z-buffer and a few other niggling bits. The next big update I'll show on here will be when vegetation is in at a playable framerate. Atleast some grass :)
 
Soldato
Joined
12 Jan 2004
Posts
3,172
Location
Brighton
Just out of interest, what is the main focus? The graphics? The gameplay process? The networking?

Looks like you are putting a lot of emphasis on the graphics at the moment...
 
Soldato
OP
Joined
6 Sep 2006
Posts
6,280
Location
London
Yup, 3.0 works with and requires Visual Studio 2008 :)

ahhah.. I've got 08 installed.. I might switch over. That'd probably break everything though :rolleyes:

Just out of interest, what is the main focus? The graphics? The gameplay process? The networking?

Looks like you are putting a lot of emphasis on the graphics at the moment...

Definitely at the moment the emphasis is on the engine itself, that's not just the graphics side but object creation and transformation during the frame. Once I'm happy with how that works, and the basic gameplay functions such as placing building blocks on the terrain, getting resources from objects on the terrain and such I can start working on the networking and further gameplay side of things.

I did mean to say in this thread that I'm very interested at what you guys would love to see in an MMORPG like this, keep in mind there won't be magic involved. What have you always looked for in an MMORPG but found lacking in most?
 
Associate
Joined
25 Aug 2008
Posts
947
Ok i'll elaborate a little...

Mind the cool side games in the likes of Zelda?

What about archery/bowling/shoot the duck kinda thing, or even hearts, omaha etc.... anything that makes it more entertaining?
 
Soldato
OP
Joined
6 Sep 2006
Posts
6,280
Location
London
Ok i'll elaborate a little...

Mind the cool side games in the likes of Zelda?

What about archery/bowling/shoot the duck kinda thing, or even hearts, omaha etc.... anything that makes it more entertaining?


Well there will be hunting for food anyway so the archery side will be taken care of ;)

It would be pretty cool to let people play games against eachother in the game. To be honest though there is a lot of work that needs doing before I can think about putting that in :p
 
Associate
Joined
25 Aug 2008
Posts
947
its a pity this is a uni project, sure a lot of people here might help out...

What if you could design the game in such a way that there was no specific world, but one that was created by its users?

If you could build such a thing, then depending on the quality of this, it could perhaps expand into something big?

- along the lines of a better secondlife perhaps?
 
Soldato
Joined
16 Oct 2007
Posts
7,428
Location
UK
Fantastic visions you have here - although i'm very limited in my technical knowledge, should you need any testing, count me in!
 
Soldato
OP
Joined
6 Sep 2006
Posts
6,280
Location
London
its a pity this is a uni project, sure a lot of people here might help out...

What if you could design the game in such a way that there was no specific world, but one that was created by its users?

If you could build such a thing, then depending on the quality of this, it could perhaps expand into something big?

- along the lines of a better secondlife perhaps?


Well apart from the terrain (which will by dynamically created as needed) and the associated wildlife and vegetation the world will be completely created by the players.

As I have probably said each area will be split off from all others until it's developed enough to open links both diplomatic and economic with the other towns around it.

This may lead to a problem where a friend wants to join and play with a guy that's been playing for a year already. Obviously the new player will be put into the latest new area.

My plan to overcome this is to let experienced characters opt to become guides or town leaders of the new villages. They'd only be able to bring a limited amount of stuff with them so they'd have to choose carefully what is most needed for a new village if they want to help it grow.

I really really want to enhance the vision of your place in the game as being part of your village. Lone wolfing will be an option of course but there'll be a lot of benefits from working together to expand your village. Undesirables can also be booted out of your town with a significant majority vote. What happens to them after that is still to be decided. Maybe I'll have an "Australia" town for them :)

If anyone wants to help with 3D Models or textures then I can definitely use those. For the uni part it's all about the code really. So if you want to help out then send in vegetation models, wall models, random junk models. Anything you want :)

Preferably in .x or .fbx format. If you know how to animate so that it can be used in the XNAnimation pipeline then I will personally have your babies.

Fantastic visions you have here - although i'm very limited in my technical knowledge, should you need any testing, count me in!

Thanks for the support :)

This is really about bringing together what everybody wants to see in a MMORPG but the big companies just don't want to make for some reason :D
 
Soldato
OP
Joined
6 Sep 2006
Posts
6,280
Location
London
I'm not a huge expert in programming, but have a bit of experience in C++ and VB, also some SQL. I'd love to help out a bit with this (time allowing of course!)

C# is pretty similiar in a lot of ways to VB.NET if you've used that before. Could probably use someone with SQL experience at some stage. Going to need to have databases for users, map objects etc and the stored procedures associated.

Progress update:

Finishing touches on the quadtree culling, iterative terrain creation process is in place. Instead of checking every blocks bounding box to see if it's visible the renderer now can check the primary 4 blocks, then the 4 blocks of any visible primary blocks and so on until it gets to the actual terrain segments where the vertice information is kept. I have a problem at the moment with the placement of the blocks and terrain segments which leaves a gap between them all, I've just got to work that out and I'll be ready to throw some grass onto the blocks and see how much that decimates my framerate :)

After that will be terrain LODs which will also determine the static model LODs in that block (grass, trees and buildings).

And after that will probably come object placement.

In the meantime I'm working on the server side of things, gotten a test server up and running, I'll be expanding on my distributed server concept where each area has its own virtual server. There'll be a master server so that the client can basically say "Hi I'm going into area 'n', what's the associated IP+port for that area?" then the server hands it the IP and port and the client can then contact the virtual server to download the map and object data then start the dynamic change stream. The master server will only be used as a type of DNS server to hand out the IP address needed. This is handy as one of my course modules has an assessment on creating a DNS server so I'll just use the server model for that :)

I've also got a freeview camera in, works pretty well. The main reason I did it was for testing during this whole terrain block gap problem. Of course it'll be useful later on as well.

I also introduced gamepad control as well as I plan to allow this to run on X360s as well so long as I can work out their networking. Obviously primary development will be for the PC so no need to worry about this being dumbed down. As far as the minimum requirements I'm looking at right now they'd be along the line of an ATi 2400 or equivelent with a P4 3.0 processor and 2GB of memory. The main reason for these specs is because that's what the only computers in college at the moment that can run this have in them :rolleyes:

I've run the current build on them and I'm getting around 20fps. Considering the amount of terrain polys it's pushing through at the moment that's pretty impressive for the 2400. It's well over 2 million triangles when rendering the entire terrain.
 
Soldato
OP
Joined
6 Sep 2006
Posts
6,280
Location
London
Okay, quick update:

The issue with the gaps between the terrain blocks is fixed, turned out to be quite simple in the end as is the case with most of these problems.

Made a few other small changes here and there, tried to fix a problem I have with the reflection in the water screwing up at certain angles. I've also finally seemed to crack shader programming, it all finally clicked into place while I was toying around with the reflection shader I'm using.

Here's a quick screenshot, the smallest bounding boxes you can see are the terrain segments which actually hold the vertice data. The larger ones are the terrain blocks which just hold terrain segments.

If you want to read up more on the concept then go here.

Pioneer2008-11-1615-04-44-21.jpg


Next, as I said above is terrain LODs and grass :)
 
Soldato
OP
Joined
6 Sep 2006
Posts
6,280
Location
London
Decided to go ahead and see how quickly I could put in terrain LODs. Turned out it was fairly easy and the effect it has on framerates stunned even me :)

As you can see in these screenshots I went from a fps of 53 to 80 when I enabled the LOD. At the moment it simply uses a mesh with half the resolution at 500m and a mesh with 1/4 the normal resolution at 1000m. Pretty basic. As you can see there are stitching issues where the meshes meet eachother. That's to be expected and I will fix that by just setting the edge points to an interpolated height between the lowest resolutions points.

Without LOD:
Pioneer2008-11-1616-01-00-54.jpg


With LOD:
Pioneer2008-11-1616-01-10-42.jpg



EDIT: You can also see quite clearly another problem I need to fix which is the normals on the sides of the terrain segments not taking into account the normal of the vertice in the adjoining block. I've been putting off fixing this as it's one of those things that'll just take a headaches worth of maths to figure out.
 
Soldato
OP
Joined
6 Sep 2006
Posts
6,280
Location
London
Okay I haven't updated this in 2 months almost. Basically there's been a lot of before christmas assessments to finish up with and I'm in the middle of the end of semester exams at the moment.

I'm in the process of switching over to version 3.0 of the game studio along with Visual Express 2008. Installing this on top of 2.0 and VE05(supposed to work fine like this) has given me a very weird problem where 2005 no longer runs and it can't uninstall so I can't reinstall it. Apparently it's a pretty common problem that just takes some registry tweaking to get around.

Thing is I need 2005 as the physics library I'm implementing was written in 2.0 and I need to be able to look through that as I work in 3.0. Fun and games. Worst comes to worse I'm prepared to reformat my boot drive and start from scratch with the installations.

Anyway apart from that there have been a few new things, a much better object/model/texture/material system is now in place. Material files currently look something like this:

Code:
<?xml version="1.0" encoding="utf-8" ?> 
- <Material xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <technique>TexturedSkinned</technique> 
  <texture1>PlayerMarineDiffuse</texture1> 
  <texture2 /> 
  <texture3 /> 
  <texture4 /> 
  <normal /> 
  </Material>

Multi-texturing isn't in yet but that shouldn't be that hard. The good thing about these materials are that I can edit them without having to go into the hard-code. I can now also set the same model to different materials and so on. Making new objects in the code is now a cinch, just give it the model, material, location, velocity and scale and that's it.

Animated models are now supported through a different model importer then standard. I'd like to have kept it to just one importer for all model files but that was doomed to failure until they give a standard importer that can cope with animated and unanimated models.

I don't know if I managed it before but pixel point lighting is in, I've got a sun moving around on a night/day cycle. Just have to get in directional lighting now so that it doesn't look so weird :)

I've got time off after the exams next week and the start of the second semester (which is focussed on giving us time for the project anyway) so expect me to do quite a bit of work on this. I've been chomping at the bit to get back to this all through christmas. It's all I can do to study instead of work on this as it is :)
 
Soldato
Joined
12 Jan 2004
Posts
3,172
Location
Brighton
Oooh, hope you've written some tools to generate the xml. Try to reduce the actual amount of coding by hand any data. Hard to debug your code when half the time you are debugging your data. Try to imagine debugging Firefox if you are testing it on a website that you wrote by hand...
 
Soldato
OP
Joined
6 Sep 2006
Posts
6,280
Location
London
Oooh, hope you've written some tools to generate the xml. Try to reduce the actual amount of coding by hand any data. Hard to debug your code when half the time you are debugging your data. Try to imagine debugging Firefox if you are testing it on a website that you wrote by hand...

For now I'm pretty much just copying and pasting a blank material template then changing the texture names. If I have time I'll make up a simple windows form to create them.
 
Soldato
Joined
12 Jan 2004
Posts
3,172
Location
Brighton
For now I'm pretty much just copying and pasting a blank material template then changing the texture names. If I have time I'll make up a simple windows form to create them.

Anything that you can do like that will save you time in the long run.

Debugging user generated code AND your own interpretive code is that hardest thing to do :)
 
Back
Top Bottom