Development Blog Update - Engine questions answers
Max
Technical Director, Unknown Worlds Entertainment Join Date: 2002-03-15 Member: 318Super Administrators, Retired Developer, NS1 Playtester, Forum Moderators, NS2 Developer, Constellation, Subnautica Developer, Pistachionauts, Future Perfect Developer
Comments
I do have a technical question regarding the engine itself though.
Assuming the engine is based on BSP, there are two general ways of creating levels and it varies from engine to engine.
Prior to UE3, the Unreal Engine was a subtracting-based engine in that a level was basically carved out of an 'infinitely' sized block.
The source engine as I understand it, is an additive-based engine where the levels geometry is added into open space and this, combined with what I felt from Hammer to be a bad user interface, stopped me from picking up mapping for NS.
How does your engine use BSP? And furthermore, would you say your editor resembles more of Hammer than other popular map editors out there?
Is this engine intended for JUST NS2 or is it being developed as a framework so that it *could* be used to develop other games?
Will this engine support plugins to be made for it, such as the ever famous AMX mod?
What modern game will the graphics be comparable too?
How far along is the engine, % wise?
Medium percent.
Is this engine intended for JUST NS2 or is it being developed as a framework so that it *could* be used to develop other games?
Will this engine support plugins to be made for it, such as the ever famous AMX mod?
What modern game will the graphics be comparable too?
How far along is the engine, % wise?<!--QuoteEnd--></div><!--QuoteEEnd-->
Read the news again. The new engine completely supports LUA scripting. There is no need to hack an AMXmod into the engine, because you can modify all your gameplay by just using LUA code.
A coder's work is never done, so you can't say it's up to 80% or smth. You can only count the milestones (like, working networking and so on)
<!--quoteo(post=1683932:date=Jul 18 2008, 11:30 PM:name=chiss)--><div class='quotetop'>QUOTE(chiss @ Jul 18 2008, 11:30 PM) <a href="index.php?act=findpost&pid=1683932"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Good stuff - I'm sure there will be bunnyhopping, although i think it might be hard to get it working and feeling like the original NS, as bunnyhopping is actually an uninteneded feature (bug) in HL based games. The day i have to run in a straight line as a skulk will be a sad day.<!--QuoteEnd--></div><!--QuoteEEnd-->
It's no bug, it's a feature. The VALVe guys just forgot to delete it. So basically the only thing you could call a bunnyhopper is an exploiter.
+1 for bhopping
Bunny-hopping for the win; moving at a predictable constant speed = <img src="style_emoticons/<#EMO_DIR#>/sad-fix.gif" style="vertical-align:middle" emoid=":(" border="0" alt="sad-fix.gif" />
It has to be changed somewhere though. I am assuming that the plan isn't to just put the LAU code in text files on the server which can be edited. Even if they did what would happen when there was an update and the files all changed, the modifications would be lost and have to be reinputted. That sounds like modding forum software phpbb2 which was an absolute nightmare! There needs to be some sort of interface for modifications. What will that interface be is the question.
Physically, the simplest may be to say have a plugins folder and a cfg file which the engine will run/compile the lau code in there on request.
The hard bit will be making sure that we can code to read/block or modify all the events in the game.
If you look at AmxmodX or SourceMod they have now got to the level that you can modify every single editable feature that the game mods can. Where a feature hasn't had an interface to modify it, modules have been written to change values in memory directly. It'd be a knock back to the old days if we don't have that same freedom for modding in the new engine.
Physically, the simplest may be to say have a plugins folder and a cfg file which the engine will run/compile the lau code in there on request.
The hard bit will be making sure that we can code to read/block or modify all the events in the game.
If you look at AmxmodX or SourceMod they have now got to the level that you can modify every single editable feature that the game mods can. Where a feature hasn't had an interface to modify it, modules have been written to change values in memory directly. It'd be a knock back to the old days if we don't have that same freedom for modding in the new engine.<!--QuoteEnd--></div><!--QuoteEEnd-->
It should be pretty much universally editable server side... in theory anyways... Like Gmod, if you boot up a server playing X lua mod everything controlled by that mod is loaded up by default. No need for a special external interface past server side. You'd want to keep a backup of your server config if you're making significant mod changes.
And if i see <a href="http://www.youtube.com/watch?v=dviWZcphcIQ" target="_blank">physX</a> with clothe animation, your game would be great (are clothes in? or like wabbing/swinging parts of aliens?)
just the cheating method scares me and the main point, lua, i guess there come alot of pirat server with lua virus (like was in garry mod!) or other bad lua scripts on them <img src="style_emoticons/<#EMO_DIR#>/sad-fix.gif" style="vertical-align:middle" emoid=":(" border="0" alt="sad-fix.gif" />
P.S. do your engine supports <a href="http://www.youtube.com/watch?v=v7KNlneFvGY" target="_blank">motion warping</a> (if you walk over a stone, the just THIS leg will go up) <img src="style_emoticons/<#EMO_DIR#>/confused-fix.gif" style="vertical-align:middle" emoid="???" border="0" alt="confused-fix.gif" />
P.P.S. I demand no bhopping
Stoked to hear about the new engine, was never comfortable with Source as the engine. Lacks atmosphere, particularly in comparison to some others that are dripping with it. (Lithtech Jupiter Extended(FEAR), ID Tech 4(Doom 3)) I think for the Natural Selection universe nothing really lends itself to the unique mix of atmosphere and technological challenges so a new custom engine makes a lot of sense. Bravo for having the guts to make a ballsy call guys <img src="style_emoticons/<#EMO_DIR#>/tsa.gif" style="vertical-align:middle" emoid="::tsa::" border="0" alt="tsa.gif" />
I'd be very interested to know whether you guys will be implementing a more modern lighting method than the old-school light-maps that are used in GoldSrc and Source. Most First Person Shooters coming out these days make use of a real-time lighting method such as shadow mapping. I think it's quite important that Natural Selection 2 gets some upgrades in the lighting department because it will not only add to the atmosphere of the game but will also give the game longevity.
Games that use only light-maps are already looking dated by today's standards. The only reason why Valve can get away with releasing a game like Team Fortress 2 with a light-map-based lighting method is because of the interesting new art style and character design. Natural Selection has a moody, sci-fi atmosphere that would be complimented very nicely by the use of real-time lighting as the primary lighting method.
I like the look of games like Call of Duty 4, Assassin's Creed, and S.T.A.L.K.E.R.: Shadow of Chernobyl. I'm not sure about the exact methods and features used and the differences between them, but they all seem to have shadow mapping and it looks great. Then there's also good-old Doom 3 with its shadow volumes, which might also work well. In any case, I think real-time lighting is the way to go.
As always, I'm looking forward to the next blog update/podcast, which I always read/listen to. <img src="style_emoticons/<#EMO_DIR#>/smile-fix.gif" style="vertical-align:middle" emoid=":)" border="0" alt="smile-fix.gif" />
I laughed when you dodged the discussion in the blog though. It's like social security(3rd rail, government doesn't want to talk about it).
I'm not sure whether graphics depends more on the engine or more on the GPUs/directx/openGL version available at the time, but how will NS2's graphics compare to other current engines(crisis, unreal 3, source to an extent). I realize a lot of that has to do with art assets, which I'm not too worried about locking at NS1's success with making HL1 look good, but it would be nice to know if this new engine will be technologically behind(or ahead, that would be impressive) other engines.
I second this motion
QUOTE(Align @ Jul 19 2008, 10:12 AM)
I don't care about bhopping in particular, but some element of skill beyond aiming, tactics and teamwork - the usual FPS fare - might be nice.
script the hell outta the pistol
Hence:
Advanced movement techniques:
-Wall jumping for skulks
-Charged jumps for skulks (the longer you hold the button the further you jump etc)
-Fixed Onos turn rate combined with locational damage (the old headshield debate)
-Attack timing has an impact on damage inflicted. (If you are too close you do not do full damage etc)
-Rolling or quick sidestepping for marines
-Gorge can ride a bacteria stream (think Iceman)
-Timed counterattacks for marines. (If enemy unit is skulk and leaping and in 50-60 units distance then marine quickly bashes incoming skulk with rifle butt)
-Fades loose blink and instead can cloak at will combined with a speed boost.
-Overhead wall hanging for lerks
-Maybe a R6 Vegas like cover system for rines
-Sprint function
There are lots of options to make movement more complex.
Are there any plans to incorporate variable numbers of teams within the engine, or is that more of an lua thing? I understand that there will be Alien vs Alien or Marine vs Marine, or Objective based gameplay, rather than the two vanilla types currently exisiting, but is it going to be possible to introduce a marine vs marine vs marine, or a four team alien map, etc... the gametypes become really neat when you unlimit the team types... One idea I just had while typing this was a 'zombie' game type, where a normal alien vs marine game goes on, but they only each get one life, and if they die they join a 3rd team, the zombies, who then work together to destroy the other two teams. Well ok, maybe that is streching it a bit.. but you get the idea <img src="style_emoticons/<#EMO_DIR#>/wink-fix.gif" style="vertical-align:middle" emoid=";)" border="0" alt="wink-fix.gif" />
Are you planning on releasing the editor before the official NS2 release, and maybe with a barebones way of testing the maps?
Are there any plans to incorporate variable numbers of teams within the engine, or is that more of an lua thing? I understand that there will be Alien vs Alien or Marine vs Marine, or Objective based gameplay, rather than the two vanilla types currently exisiting, but is it going to be possible to introduce a marine vs marine vs marine, or a four team alien map, etc... the gametypes become really neat when you unlimit the team types... One idea I just had while typing this was a 'zombie' game type, where a normal alien vs marine game goes on, but they only each get one life, and if they die they join a 3rd team, the zombies, who then work together to destroy the other two teams. Well ok, maybe that is streching it a bit.. but you get the idea <img src="style_emoticons/<#EMO_DIR#>/wink-fix.gif" style="vertical-align:middle" emoid=";)" border="0" alt="wink-fix.gif" /><!--QuoteEnd--></div><!--QuoteEEnd-->
Things like that would be incorporated into Lua not the engine. That is how most engines are designed at any rate. The engine is the backbone while the actual 'game rules' are coded on top of that.
Also, AFAIK the devs are only planning on creating the standard Natural-Selection gameply, i.e. Marines vs Aliens in a map with RTs and what not. They decided that something like Combat could be easily developed by someone in the community easily with Lua.
Physically, the simplest may be to say have a plugins folder and a cfg file which the engine will run/compile the lau code in there on request.
The hard bit will be making sure that we can code to read/block or modify all the events in the game.
If you look at AmxmodX or SourceMod they have now got to the level that you can modify every single editable feature that the game mods can. Where a feature hasn't had an interface to modify it, modules have been written to change values in memory directly. It'd be a knock back to the old days if we don't have that same freedom for modding in the new engine.<!--QuoteEnd--></div><!--QuoteEEnd-->
cheezy there was a whole blog/pod cast on this mate, months ago, basicly every portion of modifyed ns2 will be found under its own menu under the main menu, so we can all choose to play vanilla ns2, or go into the custom area, and find a crap ton of modifyed servers were every server is a new game, with nasty bits of lua code, that give admins the power to turn you into a rubber toy car, or server vets with a huge lasting advantage of tricks up there sleave.
giveing the acctual size of the amx shell, i wouldnt be suprised if its original creator, went out learnt lua the first day he heard ns would all be handed in lua, and wrote out the amx shell as best he could, and perhaps some of his other plugins being very vage and leaveing labled "marine pistal" so that when the nstr2 comes and or i bet hes been begging to get his hands on it before others, so that he can still lay claim on his amx mod, cos other wise its going to be a race to see who makes the first plugin shell that will be used for most to all eternity its not a lot of code if your copying and pasteing, which in theory ns2 might already have one, remeber amx isnt a mod is a shell so that plugins can be added turned off and players can find out information about certain plugins, it can give feed back and so on all in pretty colors.
hum the thing with lighting, your in closed area rooms and tunnels, advanced lightings only just going to limit the market on people who can play it at 100%. most to every light sources is stationaly, sure it would be nice if you walked past a light it maps out a few raytraces and casts your shadow, each entity up to a max of three, then again maybe lua codeing will allow that to be modifyed even further to say each entity could cast 10 shadows at diff intencitys based on lighting strength. but honoustly the devs are going to make a choice that looks the best, doesnt hidden old computers and or add lagg be it server side or client, that is fairly stream line. basicly they will use common sence. and not dedicate heaps of additional man hours to getting the lighting perfect, that only 0.4% of players with machines fast enough can acctualy enjoy.
To drown, i suggest you go back over the other pod casts, and answer your own question on will they be releaseing a bare bones, and or lvl editing engine first. hint NSTR
You see games like stalker where it barely helps anything at all... but you have to realize that 90% of those games are outside. The inside areas are helped immensely by the lighting technology.
I've only seen this behavior on a few games that used Lua scripting, but there would be a folder with Lua script files and the game would either have an INI file that told the engine what scripts to run or it would just run all of the scripts in the folder.
This means the neccesity to create an interface to have the engine load scripts from a seperate INI seems pointless.