Suggestion for a more User-Friendly Adventure Game Studio

Started by WackyWildCard, Sat 29/09/2007 23:42:47

Previous topic - Next topic

WackyWildCard

 ::)

Perhaps when I get my new computer installed, with all the updates, Install the new AGS Beta, and, have more free time on my hands - I'll start training myself with Script!

Please be patient though, it will take a long time for me to get it right.

You can't rush quality.

Thanks again for the helpful advice.


Khris

My two cents:
Converting a few IE-actions into their script-equivalent isn't that hard. You don't need to be an experienced super-programmer to do that.
There isn't that big of a difference between selecting some consecutive actions and writing some consecutive lines of code. And the latter is quicker, too.

However, implementing full-fledged Final Fantasy-style battle systems is not so easy.

My point being: scripting isn't hard by itself, it depends on what you want to achieve.
So IMO there's no need for the IE at all.

WackyWildCard

 :)

I have a request...

I don't want to beat a dead horse, so to speak, but Radiant, you obviously helped with the construction of A Tale Of Two Kingdoms, a very impressive Fantasy Adventure Game, I might add. Would it be possible to have available, online, a simple Module version of your game? Or perhaps an editable demo? Don't worry, I have my own character designs and art. I just find the Wisdom and Honour Score pretty cool. I thought it might help if I had something to work with, instead of working with scratch. I could EVENTUALLY tweak the working Demo to enable a hp score so the hero can die if he loses too many points.

I would make sure to mention your website in the game credits.

I believe this could help with my group project.

:)


Pumaman

Quote from: WackyWildCard on Mon 01/10/2007 02:56:26
How long did everyone take to learn Scripting? Curious I am.

Don't get me wrong, I have dabbled with scripting with my game construction. I even attempted to use Ahmet's RPG Scripting, but I became very frustrated with the results.

They key to it is, don't try to do too much too quickly. If you look at an existing complicated script, you could well be put off for life, thinking "what the hell is all that?!?!".

Start small. Just write one-line scripts for interactions doing things like Display() and player.Walk(). Gradually build this up to include more than one command at a time, and slowly but surely you'll get the hang of how it all fits together.

bolfar

To me it was the Interaction Editor that got me started with AGS. I was looking for simple game creation tool for a long time. AGS's Interaction Editor made it possible to me to make a silly 8-room game with no scripting at all at the time. But with looking at Text script equivalent code all the time I slowly went from IE to scripting.
AGS is a powerfull tool, and scripting is the only way to use it at full, but IE is a very easy first step. (And it makes a game creation process a point-and-click adventure at it's own.)

Now I would't miss IE a bit, but any new user with no scripting experience would.

I say: keep the Interaction Editor.

subspark

The interaction editor really assisted the learning process for me too.
Paul.

WackyWildCard

Question: Do you know how to eat an Elephant?

Answer: One bite at a time!


Sylvr

Ooh, please keep the optional interaction editor! I wasn't aware it had been taken out for the beta of 3.0. It definately helped me, and now that I've been away from scripting (what little knowledge I had) for a decent while and I want to get back into it, the editor would really help.

Apologies for the poor structure of above sentences.
| Ben304: "Peeing is a beautiful thing, Sylvr" |

WackyWildCard

 :o ;D
Oh! Oh! Yes please! Please include the I.E. in the new AGS! I promise to learn Script, but please! Don't remove the I.E., PLEASE!

:o ;D

Thanks!


Gilbert

The problem with the I.E. (and the reason of its removal) was that it's never complete to a point that it's really useful (you can't even make a simple game without any scripting), and it requires a lot of work to maintain and update it until it can really do something (IMO it's even less complete in some aspects compared to the ancient obsolete Graphical script system).

So it'd be gone forever, I think there may be some other addition to the editor which aid in game making in the future, but not now, when all the focus are put into completing the new editor.

You may find some comments on it by CJ here.

RickJ

Just to add a bit to what Gilbot said ...

The auto-complete feature of the script editor, I think,  does a great job of helping inexperienced scripters along.  If you think about it, it serves a similar function that the IE dialog boxes serve (i.e. show what options can be used with a specific function).   

I think that auto-complete combined with some kind code generation wizard, as CJ suggests in the thread Gilbot references would make up for the absence of the IE. 

Quote from: CJ
I think the way forward is to have some sort of auto script-generating tool (maybe as a plugin) that works in a similar way to the interaction editor but it basically creates the script code for you. 
 
The OpenOffice.Org spreadsheet program has a feature where a built-in function can be inserted into a formula by selecting it from a list.  Once the function is selected a dialog is provided that allows the user to fill in the required parameters.  Perhaps this is all that is needed to provide beginners with a comfort zone?  In the long run this is perhaps a better solution because beginners will be exposed to scripting sooner than they would have otherwise and will not be frustrated by the limitations of the IE.


WackyWildCard

 :)
Alright then. Next week, I get my new hardware, re-install Windows XP Home Edition, make all the required updates and install the new AGS Beta. I look forward to taking it for a spin, train myself in the techniques and continue with my game construction.
:)


Radiant

Quote from: WackyWildCard on Mon 01/10/2007 19:30:53I just find the Wisdom and Honour Score pretty cool. I thought it might help if I had something to work with, instead of working with scratch.

Oh, that's easy.

Code: ags

// 1. make two variables at the top of your global script,
int wisdom, honour;
export wisdom, honour;

