Scripts / Lee, Scripters Need Love Too!

Author
Message
GoDevils
9
Years of Service
User Offline
Joined: 24th Sep 2014
Location: Arizona USA
Posted: 20th Apr 2015 19:33
Recent quote from GG on Lee's Blog..

Quote: "“Right now my road map is to add a third person control system, improve and extend the character AI, add a simple inventory system, player progression statistics, character conversation engine and a better way to associate entity logic (i.e. key + door). "


This is all great, but I keep coming back to all of the things that have been discussed but are now on the back burner. For example, you are running a contest to create beautiful outdoor scenes, and yet the engine has 4 terrain painting textures. (stone, mud, rock, grass).

Lee, we need scriptable camera control! The ability to move and rotate the camera (or some camera) the same as we can do with entities. This is not only for game play, but for the capture of video which can be used for story telling and transitions.

As smallg said in a recent post... scripters need love too.
"THERE IS NO SPOON"

AMD 6300 6 core 3.5 ghz, Windows 8.1, 8GB ram, GTX 650 2GB ram
3com
10
Years of Service
User Offline
Joined: 18th May 2014
Location: Catalonia
Posted: 20th Apr 2015 20:40
And get entities by name, of course allowing to interact with names.
And more control about startParticleEmitter(e).
And some sort of "AssociatePlayer(e)", so player can move with platforms/elevators/boats, planes, etc, like Classic does.
And many others than now, does not coming to my head.

3com
Laptop: Lenovo - Intel(R) Celeron(R) CPU 1005M @ 1.90GHz

OS: Windows 8.1 (64) - Ram: 4 gb - Hd: 283 gb - Video card: Intel(R) HD Graphics

PM
Corno_1
GameGuru Tool Maker
13
Years of Service
User Offline
Joined: 3rd Nov 2010
Location:
Posted: 20th Apr 2015 21:09 Edited at: 21st Apr 2015 12:14
Vote this up!!! I also have some requests and maybe we should come together and make some presure.

The reason why modeller requests are heard and scripters request not is pretty simple. With sold models tgc get some money, scripts are most of the time free!

Requests:
Plugin system! I mean you write some lua functions and then you can place them in a folder like scriptbank/plugins and then the load
Scancode must use pressed and unpressed
full Camera controll.
Full player controll(disable him, move him, put weapon back and so on)
Better Hud system(More huds, multi huds..)
...
My dream is to develope games, which makes fun when I create it and fun when other people play it.
PM
!nullptr
Forum Support
9
Years of Service
User Offline
Joined: 27th Mar 2015
Location: Australia
Posted: 21st Apr 2015 07:58 Edited at: 21st Apr 2015 08:22
A few more.

- Triple ditto on entities by reference. (See below)
- Double ditto on scancodes (key for ON and shift+key for OFF is the only safe way to toggle? Why not Pressed(), IsHeld())
- Media (sound, video, images) call on demand - only attached to zones/entities? Yes it could/should be (for noobs), it doesn't have to be. MUSIC isn't.
- Media sizing / fade / transition on demand. Atm, it's on or off - time wasted on fades/anti-pop via a DAW. (again, use *music* as your guide here)
- Better level transition - preserved inventory, environment states etc. Change levels and fail OR keep them inside a tiny map - forever
- Optionals, dynamic water plane and light source.


Yes. It's a box. The OTHER thing - next to the box - is a tree.

A single option to *prevent* a script call if it's attached to an entity instead of this arbitrary range to/from the entity (tracking/managing stop/start flags are 30% of coding/debug time!!)

Let's suppose I want to create "shady trees". atm if I have 200 trees the "shady tree" script attached to my trees is run 200 times on init and the code for each tree is called whenever I am in range. In other words, in order to know what ONE tree near ME is offering as far as shade I have to address all 200 trees and ask EVERY tree if I am close enough to provide shade.

Nope, it doesn't matter if the other 199 trees are out of range (so the script isn't called by the engine), the problem is *I* don't know which tree is in front of me. In fact I don't even know it's a tree!! So I have to ask EVERY tree anyway - which also means I need to carry that data around with me.

