[Development] Open Neuz Project

Java has the advantage of being truly cross-platform too. If you develop for Mono, its never going to move as quickly as .net does.
 
Been looking at the Unity Engine. The thing can process over 10k trees without slowdown. I've seen it render 300 characters on the screen at once with minimal slowdown. It uses c# for scripting and the new MMO star wars adventures was built on it.

It has the capability of deploying on Mac, Linux (I believe), iOS, AndroidOS, Windows, 360 and some other smaller stuff I can't remember at the moment.

The pro license is $1500, but it only differs from the free license in 3-4 ways. Mostly audio filtering and some lighting effects that are unneeded.

It has an inhouse particle engine, physics engine and I can add a locomotion extension that will make the character dynamically walk on uneven terrain and what not.

I'm amazed at how this performs as fast as c++. The only problem I see now is getting the models imported into the engine. I am writing a parser for the format to see how its structured. That way I can at least write it into an .OBJ format which can be massed produced with a simple script. There are not many models, char and mob wise, to convert. Its the world objects that will take some time.

I've been studying the way things are modeled in the game and I've noticed the game hates anything circular. Maybe its the way it was modeled at the time of creation and they just stuck with it. Personally, I hate it. I wish to edit them to they are not so blocky.

I know this process is slow but the end result may be worth it in the long run.

Update:

I've successfully exported a part of the o3d file to obj. I'm doing this by hand without any reference except the source. Right now all there is to view is the verteces and next I'll be working on getting the faces connected to their proper vertices. After that the textures will be able to be written.

Here is a clock gear imported to Milkshape (Blender and 3dsMax has problems viewing it properly)

GlaphanKing - [Development] Open Neuz Project - RaGEZONE Forums
 
Last edited:
You can't use .Obj file format because this format is too poor you can't have any animtion related infos and no skeleton infos. And think about model size ! a nature readable format will make the client bigger... I don't think it's a good way... We just have to parse and read the o3d file (i already done this part with my converter) and use those infos with XNA functions (i don't know how to do this part :p)
Or we have to use another readable format like .ASE but it's not well documented...

You haven't done any update on rthe svn so i can't help a lot for this part.
 
Last edited:
There is no SVN update because I'm working on getting a workable format. the obj format is a basis for all 3d formats. I'll be looking at the .3ds format as well as the open Collada (.dae) format as soon as I can get the world objects written.

If I'm not mistaken this is explains the .ASE format unless its another dumbass proprietary format like o3d.

)

Its been used to export Doom 3 models.

I urge anyone wanting to work on the client to get the unity engine. It has a nice integrated Network engine built into it that can be scripted with C# and since you already wrote the packet system I'm sure it won't be difficult to shift it.

XNA is great for console gaming in small MMO gameplay. We are limited to what can be imported into the game and using animated models is a pain in the ass to get started. Its very finicky to how its animated. you can't drop a biped into the model and get it to move in the game. You need a lot more involved.

With unity you drop the model, and it can even be a .blender file, into the editor. I've made more progress with this engine in two days that I've done in 4 years with XNA. Don't get me wrong, I'm not downing XNA, but I'm aware of its limitations as far as an MMO standpoint.

As I said before, Star Wars Adventures has been made with the Unity engine. Its quite popular and an inspiration to other people making or remaking MMOs.
 
Proprietary? o.o
If you ever took the time to actually take a look at an ase file, you'd see that it isn't compressed in any way.
Heck, even it's name is known as ASCII Scene Export.

Fixed link:

you misunderstand me. I said the o3d file is proprietary in that they are one of the only ones who use it. I know all about ASE files because I used to mod doom 3 back in the day.

Obviously they wouldn't be that stupid to use such a widely moddable format. A few people I've talked to said the ASE is converted to o3d using Cola or something. I haven't taken the time to find out whether this is true or not.

@divine: If we can mass convert o3d to another workable format then I don't see the client taking long to create. The basic engine is all we would need anyway. I'm not sure how they managed to render the engine but its phenomenal in terms of performance. they base their benchmarks on low to mid level machines to high end machines won't even know the difference. I've not looked into Mono developing but you can use it alongside C#.
 
Obviously they wouldn't be that stupid to use such a widely moddable format. A few people I've talked to said the ASE is converted to o3d using Cola or something. I haven't taken the time to find out whether this is true or not.
It's true, i've found 2 ase file (mvr_GuruCatcher_die1.ASE and mvr_NpcCollect.ASE) and cola convert them correctly...
For what i saw they use 3ds max, export the model into ASE file (one Ase per animation :p) and cola convert it into o3d. I haven't fount how they do Collision stuff but i didn't really care until now cause i do my own :p