// 2. write a score function in your global script,
function scoreup (int which, int amount) {
  if (which == 0) wisdom += amount;
  else honour += amount;
  string buffer;
  StrFormat (buffer, "Wisdom %d - Honour %d", wisdom, honour);
  SetLabelText (SOME_GUI, SOME_LABEL, buffer);
}

// 3.import this in the global header,
import function scoreup (int, int);

// 4.call if from your room scripts as necessary
function DO_SOMETHING_IN_ROOM () {
  if (action == TOUCH && object == 4) {
    Display ("Ok, you got it!");
    ObjectOff (4);
    AddInventory (SOME_ITEM);
    // here it is:
    scoreup (0, 2);
  }
}


WackyWildCard

 :)
Thanks a lot Radiant! That code will be very helpful in the game programming I will be working on in the future!

Much appreciated!


rich

Hmmm... I'm all for programming just about everything. But, there are some things I've gotten used to doing with the interaction editor. For example, "When Player first Enters room before fade-in", I've gotten in the habit of opening up the interaction editor and selecting run script under this option. Then, I open the script and write the things I want to happen in this room before fade-in. I may just not have looked hard enough, but I can find in the help an equivelant sort of way to do it with scripting alone. Is there some function like on_mouse_click I can add like "on_room_start_before_fade-in"?

I've also gotten used to doing the same things with objects... I go into the interaction editor and if the player clicks say the interact icon on the object I again say run script. This creates a function that easily activates where I can then script what I want to happen. I actually haven't figured out exactly how to do this with scripting alone. I suppose I could activate the on_mouse_click and then check what the cursor is and if the mouse is over that object.

I do like the idea of the interaction editor actually creating all the script... but until then, I just want to say I have been using both, and I would hate to see the interaction editor go for this reason.

-Rich
I'm so excited!

RickJ

Quote
I actually haven't figured out exactly how to do this with scripting alone. I suppose I could activate the on_mouse_click and then check what the cursor is and if the mouse is over that object.
It sounds like you haven't tried the new AGS 3.0 beta version yet.  The scripting is pretty much the same as it was before.  There are interaction functions just like before but they are named after the the item and functionality they are associated with.   You select the item (i.e. object, hotspot, etc and then select which interacton you want from a drop down events menu located at the right hand side of the screen.  This inserts the interaction function into the script just like the IE "Run Script"  command did before.   
It works much like the GUI system does in AGS 2.72.

Someone correct me if the above description is less than accurate.  I haven't used the new stuff much, just took it for a couple of quick test drives.   

GarageGothic

#36
Quote from: WackyWildCard on Mon 01/10/2007 02:56:26How long did everyone take to learn Scripting? Curious I am.

If you get a week or two with nothing to do other than working on your game, you'll get a pretty good understanding of it in that time. Set yourself a goal, for example making a custom interface for your game, open up the help file and start coding it feature by feature.

The way I started out was with scripting my own save/restore interface. I hadn't coded anything since the days of BASIC on the Commodore 64 (oh god how I hated those "poke" commands),  I didn't even go through the AGS tutorials. I just sat down and  tried to break every function down into logical steps, one GUI element at a time. Whenever there was something I didn't know how to do, I used the help file's search function. Every time I would get a compile error (pretty much every line of code), I'd fix it, test the game to see that it worked as intended and then move on. A month into development I was coding advanced features that I'd never seen in AGS games before, such as the searchable conversation log.
Looking at my code now, there's lots of things I would have done differently (and I actually went back and optimized stuff and re-did some sections whenever new features - such as the String data type - were added to AGS). But the main thing is that the old code worked, despite sometimes getting the stuff done in very roundabout ways.

Once you understand the logic of AGS script, you'll be able to plan things out quite well even before opening up the script editor. And between the help file, the editor's auto-complete feature and the tech forum, there's very little that you won't be able to do - and do it much faster than using the Interaction Editor.

As CJ said, your shouldn't try too much too quickly, but at the same time, once you know the basics, spending a week on getting familiar with advanced features like structs, arrays and while loops will actually make things much easier further down the line.

SupSuper

Quote from: rich on Fri 05/10/2007 06:43:59
Hmmm... I'm all for programming just about everything. But, there are some things I've gotten used to doing with the interaction editor. For example, "When Player first Enters room before fade-in", I've gotten in the habit of opening up the interaction editor and selecting run script under this option. Then, I open the script and write the things I want to happen in this room before fade-in. I may just not have looked hard enough, but I can find in the help an equivelant sort of way to do it with scripting alone. Is there some function like on_mouse_click I can add like "on_room_start_before_fade-in"?

I've also gotten used to doing the same things with objects... I go into the interaction editor and if the player clicks say the interact icon on the object I again say run script. This creates a function that easily activates where I can then script what I want to happen. I actually haven't figured out exactly how to do this with scripting alone. I suppose I could activate the on_mouse_click and then check what the cursor is and if the mouse is over that object.

I do like the idea of the interaction editor actually creating all the script... but until then, I just want to say I have been using both, and I would hate to see the interaction editor go for this reason.

-Rich
You can still have event-based functions in AGS 3.0. Think of it as an I.E. with only a Run Script option. :P
Programmer looking for work

Shane 'ProgZmax' Stevens

Rich, the area you are looking for is right here:

Just click the lightning bolt in the right pane to pull up the old room interactions, then open one to the right to go to the function for it (or create it if one does not exist).

http://members.cox.net/progzmax/scr1.gif

rich

I'll be honest and say I haven't used 3.0 yet. I think I'm waiting for the all clear on it. Should be a smooth transition for me though. Looks like everything is there that I need.
I'm so excited!

SMF spam blocked by CleanTalk