I *should* be able to ask, are you a tree? If so, give me shade. Oh? Sorry. You're a box. We need EVENT queries - not an automated RANGE query which I have to *DISCARD* most of the time. I'm actually spending most of my coding time and CPU cycles saying DON'T do that thing you do.

THIS is a fundamental flaw that needs to be addressed in my view.

ie: Scripters, with proper tools and access to make good script - are the people MOST LIKELY to make GG a "simplicity" success- one of the core objectives surely?

Scripters need love? Understated.
Development/ Gaming Rigs
Sys 1: i7-4770 (3.5)/16Gb/128 SSD/3Tb/970gtx/2 x 23, 1 x 27 LCD - Sys 2: i7/8Gb/670gtx/1.5Tb/1 x 23 LCD - Sys 3: Amd Quad/8Gb/645gtx/1Tb/30" LCD
PM
Corno_1
GameGuru Tool Maker
13
Years of Service
User Offline
Joined: 3rd Nov 2010
Location:
Posted: 21st Apr 2015 12:09
I also want something like:

function name_main_event()

end

which just run one time. I does not need a script running again and again if I skript a event. Thats unnessesary

Quote: " Optionals, dynamic water plane and light source."

Please leave such requests outside! They have nothing to do with scripting in my eys
My dream is to develope games, which makes fun when I create it and fun when other people play it.
PM
ncmako
12
Years of Service
User Offline
Joined: 19th Feb 2012
Location: Hendersonville,NC
Posted: 21st Apr 2015 15:40
@ Corno_1 A plug-in system? Now that sound interesting Could that be done?
I agree with you guys on this matter, I start a lot of maps only to find myself stuck
because of missing functions. I'm so used to "classic" having so many commands/actions
that's it's going to be awhile. Particles, HUD's, Scancode, all of these would help.
And yes, the AssociatePlayer, cant forget that one! There's too many to count.
I did get the "dynamic" sound system to work for me. Took a bit of playing around, but
figured it out. Can trigger sounds without using a zone.
Scene Commander
Support Manager
16
Years of Service
User Offline
Joined: 3rd May 2008
Location:
Posted: 21st Apr 2015 17:08
We have a massive list of LUA requests, pretty much all of which we intend to support at some point, most if not all of the suggestions here are on that list.

Don't worry, although scripting support is going in as we add new features to support that feature, you can expect a LUA based update at some point before too long to help the more advanced user.

SC

i7-4770s 3.10ghz - Geforce GTX 650ti
!nullptr
Forum Support
9
Years of Service
User Offline
Joined: 27th Mar 2015
Location: Australia
Posted: 21st Apr 2015 21:22 Edited at: 21st Apr 2015 21:24
Quote: "Please leave such requests outside! They have nothing to do with scripting in my eys"

You jest surely. If not, tell me how you'd make something "dynamic" without... cough... scripting

Quote: "I did get the "dynamic" sound system to work for me. Took a bit of playing around, but
figured it out. Can trigger sounds without using a zone."

That's easy enough.

Now try cueing sound on an event not related to ANY entity.
Development/ Gaming Rigs
Sys 1: i7-4770 (3.5)/16Gb/128 SSD/3Tb/970gtx/2 x 23, 1 x 27 LCD - Sys 2: i7/8Gb/670gtx/1.5Tb/1 x 23 LCD - Sys 3: Amd Quad/8Gb/645gtx/1Tb/30" LCD
PM
ncmako
12
Years of Service
User Offline
Joined: 19th Feb 2012
Location: Hendersonville,NC
Posted: 22nd Apr 2015 04:51
@Nullptr
Quote: " tell me how you'd make something "dynamic" without... cough... scripting"

Pressing the "Y" key will toggle an entity between being Static or Dynamic. As for the "water" it seems to be hardcoded for now.

Quote: "Now try cueing sound on an event not related to ANY entity"

I agree with you on that, with the limited number of commands it's a little
difficult. So far I can only change or play sounds & music with either a zone
or something simple like "playerdist"
Corno_1
GameGuru Tool Maker
13
Years of Service
User Offline
Joined: 3rd Nov 2010
Location:
Posted: 22nd Apr 2015 11:07
Quote: "Now try cueing sound on an event not related to ANY entity"

What kind of events you mean? Maybe I can help

