Page 1 of 1

Changing the source code?

Posted: March 9th, 2013, 5:58 pm
by Jordan Ashby
First of all, that a program like this is open source is the most amazing thing to happen to the independent game making community and special thanks the the creators for providing this. I try to get as many people turned on to this a possible.

Now for the question. I have more than one acquaintance who is a c++ wizard and I'm thinking of offering them cash to make advanced changes (or what I think might be advanced) to the sandbox engine. My question is basically how realistic are the following requests? A,B and C are some of the changes I would ask a programmer for. Are the following requests 100+ hours worth of changes or is it simpler than I think? I'm learning c++ now and can possibly make my own changes later in life but don't know where to start for now, so I'll get the help of experienced programmers for such changes.

A. Implementing multiplayer in RPG mode for an SMORPG (Small Multiplayer Online RPG). I'm thinking four or five players on a size 16 map. After cooperatively editing the map, they could play in the same world such as travel to another player's kingdom and complete a quest they built or fight their way through a dungeon level that someone made, or even battle their army of NPCs against each other and conquer each other's lands.Also have a way of generating new NPCs to assign and give skills and lines to within game play. I know that MMORPGs are a huge deal but this seems like a small, local MORPG that doesn't need to be able to support very many players at a time.

B. Having giant map that only loads a certain area's entities and models at a time to save memory on large, entity filled maps. For example if I see a village in the distance, I don't need to have the entities active, interior lights on, map models doing their thing etc. I want it to load only when I'm within a reasonable distance like an adjustable activation radius maybe where you only see the basic visual representations of buildings, terrain and simple map models like trees, windows and windmills when far away. Even more extreme, have them go away when the players are far enough away, leaving only terrain and buildings visible. I would like to do this on a giant round map if that is possible to implement.

C. Create a new materials like water that has a source and flows along the path of least resistance, and others with complex properties.

I'm not asking for anyone here to explain to me how to do these things, but any insight on how realistic these thoughts are would be greatly appreciated. I like to know when my ideas are totally unrealistic. This is advanced stuff that I could no way do alone or even quickly with help, but I think these things would be awesome to implement.

Re: Changing the source code?

Posted: March 9th, 2013, 9:50 pm
by Hirato
A and B are possible, but they're going to be a lot of hard work, the RPG was never designed with multiplayer in mind, if anything it had the exact opposite focus. B will require a LOD system, and if as you say, a "round world" - extensive changes to the physics subsystem too so that gravity isn't a constant downward fall on the Z axis.

C is definitely doable, but not feasible within the current framework; the material system will need either extensive changes to support special behaviour for your "VOLUME_SOURCE" material types, or replacement.

Re: Changing the source code?

Posted: March 9th, 2013, 11:00 pm
by Jordan Ashby
Thanks for the quick reply and solid insight. For the multiplayer RPG question; is it possible to just do this in FPS mode and have items grant up-grades instead of level ups to kind of fake the RPG game play? I have only actually worked in the RPG mode, but may be fps is the way to go and I can "fake" the RPG effect. Ill look around the wiki for ways to script items to give abilities and for some items to be inactive without other items, or the opposite, inactive while carrying other items. If anyone knows of some info on what I am suggesting that isn't on the wiki, please point me there.