Main Menu

Scripting

Started by Burrie, May 13, 2006, 03:29:02 PM

Previous topic - Next topic

Burrie

Hey,

Well, to introduce myself, Ruben van der Len, currently following Software Engineering classes. Almost literally grew up with the King's Quest series, they were for me the sort of fairy tales you'd hear when you were young. Wonderful series, although things went a bit off for me starting at KQ7.

And to be blunt, I love what you folks are doing here. From the videos and screenshots that I've seen, this is how I would have imagined a King's Quest game to be in this era. The visual style mirrors KQ6 a lot, the gameplay appears to hit very close to the usual adventure-style, and story-wise, it seems to have matured. Summed up, I think you folks are building a game that has the potential to be a worthy finale of the KQ saga.

If possible, I would like to be part in building it. Now, I'm afraid that most of my building has been minor so far. I do not think that I would have the experience for a conversion or engine programmer. My experience when it comes to game modding was always with scripting, something that I've always enjoyed immensively, so I would love to see if I could apply for a Script Programmer.

Now, seeing as I don't have any sort of experience with the Torgue Game Engine, it's too early to officially apply, I suppose. Plus, I do need to see for myself wether I can actually handle it. I would like to ask for some questions... namely,

1) Does the KQIX team actually require a script programmer at this point?
2) What would be a good place to read up on how the scripting language works for the Torgue Game Engine?

I, most likely, have some more questions down the road, but I'd like to see if someone can answer these questions.

Thanks in advance,
Ruben
Hey, it's me... Burrie.

Yonkey

Welcome Ruben! ;D

I'm going to see if I can get the Programming Director to see your post.  What games have you modded in the past, and what did your modifications do?
"A wish changes nothing. A decision changes everything."

Petter Holmberg

Hi Ruben!

To answer your first question, we are currently planning to expand the team a bit, and it's always worth the try to apply. We would love to accept everyone who's prepared to work on this, but in practice it becomes impossible to manage it when too many people are involved and it would actually slow down production. It's a fine balance to find, but it's always worth applying because everyone gets on the list for future openings. We don't ignore any serious application even if we can be bad at contacting people about it sometimes. :)