Quote: " If not, tell me how you'd make something "dynamic" without... cough... scripting"

You make your entities dynamic with scripting? This is a little bit complicated and I also wonder if this works cause static entities do not use scripts, If i am not wrong.

Maybe I didn´t understand your request!

@ncmako
Quote: " A plug-in system? Now that sound interesting Could that be done?"

It could be already be done, but is is very annoying cause GG update a lot and after every update you must change the global.lua.

I give you a example I create some time ago. It is the weapon.lua which I try to make it more accessible for noobs The plugin should use the functions under the script without they must be present in the script.


Not a good example, I know
My dream is to develope games, which makes fun when I create it and fun when other people play it.
PM
!nullptr
Forum Support
9
Years of Service
User Offline
Joined: 27th Mar 2015
Location: Australia
Posted: 22nd Apr 2015 21:18
Quote: "What kind of events you mean? Maybe I can help "

It's getting lost in the quoting but PlaySound requires "e" and "e" has to be attached to something. I can't call a sound file on demand without 1) knowing what "e" it's attached to and 2) attaching it to "e". If you look at music, the tracks are defined and I can call them on demand. Sound needs the same love.

An example is a "ghost" that is following me. In order for it to go "BOO" I need to attach "boo.wav" to an object. If I wanted a random "BOO" - without needing an anchor for it - I simply can't do it. I gave an example of how we should be able to do it above.
eg:
MySoundArray[1] = "\\etc\\etc\\boo.wav"
PlaySound(MySoundArray[1],500)

^^^The same way music can be done.

On "dynamic" - I never said I wanted to change dynamic/static entities - that snuck in during the convo. I had mentioned environment - such as water, light and sky. Neither of which can be changed *in code* ie: dynamically. (Skybox transitions and water plane height are 2 examples.) The latter might be too difficult but the former is needed to create believable day/night cycling - unless I use a skybox with no orbital bodies (eg: the sun).

I have yet to find how I can change lightsource position either (although I haven't looked too hard at that yet).

Dynamic and believable (read: immersive environments) can be created much more easily with some fairly straight forward tools - that we don't have. It's fine to keep it simple for non-scripters, but it's not doing GG any favours keeping it simple for scripters - who have the capacity to work magic if they have the tools to do so.

As per the OP - scripters need some love.
Development/ Gaming Rigs
Sys 1: i7-4770 (3.5)/16Gb/128 SSD/3Tb/970gtx/2 x 23, 1 x 27 LCD - Sys 2: i7/8Gb/670gtx/1.5Tb/1 x 23 LCD - Sys 3: Amd Quad/8Gb/645gtx/1Tb/30" LCD
PM
!nullptr
Forum Support
9
Years of Service
User Offline
Joined: 27th Mar 2015
Location: Australia
Posted: 22nd Apr 2015 21:25
Quote: "So far I can only change or play sounds & music with either a zone
or something simple like "playerdist""

Music can be changed easily without zones or being attached to objects. I run my music track definitions from my main script and can call on demand using music_play_cue(tracknum,fade) - no trickery involved, it's already there.

There is a PDF in docs that points out the relevant information such as setup, intervals and timing.

This is how sound *could* also work - but with a better definitions setup perhaps.
Development/ Gaming Rigs
Sys 1: i7-4770 (3.5)/16Gb/128 SSD/3Tb/970gtx/2 x 23, 1 x 27 LCD - Sys 2: i7/8Gb/670gtx/1.5Tb/1 x 23 LCD - Sys 3: Amd Quad/8Gb/645gtx/1Tb/30" LCD
PM
smallg
Community Leader
18
Years of Service
User Offline
Joined: 8th Dec 2005
Location:
Posted: 22nd Apr 2015 21:31
Quote: "An example is a "ghost" that is following me. In order for it to go "BOO" I need to attach "boo.wav" to an object. If I wanted a random "BOO" - without needing an anchor for it - I simply can't do it. I gave an example of how we should be able to do it above.
eg:
MySoundArray[1] = "\\etc\\etc\\boo.wav"
PlaySound(MySoundArray[1],500)"


you'd still need to know the number you gave your sound, not really much different - it's pretty much a given that at the time when you want such effects to be played there's going to be something around - the ghost in your example, a gateway, a door, a person ... there will 99% of the time be something you can use to play those sounds - there's also no reason you cant play sound effects from the music afaik

also take a look at character sound sets, that would be much more in line with what you want to achieve (in the example anyway)
life\'s one big game

windows vista ultimate

i5 @3.3ghz, 4gb ram, geforce gtx460, directx 11
!nullptr
Forum Support
9
Years of Service
User Offline
Joined: 27th Mar 2015
Location: Australia
Posted: 22nd Apr 2015 22:04 Edited at: 22nd Apr 2015 22:07
Quote: "you'd still need to know the number you gave your sound, not really much different - it's pretty much a given that at the time when you want such effects to be played there's going to be something around - the ghost in your example, a gateway, a door, a person ... there will 99% of the time be something you can use to play those sounds"

Right you are but suppose I want 20 un-attached sfx. At the very least that's 10 objects with 2 sounds each and hard coded entity. 10 objects I wouldn't ordinarily need *unless* I need extra sfx. Heck of a workround for a pretty simple task.

In a pre def array my sfx are simply numbered as per MY requirements and they don't need to be tied to any object. More importantly it won't matter if I copy, move or delete ANY entity during development without either 1) re-referencing the entity number in code or 2) making sure there is/was no dependency.

