tag:blogger.com,1999:blog-9193968969153274146.post6495351610496506865..comments2023-05-20T12:08:52.031+02:00Comments on In The Games Of Madness: Tech feature: Script Overview #1Frictional Gameshttp://www.blogger.com/profile/00278352641328669040noreply@blogger.comBlogger16125tag:blogger.com,1999:blog-9193968969153274146.post-21226454026186432542011-07-12T08:51:09.004+02:002011-07-12T08:51:09.004+02:00Tyler:
Can sum up in one answer:
You should be ab...Tyler:<br />Can sum up in one answer: <br />You should be able to make an RTS game by modding our next game.Thomashttps://www.blogger.com/profile/02945983378935089787noreply@blogger.comtag:blogger.com,1999:blog-9193968969153274146.post-43038366818269215392011-07-12T03:22:34.165+02:002011-07-12T03:22:34.165+02:00Thomas:
1. Does the engine or script generate the ...Thomas:<br />1. Does the engine or script generate the graphics? Because I want to try and make my own game.<br />2. Can you make 3rd person games in the engine?<br />3. Does every game you make in HLP3 look and feel just like Amnesia?<br />Please try to respond.Tyler Hendriksenhttps://www.blogger.com/profile/02790741839151641256noreply@blogger.comtag:blogger.com,1999:blog-9193968969153274146.post-20306193401885514282011-07-10T11:07:29.163+02:002011-07-10T11:07:29.163+02:00My guess would be that all major destruction is pr...My guess would be that all major destruction is pre-computed and simply stored as animations. Like the rail-bridge scene in Half-Life2 Ep1.<br /><br />As for newton handling generic destruction (big difference here since almost all destruction you see in games is pre-made), yes it is!Thomashttps://www.blogger.com/profile/02945983378935089787noreply@blogger.comtag:blogger.com,1999:blog-9193968969153274146.post-11678262374721437702011-07-10T09:27:54.695+02:002011-07-10T09:27:54.695+02:00I agree with Thomas about Bioshock.
They seem to ...I agree with Thomas about Bioshock. <br />They seem to use a massive physics engine like PhysX. Is Newton capable of destructions already, even not in this scale ?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-9193968969153274146.post-8034377588903599292011-07-08T21:15:20.190+02:002011-07-08T21:15:20.190+02:00My Bioshock Inf impression?
- Increadibly Beatifu...My Bioshock Inf impression?<br /><br />- Increadibly Beatiful world, will be interesting to explore<br />- Tons of mindless combat that just seems to just go on and on. <br /><br />I wish they could just have skipped the combat altogether. Then it might have been a REALLY interesting game. Still, interesting enough for me wanted to play, just not expecting anything amazing.Thomashttps://www.blogger.com/profile/02945983378935089787noreply@blogger.comtag:blogger.com,1999:blog-9193968969153274146.post-42114687920247034252011-07-08T09:58:08.474+02:002011-07-08T09:58:08.474+02:00Hey Thomas,
I know this is offtopic, but I would ...Hey Thomas,<br /><br />I know this is offtopic, but I would love an article with your impressions on the Bioshock Infinite demo. It was just released today. You can watch it on gametrailers.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-9193968969153274146.post-642249895172407422011-07-06T22:57:21.701+02:002011-07-06T22:57:21.701+02:00Stuff that is computational heavy is often very &q...Stuff that is computational heavy is often very "exact" in terms of determining if it works or not. You can usually sit with the code a lot and then do some testing and then it is done.<br /><br />With gameplay code this is not the same as all. You often do not know what you want up front and need to figure that out during coding. Doing this with C++ code that takes some time to rebuild and require reload of the game is just horrible. And the main reason is for the script to speed up this process. This also leads to the game being VERY customizable, but it is not the main goal.<br /><br />Reloading is not done for the actual game. So no problem there. Could even pre-compile all scripts and have the byte-data as data files.Thomashttps://www.blogger.com/profile/02945983378935089787noreply@blogger.comtag:blogger.com,1999:blog-9193968969153274146.post-10798078613745410142011-07-06T19:19:20.086+02:002011-07-06T19:19:20.086+02:00I'm guessing Thomas is trying to keep the core...I'm guessing Thomas is trying to keep the <i>core</i> mechanics in the C++ code, while pulling out most of the gameplay mechanics out "to the script" - thus making everything more customizable.<br /><br />BTW, isn't it possible for the game to preload all the scripts it requires for a certain area - as in the end product, scripts are not going to change during gameplay?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-9193968969153274146.post-44877782757561495332011-07-06T10:04:18.307+02:002011-07-06T10:04:18.307+02:00So far all heavy duty stuff (for example object pi...So far all heavy duty stuff (for example object picking) is done in C++ code. Some of these computational stuff is obvious, but others might not pop up until later. In that case I will try and make some generic c++ function for that section. The goal is that script is more of a logical/control-flow system.<br /><br />I am not sure how much slower script is and it depends a bit. For example lots of smaller script calls generally take more than calling few longer scripts (because of call overhead). In any case, as long as heavy stuff in C++, scripting is fast.Thomashttps://www.blogger.com/profile/02945983378935089787noreply@blogger.comtag:blogger.com,1999:blog-9193968969153274146.post-64906706823497121352011-07-06T06:28:47.794+02:002011-07-06T06:28:47.794+02:00Looks great, especially the way it reloads the scr...Looks great, especially the way it reloads the script without having to restart everything. How do you decide what should be scripted and what should be coded into the executable? Is there very much overhead when using a script or is it generally pretty fast?someone972https://www.blogger.com/profile/18354967830110371280noreply@blogger.comtag:blogger.com,1999:blog-9193968969153274146.post-85769095128726242442011-07-05T08:29:55.397+02:002011-07-05T08:29:55.397+02:00Regarding the OO example.
Yes, that kind of code ...Regarding the OO example.<br /><br />Yes, that kind of code is very much supported. The only thing you need to do is to cast the handles correctly, for example it would look like:<br /><br />cLuxCreature@ pMonster m = cast(cLux_GetCurrentMap().GetEntity("Monster"));<br /><br />pMonster.DoStuff();Thomashttps://www.blogger.com/profile/02945983378935089787noreply@blogger.comtag:blogger.com,1999:blog-9193968969153274146.post-14152888780802154602011-07-05T02:59:00.785+02:002011-07-05T02:59:00.785+02:00How about OO?
It would be really convenient not t...How about OO?<br /><br />It would be really convenient not to have methods that take string parameters in order to affect a specific entity - it is very limiting.<br /><br />It's much better if you can do something along these lines (pseudocode):<br /><br />Entity table = GetEntity("Central_Table");<br />Entity t = GetEntity("Central_Table_Trigger");<br />Monster m = GetEntity("Monster_001");<br /><br />m.MoveTo(t.GetLocation());<br /><br />// then, later, when the trigger entity is... triggered...<br />m.PlayAnimation("PickFromTable.anm");<br />table.GetChildren().GetItem("Axe").SetIsVisibile(false);<br />Entity oldWeapon = m.SetWeapon(new Axe(220)); // damage parameter<br />RemoveEntity(oldWeapon); // to be garbage-collected...<br />m.SetIdleAnimation(MonsterWithAxe_Idle.anm);<br /><br />Player p = GetPlayer();<br />p.SetReaction(new FreekoutReaction("freakout.rct", 600));<br />p.LookAt(m.GetLocation(), 200);<br />p.React();Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-9193968969153274146.post-48364522205323854642011-07-04T19:16:13.214+02:002011-07-04T19:16:13.214+02:00Nikita:
AngelScript supports the exception handlin...Nikita:<br />AngelScript supports the exception handling very easily! The reloading is bit more complicated, especially since a lot of data need to be saved and the added during reload. Will bring that up in the next part.<br /><br />The 3d picking is simply a ray cast in the physics simulation.Thomashttps://www.blogger.com/profile/02945983378935089787noreply@blogger.comtag:blogger.com,1999:blog-9193968969153274146.post-79525675132128238242011-07-04T19:02:48.769+02:002011-07-04T19:02:48.769+02:00That was brilliant! The futures shown are very goo...That was brilliant! The futures shown are very good. I can't wait for the next post.<br /><br />@Anonymous<br /><br />How are you so sure it will be called Depth -The Dark Descent? I think that Thomas changed the name or this code isn't from the new game after all. It might be a code from the previous games tested on the new engine.BAndrewhttps://www.blogger.com/profile/09071671144077454072noreply@blogger.comtag:blogger.com,1999:blog-9193968969153274146.post-53268425527969673192011-07-04T18:24:59.617+02:002011-07-04T18:24:59.617+02:00That was very interesting! Did you have to extend ...That was very interesting! Did you have to extend AS for all that exception handling and reloading or is supported out of the box?<br /><br />And also, tho I know it's totally unrelated, how do you do 3d picking in your engine? If you can write me a sentence or two about it it will be highly appreciated and it will help me a lot as I'm not sure which method to choose for my engine.Nikitanoreply@blogger.comtag:blogger.com,1999:blog-9193968969153274146.post-61661559078877596082011-07-04T16:57:30.530+02:002011-07-04T16:57:30.530+02:00I love these tech features that show how you const...I love these tech features that show how you constantly make progress with your next game (that will obviously be called Depth - The Dark Descent). More of this please. :)Anonymousnoreply@blogger.com