As for learning the scripting, there is no better way than downloading the Torque demo (and maybe even considering to buy a license if you get hooked) at www.garagegames.com and looking at the examples there, plus getting involved in their community forums for getting the answers to common questions and exchanging ideas with other people. There are books to buy too but often the best way is just to ask other people. The Torque scripting language is not difficult to learn (especially if you're familiar with C/C++ syntax) and a good thing about the demo is that you can actually rework it into a completely different game by editing its scripts. We have actually not made any big changes to the engine to run our game, which started off as a modification of the FPS demo that you download and play for yourself.

The programming of TSL can be classified in three parts actually:

At the most advanced level we are making engine modifications, which requires C++ skills and tools. This is something we try to minimize because we do not have that deep knowledge of how the engine works at the core level.

At the middle level, we're scripting game functions, such as systems to handle scenes, play dialogue sequences and so on. This is still a major part of the programming work and it's where we make the most innovations ourselves.

At the most simple level we script the game contents, which is done by using script functions that we've developed at the middle level. This can be done without knowing more than what functions to use really. However, we are not complete with any of these things so there's always changes induced by problems somewhere else.

Everyone in the programming department have started with some specific part but gradually moved away to learn more and more other things, so it's not necessary to have the full overview to begin with and you tend to end up in areas you didn't originally plan to work on. I started with the idea of being only involved in the scene scripting (for which a system hadn't even been designed at the time), and now I've ended up as a director of the whole department. Yeah, definitely not the original plan! ::)

Burrie

#3
QuoteI'm going to see if I can get the Programming Director to see your post.  What games have you modded in the past, and what did your modifications do?

'oi, first off, thanks for your quick reply.

My early dabbling was in some of the older FPSes, like Jedi Knight. Truth be told, although I liked the scripting part, I generally couldn't go that far, because I was stuck on the building part. I've never been a level editor or modeller, and I don't think I'll become one very soon.

Most of my actual scripting was done in Bioware's Neverwinter Nights. Aside from having a very friendly community and being part of my favorite genre, it's very easy to build areas in the toolset. I'm not sure how familiar you are with NWN, I'm willing to elaborate if asked. I've generally created scripts to help me with running a campaign that I DM for about 4-5 players. Overall stuff like traps, NPCs walking around, general atmosphere, or small-scale battles. In my off-time, I've also built a little optional turn-based system for DMed games.

As a small example, here is a cutscene that I scripted for a player once when he received a vision : http://alx.vanderleun.com/~ruben/qfg_vision.avi

.It's a bit vague, I suppose, but that was intentional. It's meant to foreshadow that the party may have to face their enemies very soon.

Other than that, I also did some minor dabbling in the old Sierra AGI language, but again due to my inability to actually construct graphics, had to drop that.


QuoteAs for learning the scripting, there is no better way than downloading the Torque demo (and maybe even considering to buy a license if you get hooked) at www.garagegames.com and looking at the examples there, plus getting involved in their community forums for getting the answers to common questions and exchanging ideas with other people. There are books to buy too but often the best way is just to ask other people. The Torque scripting language is not difficult to learn (especially if you're familiar with C/C++ syntax) and a good thing about the demo is that you can actually rework it into a completely different game by editing its scripts. We have actually not made any big changes to the engine to run our game, which started off as a modification of the FPS demo that you download and play for yourself.
Ach, I wasn't aware that you could actually script in the demo. I had it downloaded already, was impressed with its contents(in fact, the information about scripting inspired me to see what options are available here), and had been planning to see what you could do with it. I'll have to look into that further, as well as trying to get in touch with the community, thanks for the tips.

I take it that a license is required if one wants to help with KQ9, yes?

As for the rest of your post, thanks for the information. As mentioned, I think that for now I'm most helpful with scripting the game contents, although I certainly wouldn't mind to learn a bit more as I gain a bit of experience.

Off to see what I can do with that demo then.

Cheers,
Ruben


EDIT: Fixed link.
Hey, it's me... Burrie.

Yonkey

I just saw your video and it's very nice!  I was intrigued and it didn't even have sound! ;D

So yes, I would definitely suggest you research and experiment a bit with Torque and learn its basic scripting syntax.  Since you have scripted before, I think you'll pick it up fairly quick. :)

As Petter mentioned, you are actually able to do scripting with the demo Torque engine.  You're just not permitted to modify the engine source, which is written in C++ (but you're not interested in that anyway, so no big deal :P).  Also for this reason, it's not necessary for you to download a Torque license.  You're free to do so if you like, since it will provide you with access to their private support forums, but it not required.
"A wish changes nothing. A decision changes everything."

Burrie

Well, as a small update for what I've been doing...

I've been studying the Game Engine Demo closely, and overall, I'm definately loving it to get a more closer look at an engine. It's bloody expansive, it's bloody difficult... but most scariest of all(for me, that is), I can somewhat understand at times what's going on in the code.

Mind you, I'm a far cry from actually completely understanding how this stuff works, but it has definately grabbed my interest. At most, I'm currently doing some experimenting with the features demo, changing small things here and there and checking the results. Progress is going quite slow, but it's fun nonetheless.

Still, two questions then...

1. The GUI and Mission editor that are supplied in the engine, does the KQIX team also utilise these tools to develop the game? Or are there different ways to edit the content, aside from changing the scripts themselves?

2. I'm overall more interested in 3D game development a bit more now, thanks to the Torgue engine, and am checking to see if there are perhaps any books I could pick up on the subject. I've seen the "3D Game Programming All In One" book mentioned at times, and am thinking of ordering it. Anyone have any experience with this book, or is there perhaps another book they could recommend?

Kind regards,
Ruben
Hey, it's me... Burrie.

Petter Holmberg

Quote from: Burrie on May 16, 2006, 04:33:24 AM1. The GUI and Mission editor that are supplied in the engine, does the KQIX team also utilise these tools to develop the game? Or are there different ways to edit the content, aside from changing the scripts themselves?
We used to, and it still comes in handy sometimes. However, we found a new way to load and unload game content rather than using huge mission files, which slowed down the framerate too much. This means we have to do most of the editing in the script files now but with some changes the mission editor should become useful for more things again. Might be worth looking into...

Anyway, you can edit the missions in a text editor too. Just open one of the .mis files and you'll see the structure of things, just like they show up in the mission editor. From here you can apply changes as well, if you're careful not to make any syntax errors.

Quote2. I'm overall more interested in 3D game development a bit more now, thanks to the Torgue engine, and am checking to see if there are perhaps any books I could pick up on the subject. I've seen the "3D Game Programming All In One" book mentioned at times, and am thinking of ordering it. Anyone have any experience with this book, or is there perhaps another book they could recommend?
Not me, but there are many good books out there, Torque-specific but also more general.

As an introduction to Torque mission editing and scripting, I warmly recommend this website:

http://www.codesampler.com/torque.htm

Here you'll find a bunch of PDF documents going through the basics with examples. It's proven very useful to us many times.

Burrie

'oi, long time no see.

Well, I've had a few busy weeks due to starting an internship for a project. However, the planning stage is over, and work's to a more managable level now. Furthermore, I purchased a laptop that I intend to use for development purposes only, which has become a real blessing actually. Thus, I've begun my trek to understand the Torque Engine a bit more via the demo.

The tips you've given were very helpful, mister Holmberg. I've currently stopped using the mission editor and simply started to look into the source code itself, and what I've found so far is very enlightning. Although the tutorials you've given me earlier did give me an idea on how certain things worked, I always do like to find out some things on my own, so I'm dissecting the interactive engine walkthrough as we type.

So far, I'm beginning to understand on how it's working. It's pretty clever how everything's working, and easy to understand as well. Without too much problem was I able to add a button to the "Skeletal Animation" that would make the Orc dance. Gotta look a bit further into what's possible, but I'm definately beginning to like it.

Another two questions, if I still may...

1. All the scripts and GUI options appear to be easily accessible via a simple text editor. I take it that KQIX can compile this to hide the scripts, or isn't that possible?

2. Could it perhaps be possible to be able to see a script of KQIX? I'm simply curious to see what the scripts look like.


Thanks in advance, and thanks for inspiring me to look a bit further into this. This is bloody interesting and a nice learning experience.

Kind regards,
Ruben
Hey, it's me... Burrie.

Deloria

*wonders if she can use the same excuse in order to get THE script :P*
 
Holy Roman Empress
Queen of *all* Albion
Précieuse and salonnière! :D
"In cases of doubt about language, it is ordinarily best to consult women."-Vaugelas
Space! :D Extraterrestrium! :D Espace! :D

Burrie

Ach, a game script'll do, but I wouldn't mind to have a look at the script as well.  ;)

Hey, it's me... Burrie.