Quote: "there's also no reason you cant play sound effects from the music afaik"

Not something I've tried yet but that's my point don't you think? Perhaps the pedant in me should try juxtaposing the terms "music" with "soundfx"

music_play_cue("BOO",100)
Development/ Gaming Rigs
Sys 1: i7-4770 (3.5)/16Gb/128 SSD/3Tb/970gtx/2 x 23, 1 x 27 LCD - Sys 2: i7/8Gb/670gtx/1.5Tb/1 x 23 LCD - Sys 3: Amd Quad/8Gb/645gtx/1Tb/30" LCD
PM
!nullptr
Forum Support
9
Years of Service
User Offline
Joined: 27th Mar 2015
Location: Australia
Posted: 22nd Apr 2015 22:22
As a side note smallg. The example I was actually using was an ambient fox bark in an Australian bush setting.

I have no "fox", he's a rock. I call my "rock fox" at random with volume applied to give a sense of distance from the player. To make the "fox" move across the map, I'm generating a pseudo x,z, completely independent of the rock (unless I were to make the rock move - oh my).

ie: The rock is redundant and exists purely as an anchor for the fox sound. I cannot remove the rock (in fact I have buried it under the terrain because the rock is not part of the sand dune scenery.) My "fox" (or ghost for that matter) should be able to be an independent entity without requiring an "e".

If anyone has a better solution, I'm all ears [pun intended]
Development/ Gaming Rigs
Sys 1: i7-4770 (3.5)/16Gb/128 SSD/3Tb/970gtx/2 x 23, 1 x 27 LCD - Sys 2: i7/8Gb/670gtx/1.5Tb/1 x 23 LCD - Sys 3: Amd Quad/8Gb/645gtx/1Tb/30" LCD
PM
ncmako
12
Years of Service
User Offline
Joined: 19th Feb 2012
Location: Hendersonville,NC
Posted: 23rd Apr 2015 15:36
@!nullptr Yes, have been reading thru the pdf doc's and catching up with Lua. You'll have to excuse me, but am totally
new to this language. With the old FPI language one had countless ways to get the result you wanted, but as you said
with out the needed tools it can get frustrating. I for one wish there was more documentation.

@Corno_1 I looked thru your "weapons.lua" script, but sadly I'm totally lost. Sorry Do you attach this script to a weapon
or do you place this in your level somewhere?
Corno_1
GameGuru Tool Maker
13
Years of Service
User Offline
Joined: 3rd Nov 2010
Location:
Posted: 24th Apr 2015 14:08
Quote: "but sadly I'm totally lost."

Ok this is just a modification of weapon.lua nothing more. So you attach this script to a weapon like the normal weapon.lua
My dream is to develope games, which makes fun when I create it and fun when other people play it.
PM

Login to post a reply

Server time is: 2024-05-23 23:26:23
Your offset time is: 2024-05-23 23:26:23