If you want to convert all o3d i can i already have a converter, the think i have to know is "in wich file format" you want to convert them. And another problem is that i can do it for object without animation (i haven't understood yet how animation work ^^'.


Edit : by the way if you need a class that load LND File :

Actualy it load and save lnd file :p (load have been tested but not write). I done this class for an lnd editor i'm writting but it could help for the neuz...
(i originaly wrote this class in java, that's why i used some class and not structure for waterheigt, object etc. Structure don't existe in java apparently :p)
 
Last edited:
That;s great news. Unity has a built in landscape editor which can read heightmaps. Using this code I can pull the heightmap from the LND file and combine them all to easily edit the world. I'm going to start looking over it and see if this is plausable. I think the editor uses the .RAW format for heightmaps but I can convert it to that with no problems. I've used that format before for heightmaps.

We are going to use our own collision system, water system and weather system.

As for the animation. I'm looking at how it saves biped formats or bvh which I believe is used for each animation. They are using what looks to be a skeleton file for each motion. with the exception of the running motion and walking motion, the player's actions are the same which reinforces the idea of one skeleton for both genders. Once we get all the items in game and get the landscapes imported, we'll tackle the animation stuff. I have been looking at the animation loading inside the source for a little bit now. It seems like a lot of the information is stored within the o3d file but I could be wrong. Please correct me on this one.

Again, thanks for the code snippet. I think I've seen this once before. Either you or Xadet posted something similar to this a while back, I can't remember. I know once I used a similar code to create heightmap images and arrays. Looks very promising.
 
Well, for animation, object have internal animation on some mesh. O3d have in this case quaternion rotation and vector position that seem to manage movment for the model.
A good exemple for this type of animation is the Ctrl_DuDkRoPrPrison01.o3d.
There isn't any skeleton in this case i don't know much how it work cause animation isn't easy to understand ^^'
Movers have external animation in .ani file each .ani corresponding to an animation. It seem to be based on keyframe

GlaphanKing - [Development] Open Neuz Project - RaGEZONE Forums


Skeleton is divised into points that are all linked like this : Parent->point->children with Bip01 has the first element (so he don't have any parents) and each effect applyed on a member of this skeleton is also partially appllied to the next chilren.

I don't know much more cause i stoped to work on o3d format a long time ago and stoped to try to understand how it work ^^

here you have a class to read motion file (.ani) :

and also this part wich was with my o3d reader :
 
perhaps someone can explain why there is no o3d file for the male and female models? Or are they loaded in pieces such as head, torso, hands, feet? Never really tried to figure this one out yet.

i beleive they are loaded seperately split into; head (face part), hair, body, hands/gloves, feet/boots.
 
I honestly had a feeling they were loaded this way. I'm going to look more into it.

On a side note: development has been a little slow since my monitor broke and I had to route the signal through my 32" plasma TV. My plans will move forward as scheduled and hopefully I'll get it repaired or buy another one which I really don't want to do.

Anyway, since my theory has been almost confirmed I'll look for the parts and see what's what then.
 
I honestly had a feeling they were loaded this way. I'm going to look more into it.

On a side note: development has been a little slow since my monitor broke and I had to route the signal through my 32" plasma TV. My plans will move forward as scheduled and hopefully I'll get it repaired or buy another one which I really don't want to do.

Anyway, since my theory has been almost confirmed I'll look for the parts and see what's what then.

they are, however they are only there as fillers, to be replaced by real equipment or overloaded by fashions
 
I have just read through the entire thread and this project looks to be quite epic when it's finished.
I'd love to help with it, but I have absolutely no knowledge about any of the languages you're using. (I have some experience with other languages, but nothing that would be of use to you)
Good luck on this project and I hope to see the results when it's finished.
 
Thanks to divine for the LND refresher, I was able to whip up a heightmap extraction program to pull them out of each file. Then with a little configuration, I imported them into photoshop to convert them to a grayscale 16-bit Raw format that imports almost flawlessly into unity. Its a little more involved but you can sew the terrain together very well. Working on getting a viable LOD system so there are no memory leaks. Then I'll start texturing the lands.

the only land that I really have to worry about is the main one because its a 30x30 world made up of 129x129 pieces which adds up to 3840x3840. That's only v15 mind you. Its also a fraction of what WoW has in terms of land size. There is 4 massive continents that dwarf madrigal and with the method I've started working with it should not be too hard to get massive worlds cranked out.

Right now, I'm working with the Volcane dungeon and Azria/Kebaras. I hope to have something good to show soon in terms of terrain management. Hopefully I can release a small video that does a fly-by of the terrain
 
Last edited:
GlaphanKing - [Development] Open Neuz Project - RaGEZONE Forums


Successfully imported and stitched Azria into Unity3D. Needs a little smoothing IMO but I'll do that at the end. FlyFF is notorious for jagged terrain. Haven't textured it or added the objects as I am still working on getting them converted into a workable format. Leaning towards the Collada format or back to ASE format.
 
Back