Menu

Engine requirements

b0b
2012-06-12
2012-06-13
  • b0b

    b0b - 2012-06-12

    Ok, we have to finalise a list of features the game engine itself needs to support, so we can whittle down the options for engines.

    Personally I've come up with a few questions on what would impact these choices:

    Destructible terrain for resources vs. noding for resources.

    On the one hand, the former is much more realistic, and players can benefit from being able to dig valleys, fill ground up to build structures, etc. It also adds the benefit of resources being finite, which adds more of an element of adventure to the game. If your source of gold runs out in a certain area, you need to travel to another area that has more. Caving is a while different ball game though, and "usually" requires voxel-based engines, which for the project may just be too heavy on resources (insane amounts of space required to save worldmaps). With destructable terrain there might even be a way to add rivers that carve their way through a valley, depositing silt at the bottom of hills, etc.
    On the other, noding is easy to set up and can either be respawnable or permanent. (Think the ore nodes in world of warcraft)
    Trees are easier to set up as game objects, just pre-grow them, let users cut them down and then have the ability to replant or naturally grow more. This can be handled in either case.

    Free building vs. zoned blocks for building

    Do we give the users the ability to freely create structures as they want (a la minecraft) or have prefabbed structures that can be "purchased" with resources?

    Skill systems, leveling systems

    Personally I don't like the leveling system. As humans we don't "level up", we gain proficiency in skills. We don't have hitpoints - we're either ok, hurt or dead. Obviously hitpoints, and leveling systems that go with it, play a strong role in most RPG's though.
    I'd rather like to see items and armor play a more important role in character progression. Adds an element of "If player x, who has been playing for 600 days, walks through town in his sunday finest, he still stands the chance of falling prey to an ambush by player y, who -at a young age of 10 days- has fallen to having to rob people for their possessions"
    Focus on skills(crafting for the most part) seems to play a more important role in sandbox-style builders to me.
    Anyway, to the point - the engine will require some form of skill/level handling system to do any of the above. On the other hand, this shouldn't be too hard to code if it doesn't anyway.

    Views

    First person, third person, overview. which views are important to us? Which can we live without and which can't we at all?

    NPCS

    Bias alert - I'd love to see something like this be totally player-reliant instead of NPCs, but they can ease a lot of the gameplay, even if it's for simple stuff like keeping guard or simulating building. So I guess it's a case of "does the engine support NPC and AI or not?"

    World Size

    If we want something spectacular, we're going to need a large world with no instancing and no segments. The engine will have to be able to handle whatever maptype we decide upon (Voxel, heightmap, etc) at large scales (10km x 10km virtual at least, much more if this is going to turn into a MMO)

    Degradation

    from notes I wrote myself last night in a drunken state and am too lazy to translate: "Add degradation to structures. After a time a structure becomes "abandoned" and can then be repaired/reclaimed by another.
    Properties can be damaged by weaponry/fire - stronger properties give more protection against siege than weaker ones."

    Do we need structure degradation? Yes/No?

    ** Other notes I made myself in my drunken state**

    *Break down world into "blocks" - each "block can contain one housing/road/resource unit, equal to a standard room. This "room" can either be constructed to be an actual room, with walls from whatever material is chosen (skin/cloth, stone, wood, mortar and brick, each having different qualities, and each requiring an amount of materials to create - the more advanced the building technique, the more materials needed) or an open surface to be used by either the owner or set as community property. This room-block can then contain various pieces of equipment - chests, barrels, tools, furniture, etc. It can also be floored in various ways - straw, dirt, wood, stone, carpeted, etc. A room-block can only contain X amount of items - think LOTRO housing, there are say 16 slots - 3 can be used for large items, 5 for medium and the rest for small items/decor. This obviously to keep server load down and to prevent too much cluttering.

    In a community, a certain amount of ground needs to be allocated as "communal" and some form of community property needs to be built - a fire pit, town hall, inn, something like that. *

    Feel free to comment on the above chunk too.

    Anyway, any other requirements we need? Whats your feeling on the choices I've thought of here? The faster we can decide on "This we definitely need, this we don't need", the faster we can narrow down our engine search.

     
  • Pr0techCR

    Pr0techCR - 2012-06-12

    Destructible terrain for resources vs. noding for resources.

    Free building vs. zoned blocks for building
    -I would say free building in the aspect of location, not necessarily the design of the building itself. I agree with the "Construction site prior to finish". In reality someone could also destroy your structure.

    Skill systems, leveling systems
    -I'm more a fan of the skill/crafting system than the levelling system. Perhaps we can appeal to both crowds by offering a "Arena/Battle PVP" Leveling system only. That's going to need some intense thought processing.

    Views
    -First, third, AND over-view. Check out a video of Savage 2 if you haven't already.

    NPCS
    -I would say yes, yet with a hefty price. The more you have, the more resources it will take. Not to mention that they should be equivalent to a player in the fact that they'll want to be paid & fed for their services. This will mean players have to spend a lot of time to get a decent number of NPCs, while on the other hand once they start farming & trading it won't take as long to earn that upkeep. The Silverback engine supports both.

    World Size
    -Massive. In "A Tale in the Desert" it would take me 30+ minutes to run to an educational building(While increasing my run skill) at the building you could learn skills like brick building, blade creation, simple carpentry, etc(HUGE etc*) I would normally point my character in the direction then hit auto-run(Hoping I don't hit a building while I'm away). They perfected the whole planting/tree cutting/resource gathering/building IMO.

    Degradation
    Yes - But if NPCs are around and been up-kept, then I guess the NPCs could have the same affect (ie not cared for = them leaving = building degration) we just don't want to make players feel like if they go on vacation the buildings would be gone upon arrival.

    I don't mean to critique anything said here, I just find it easier to comment on previously stated thoughts to keep us on the same track

    Due to the MASSIVE amount of work that would need to be done to create such a project from scratch, I suggested maybe modding Savage 2 to the MAX (To the point that no one would even know it's from the same engine) check out this page to see why:
    http://www.s2games.com/silverback.php?page=silverback

    I'm not a huge fan of modding, but this would allow us to actually get a decent amount of changes done in a reasonable amount of time.

     
    • b0b

      b0b - 2012-06-13

      Question regarding the K2 engine (Savage 2's engine). Has anyone actually managed to get it going? I downloaded Savage 2 last night (the only thing that I thought might have the engine included, couldn't find a seperate link for just the engine anywhere, and could for the life of me not even get the map editor to run. Game runs fine, but the shortcut to the editor just takes me straight back to the game.

       
  • Edward_Elric

    Edward_Elric - 2012-06-13

    Free Building Vs Zoned Building.
    I do like the idea of free building idea with it being a sandbox, it just means to me that you aren't restricted within reason which to me is what a sandbox is. I also agree with the construction site prior to finish idea, mainly for the sake of the newer gamers that might still be getting to grips with the mechanics of the game.

    Skill Systems, Level Systems.
    I much prefer the idea of a skill system. Having to practise at something such as crafting, cooking, smithing etc gives a greater sense of accomplishment for the player, better skills gives more access to other buildings, better use of resources.

    Views.
    Personally Overview and Third Person would be my port of call but I haven't seen a video of Savage 2 as Pr0tech suggested.

    NPCS.
    NPCS I think can be vital for change in a game, you would need the obvious ones like Merchants but an idea that sprang to mind would be some NPC's that you could hire as workers maybe, just a random thought that popped into my head so not sure how easy that would work.

    World Size.
    Going to agree with Pr0tech on this one, needs to be huge. Should be able to give different environments to satisfy taste buds of gamers, they might want to build in the mountains or on the beach. Again just my head going into over-drive with things that could be done in a sandbox.

    Degradation.
    While its a good idea I just think that one will take alot of thinking, kind of a morale system for NPC's where as when it hits an all time low, they will want to up sticks and move. The buildings could have different levels levels of degradation depending on the gamers skill level maybe? It's a good idea like I said, I just think its going to be hard to find a line between what works and what doesnt.

    I'm the same, these thoughts are just my 2 cents and thought it would be easier to compare with others if the order/titles are kept the same.

     
  • Lenard

    Lenard - 2012-06-13

    I think I summed up most of this on the features post I made yesterday and I am in agreement on all the points.

    I like item degradation/maintence. You need to maintain your structure or tools as it is used and time passes etc.

    For maps I was considering if it would be possible to have different regions separated by servers. So essentially hoping on to another server would be like traveling to another country. My understanding is the WoW is something like this. Or, is it a persistent map across all servers? If that is the map will need to be much larger and either servers are separate entities (consider each map on different servers like a alternate reality) or they all connect to a central database to stay on the same page.

    Both have their advantages and disadvantages. Different but connected maps on different servers allows a much more expansive world but, to be reliant on one server to go back to your castle and not have to mill around on another server waiting for your normal one to come up is not ideal. I.e. regions where you are heavily invested being unavailable for some reason would piss me off. This still requires some form of centralized database to keep player data persistent but splits up the work by allowing location/map related data to be stored on individual servers.

    Persistent world across all servers. Requires a constant connection to some centralized authority to make sure all the servers are in sync and on the same page. Limits world size but avoids any issues of unavailability of your home server/home world. Can't reach your typical play server, just hop on another and everything but the ping will be the same. This form would also limit the ability of having destructible terrain and non-renewable resources.

     
  • Pr0techCR

    Pr0techCR - 2012-06-13

    @Edward, I don't know what the commentary is for this video since I watched it muted. But it shows an excellent mixture of NPCs literally building structures, taking up arms, and the ability to smoothly transition between the over-head view to "Hero Command mode" which is a 3rd person view. Not sure why but I find this EXTREMELY rare in games, and have maybe only seen it in that game and the Savage title. http://www.youtube.com/watch?v=WxgMavpeEA8

    My thoughts behind the whole "Modding over starting from scratch" is that for what we really want to get accomplished, it would take a few years for top-notch programmers and designers to even build from the ground up. Even if we modded the Rise and Fall: Civilizations at War to be completely converted to a western style theme would be a feat in itself. It seems we have let our minds run rampant without looking up at the calendar and thinking about the dedication to time it would take for each aspect we've even mentioned.

    @Lenard - In WoW, the travel is a load based, but I'm not sure whether or not you're actually going to a different server. Trouble with that would be you'd create massive traffic for yourself by simply transferring all the characters data back and forth. In WoW you could hop on a ship, and sail into the sea...but once you hit the edge of the map you'll see a load screen, then appear in the sea again, but this time pulling up to a dock at a new destination.

     
    • Lenard

      Lenard - 2012-06-13

      I don't really know the technical aspects of any of this but just from my thinking, it seemed like a world as large as WoW is too big to just be in one place so that's why I was thinking the different servers for different zones things but I have no actual idea what the technical requirements of such a thing would be. Again, I don't really know this stuff but it seems to me unless character data is stored locally you won't be able to avoid transferring that data back and forth one way or the other.

       
  • b0b

    b0b - 2012-06-13

    shit, I just typed a long-winded post and then clicked the side mouse button, taking me back a page and destroying everything. Let's try again.

    Remember, these are just my personal opinion on the engines from what I've experienced (or in the case of not getting it to work, their own support forums)

    My thoughts so far on the engines I've tested/done research on:
    Unity - on the plus, it has the ability for deformable terrain and great scripting options. On the negative, it's not suited for a large rpg - just can't handle the mapsizes required, even when you use heightmaps. Scripting together multiple maps with portal loaders is gonna be a pita for our small team.
    Multiverse - I loved the features they give, really i did. HUGE worlds, easily script-able NPC's, great resource managers, etc. It's made to write RPG's on. Pity it's such a pain in the left nut to set up! After 3 days I'm still not able to load even the demo world - changed about a hundred script files, batches, etc as per their support forum - nada.
    K2 Engine (Savage 2) - Ok, so I didn't even get into the engine but I did do a lot of reading on it (well as much as I can find). Problems: 3 code attribute per item limit with no object orientation - this is basically a cripple for modding. Large world support doesn't really exist either, the engine seems to fall over with too many items as it loads everything into mem at once. Also documentation for proper modding, not just adding new huds, characters, maps and weapons, is hinted at but as rare as El Chupocabra (Yes google spellcheck, i meant Chupocabra, not churchwoman). Pity, because it looks stunning.
    Neoaxis - hardcrashed 3 of the 4 machines I tried running the supplied demos on. Also seems to be limited in map creation, there's a great map editor included, but for large scale we'll need procedurally generated map, water and scenery.
    Sunburn - from what I've read so far, seems pretty good, but it is very new - no docs really out there and $150 per seat for the indie version - a bit steep. (oh yeah, and it's based upon XNA, see below)
    XNA - lots of power there, but you have to do pretty much everything from scratch. It's a proper framework so your mind and programming skills are the limit. Lots of docs but it will be a LOT of work getting an actual game out at the end of the day. Looks to me to be a good option if no other engines support what we need though.
    Cube - the Sauerbraten engine, really made for FPS games, but apparently is pretty easy to mod, they even have their own "demo" rpg title bundled with the latest ver of Sauer. It comes with ingame terrain editing too, which is nifty. The code to modify the engine just refuses to load into VS2008 or 2010, and using the editor they recommend, CodeBlocks, doesn't work either, refusing to load most of the resource and H files, no matter how much I tried tuning it.

    I've tested a few based on Python too, pygame, Ogre, etc, and for the exception of Ogre, they are just too darn slow displaying any 3D whatsoever. Ogre is strong though, with deformable terrain, but as with XNA, lots of coding to be done, and apparently if it's not optimised 100%, it's as slow as a 1-legged dog.

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.