Castle Paradox Forum Index Castle Paradox

 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
 Gamelist   Review List   Song List   All Journals   Site Stats   Search Gamelist   IRC Chat Room

Suggestions?
Goto page Previous  1, 2, 3 ... 5, 6, 7 ... 9, 10, 11  Next
 
Post new topic   Reply to topic    Castle Paradox Forum Index -> The Arcade
View previous topic :: View next topic  
Author Message
Pepsi Ranger
Reality TV Host




Joined: 05 Feb 2003
Posts: 493
Location: South Florida

PostPosted: Sat Apr 10, 2010 7:29 pm    Post subject: Reply with quote

James in another thread wrote:
Also, if you (or anybody else) wants to learn more advanced plotscripting, I am eager to write some more tutorials for slices. Knowing where people get confused when they try to start working with slices is very helpful to me to know what I need to explain better.

Also, i did update the slices tutorial the other day.


Porting this from the "RGC Hype" thread since it's becoming a Yo Ghost discussion and is having little to do with my actual response to this question. I thought I'd post it here, since this thread is clearly more relevant for it.

I would love a tutorial on slices. I've figured out how to do some basic things with them like create widescreen (which I used for Tightfloss Maiden's cutscenes, and may consider using for Powerstick Man's some day), and I figured out how to use them to create multiple text boxes (for Powerstick Man) and animating portraits (Tightfloss Maiden). But I still find it difficult to do things like make a Bell of Chaos clone, or a Baconthulhu clone, or even a Tetris-style title screen. I've heard of people using them to store metadata, which I still can't comprehend. And using slices to move menus around in real time has ended in terrible results whenever I tried doing that. So, yes, a beginning and advanced tutorial (or maybe a 101 series of articles like what Moogle1 did for side-scrollers) would help.

And while we're on the subject, I would love a thorough explanation on how to use "Extra" data, like NPC Extra and so forth. I mean, explain it to me like I'm an 8-year-old. I know they're probably valuable for some of my design needs. Arguments were valuable, too, and some of you know how long it took me to understand those. Thank God I do understand them now, as they've since made my life far easier (and my scripting shorter). So, if James, TMC, or MSW188 (the people who helped me understand arguments), or anyone who has a clue about "Extra" could break it down for me as detailed as possible--remember, I'm an 8-year-old when it comes to this stuff--I would appreciate it.

Thanks.
_________________
Progress Report:

The Adventures of Powerstick Man: Extended Edition

Currently Updating: General sweep of the game world and dialogue boxes. Adding extended maps.

Tightfloss Maiden

Currently Updating: Chapter 2
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Bagne
ALL YOUR NUDIBRANCH ARE BELONG TO GASTROPODA




Joined: 19 Feb 2003
Posts: 518
Location: Halifax

PostPosted: Sun Apr 11, 2010 5:24 am    Post subject: Reply with quote

Sh4d0ws wrote:
It gets kind of tedious Having to save my .txt, re-compile it, and re-import it every time.


Oh ... this reminds me of another thought I had ... I have no idea how difficult/easy it would be to implement:
If there was some kind of in-game command line, that would be really useful.

So, you press a function key or something, and a command prompt pops up, and then you can enter script commands line by line, or call plotscripts, or whatever - anything a text file can do.

I'm guessing that this would not be easy to do, and it's crazy, as it entails converting hamsterspeak into a scripting language from a compiling language.

The reason I think this would be handy is that it would make it a lot easier to do things like building my boulderbeast monster.
It would also make it way easier to learn to use hamsterspeak if you were somehow able to instantly see the results of a command.
_________________
Working on rain and cloud formation
Back to top
View user's profile Send private message
msw188




Joined: 02 Jul 2003
Posts: 1041

PostPosted: Sun Apr 11, 2010 11:30 am    Post subject: Reply with quote

Hi Pepsi Ranger! I'm really glad you found my argument arguments helpful, haha. Anyway, I don't have time at the moment to look into the details, but I can try to give a small-scale explanation of the 'concept' of "extra data", in case it is helpful for you (or anyone else reading this).

I'm going to refer to NPC extra data at first. When I think of NPC extra data, I think of extra pockets. See, NPCs can be given all kinds of properties and tools in custom under the Edit NPCs menu (things like being one-time usable, or set to pace back and forth, or being able to call a script and pass it an argument). But what if you'd like the NPC to have (or know) more?

This is harder to think of scenarios for than arguments, but imagine there is a part of the game where the player can give items to NPCs. The issue is that the player is going to be allowed to choose which NPC to give their item(s) to, and also be allowed to choose which item(s) to give. Accomplishing this flexibility with global variables is possible, but rather painful. On the other hand, the item-taking NPCs could be set to call a script that would place the item ID into that NPC's "NPC Extra Data". This is like a built-in way to ensure that that specific NPC, and no other, has access to the ItemID of the given item. In this way, the 'extra data' acts like a kind of extra pocket for the NPC.

As a game author, this kind of thinking can quickly be transformed into a concept of something akin to having lots of small filing cabinets. See, it's one thing to store information in one long row of single, numbered, cubby holes (this would be how Global Variables work). It might be more helpful to store information in a row of numbered cabinets, each cabinet having three drawers. In this analogy, the cabinets would be NPCs, and the extra data slots 0,1,and2 are the drawers.

Now it is certainly true that NPCs (in other words, which cabinets are available for storage/recall) depend on the current map, and having to worry about that might be more trouble than it's worth. There is a reason that global variables have been around and considered indispensible since the dawn of hamsterspeak, while extra data is fairly new and more of a 'bonus'.

Menu extra data is even more helpful, although you can no longer use the 'extra pocket' concept, since you can't think of a menu as a character per se. For me, I have been using menues to simulate shops, where each slot on the menu is an item for sale and the extra data slots hold info like the sale item's actual ID, and selling price. Still, this is only because the normal shop setup doesn't work for my game. In general, Menu extra data can be thought of as yet another way of storing information. Here, imagine that instead of a row of cubby's (global var's), or a row of 3-drawer filing cabinets (NPC extra's), you have an entire hallway of numbered rooms, each room with its own row of the filing cabinets. In this analogy, the Menu is a numbered room, while each menu item is a filing cabinet having 3 extra data slots (drawers). Does this make any kind of sense? As always, please feel free to keep asking questions!
_________________
My first completed OHR game, Tales of the New World:
http://castleparadox.com/gamelist-display.php?game=161

This website link is for my funk/rock band, Euphonic Brew:
www.euphonicbrew.com
Back to top
View user's profile Send private message Visit poster's website
TMC
On the Verge of Insanity




Joined: 05 Apr 2003
Posts: 3240
Location: Matakana

PostPosted: Sun Apr 11, 2010 11:56 am    Post subject: Reply with quote

Sh4d0ws wrote:
Being able to write and compile scripts from the engine! ( Couldn't it just create/write/edit them the same way it does the F1 Help system? ) It gets kind of tedious Having to save my .txt, re-compile it, and re-import it every time. And I'm not one to do large bursts of work at once.

I couldn't imagine it being very hard to do this, either. Maybe even live syntax-error checking would be possible?


I'd like to see this happen, but not an editor built directly into Custom. The help screen editor is not a very good editor, truthfully. Instead, it would be great to integrate with an external editor (HamsterWhisper).

Also, for years I've used a batch file to compile, import and run the game in a single step. So to be honest, I wouldn't use such a feature, but it could still be worth the effort.

Quote:
But I still find it difficult to do things like make a Bell of Chaos clone, or a Baconthulhu clone, or even a Tetris-style title screen


Well, these examples were probably just badly chosen (out of necessity, due to lack of examples of extensive slice use), but these games are 10% slice magic and 90% programming prowess. Well, falling tetris blocks is definitely within range of a slice HOWTO.

Bagne wrote:
Oh ... this reminds me of another thought I had ... I have no idea how difficult/easy it would be to implement:
If there was some kind of in-game command line, that would be really useful.

So, you press a function key or something, and a command prompt pops up, and then you can enter script commands line by line, or call plotscripts, or whatever - anything a text file can do.

I'm guessing that this would not be easy to do, and it's crazy, as it entails converting hamsterspeak into a scripting language from a compiling language.

The reason I think this would be handy is that it would make it a lot easier to do things like building my boulderbeast monster.
It would also make it way easier to learn to use hamsterspeak if you were somehow able to instantly see the results of a command.


Actually, I was planning to try to implement this. I'm surprised and pleased to hear someone ask for it.

While you are right that making HS completely interpretered instead of semi-compiled would be a lot of work, I plan to get around that by cheating. I'll just wrap up whatever you type into a script, silently run it through hspeak.exe in the background using a new incremental compilation mode or whatever, and load and run the compiled script.
_________________
"It is so great it is insanely great."
Back to top
View user's profile Send private message Send e-mail
Newbie_Power




Joined: 04 Sep 2006
Posts: 1762

PostPosted: Sun Apr 11, 2010 8:45 pm    Post subject: Reply with quote

I would hate to edit plotscripting in custom (textboxes are bad enough), but being able to compile by selecting an .hss file in custom would be excellent.
_________________

TheGiz> Am I the only one who likes to imagine that Elijah Wood's character in Back to the Future 2, the kid at the Wild Gunman machine in the Cafe 80's, is some future descendant of the AVGN?
Back to top
View user's profile Send private message
Ravenshade




Joined: 03 Apr 2010
Posts: 50

PostPosted: Mon Apr 12, 2010 5:06 am    Post subject: Reply with quote

Actually, I'd probably ask for text boxes to be removed from Custom. They're so difficult to use, writing them into the script itself would be more than enough and would prevent confusion. (I'm still trying to work out what I'm exactly supposed to do).

Only thing I'd recommend is the ability to tie scripts to particular objects. (No doubt that can already be done however) Oookay...
_________________
Campaigning to change the name of OHRRPGCE to Orph anage, because it's just better and easier to pronounce!

Campaigning for Linux! Down with Win.exe!

PS. It's mean to replace words just because you don't like them ¬_¬ moderators...
Back to top
View user's profile Send private message
The Wobbler




Joined: 06 Feb 2003
Posts: 2221

PostPosted: Mon Apr 12, 2010 8:52 am    Post subject: Reply with quote

Note from Castle Paradox Administration:
This content has been removed by the user. Contact the original author and link them to this post if you wish to view the original content. Only the author can remove the tags hiding this content.
Back to top
View user's profile Send private message
Bob the Hamster
OHRRPGCE Developer




Joined: 22 Feb 2003
Posts: 2526
Location: Hamster Republic (Southern California Enclave)

PostPosted: Mon Apr 12, 2010 11:13 am    Post subject: Reply with quote

Yeah, removing text boxes would be craaaazy, but being able to create a textbox's text purely in scripting would be pretty slick. I think that will be pretty easy to implement once we have a real honest-to-goodness string data type.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Pepsi Ranger
Reality TV Host




Joined: 05 Feb 2003
Posts: 493
Location: South Florida

PostPosted: Mon Apr 12, 2010 4:37 pm    Post subject: Reply with quote

Quote:
Yeah, removing text boxes would be craaaazy, but being able to create a textbox's text purely in scripting would be pretty slick. I think that will be pretty easy to implement once we have a real honest-to-goodness string data type.


You mean we don't already have honest-to-goodness string data type? I think what we have is actually pretty stellar. I suppose the only problems with it are the inability to produce more than one 40-character line per string, and the inability to store the actual string as a variable (I don't suppose there's a way to convert letters into some kind of binary code that a variable would remember, and in turn convert it back when the information is called upon?). But having the flexibility to display words and symbols over a walkabout's head, to create ticker tape for text, and a number of other things makes it great. And I love that between that, regular textboxes, and slices, we can have several textboxes on display at once.

But maybe you have bigger plans?
_________________
Progress Report:

The Adventures of Powerstick Man: Extended Edition

Currently Updating: General sweep of the game world and dialogue boxes. Adding extended maps.

Tightfloss Maiden

Currently Updating: Chapter 2
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Bob the Hamster
OHRRPGCE Developer




Joined: 22 Feb 2003
Posts: 2526
Location: Hamster Republic (Southern California Enclave)

PostPosted: Mon Apr 12, 2010 6:36 pm    Post subject: Reply with quote

Being able to store a string in a variable or an "extra" slot is the most important part.

The limit of 40 letters in strings should already be gone, but there was a place in the documentation where it still said there was a limit even though there isn't.

Of course, the only way to make a string wrap over more than one line is to copy it into a text slice
Back to top
View user's profile Send private message Send e-mail Visit poster's website
J_Taylor
The Self-Proclaimed King of Ketchup




Joined: 02 Dec 2009
Posts: 188
Location: Western NY

PostPosted: Tue Apr 13, 2010 4:16 am    Post subject: Reply with quote

'nother few things...

how about more characters for items?

or more than 16 colors for hero palette?
_________________
Elemental: .75%
Heart of Darkness: 0% (crash)
The Mansion: .05%
Shattered Alliance: .05%

See a pattern forming? I do, dammit.
Back to top
View user's profile Send private message Visit poster's website Yahoo Messenger MSN Messenger
Bagne
ALL YOUR NUDIBRANCH ARE BELONG TO GASTROPODA




Joined: 19 Feb 2003
Posts: 518
Location: Halifax

PostPosted: Tue Apr 13, 2010 7:40 am    Post subject: Reply with quote

The Mad Cacti wrote:

Let me put you out of your misery.

Code:

define constant (31, temp string)

# show a string of numbers at bottom left of screen
script, show values, n1, n2 = -267690253, n3 = -267690253, n4 = -267690253, n5 = -267690253, n6 = -267690253, n7 = -267690253, begin
  clear string (temp string)
  append number (temp string, n1)
  if (n2 == -267690253) then (exit script)
  append ascii (temp string, 32)
  append number (temp string, n2)
  if (n3 == -267690253) then (exit script)
  append ascii (temp string, 32)
  append number (temp string, n3)
  if (n4 == -267690253) then (exit script)
  append ascii (temp string, 32)
  append number (temp string, n4)
  if (n5 == -267690253) then (exit script)
  append ascii (temp string, 32)
  append number (temp string, n5)
  if (n6 == -267690253) then (exit script)
  append ascii (temp string, 32)
  append number (temp string, n6)
  if (n7 == -267690253) then (exit script)
  append ascii (temp string, 32)
  append number (temp string, n7)
  show string (temp string)
  clear string (temp string)
end


Thank you for your concerns about my misery ... but s'not working :-(
I'm not familiar with optional arguments ...
I just do this,
show values (x1,x2,x3)
and the omitted arguments are ignored, right?
_________________
Working on rain and cloud formation
Back to top
View user's profile Send private message
Bob the Hamster
OHRRPGCE Developer




Joined: 22 Feb 2003
Posts: 2526
Location: Hamster Republic (Southern California Enclave)

PostPosted: Tue Apr 13, 2010 7:58 am    Post subject: Reply with quote

Here is a modified version of the script that should work better. The original version was exiting early unless you included all 7 arguments

Code:

define constant (31, temp string)

# show a string of numbers at bottom left of screen
script, show values, n1, n2 = -267690253, n3 = -267690253, n4 = -267690253, n5 = -267690253, n6 = -267690253, n7 = -267690253, begin
  clear string (temp string)
  while(true) do( # This while loop is only used to allow breaking
    append number (temp string, n1)
    if (n2 == -267690253) then (break)
    append ascii (temp string, 32)
    append number (temp string, n2)
    if (n3 == -267690253) then (break)
    append ascii (temp string, 32)
    append number (temp string, n3)
    if (n4 == -267690253) then (break)
    append ascii (temp string, 32)
    append number (temp string, n4)
    if (n5 == -267690253) then (break)
    append ascii (temp string, 32)
    append number (temp string, n5)
    if (n6 == -267690253) then (break)
    append ascii (temp string, 32)
    append number (temp string, n6)
    if (n7 == -267690253) then (break)
    append ascii (temp string, 32)
    append number (temp string, n7)
    break # always break out of the while loop
  )
  show string (temp string)
  clear string (temp string)
end
Back to top
View user's profile Send private message Send e-mail Visit poster's website
TMC
On the Verge of Insanity




Joined: 05 Apr 2003
Posts: 3240
Location: Matakana

PostPosted: Tue Apr 13, 2010 9:48 am    Post subject: Reply with quote

Whoops. Originally the script set 7 different strings displayed on screen, and I modified it without testing. Should have said so, but I was overconfident ;)

J_Taylor wrote:
'nother few things...

how about more characters for items?

or more than 16 colors for hero palette?


I've always found the item length limit annoying, but there's no room on screen in the items menus for longer names. Would need to switch to two columns or something much more drastic.

There's a plan for 256 colour sprites. It's really ambitious (the idea I mean, the plan page on the wiki doesn't say much), don't expect anything anytime soon.

Quote:
You mean we don't already have honest-to-goodness string data type?


Real strings will make a huge difference. You'll be able to pass strings to scripts and manipulate strings easily, and we will be able to add a command to create a brand new textbox in a single line, something like:

Code:
new textbox("The toll is $50 but you only have $" & party money)
wait for textbox


Where the imaginary & operator can turn a number into a string and join it to other strings.
_________________
"It is so great it is insanely great."
Back to top
View user's profile Send private message Send e-mail
Bob the Hamster
OHRRPGCE Developer




Joined: 22 Feb 2003
Posts: 2526
Location: Hamster Republic (Southern California Enclave)

PostPosted: Tue Apr 13, 2010 10:05 am    Post subject: Reply with quote

Eventually I am going to re-write the items menu to be based on a slice collection. The area where the columns of item names appears will be a gridslice. The number of columns will be customizable. Then it will become possible to increase the name length limit for people who are willing to let their items lay out in just 2 or 1 columns.

And also the ITM lump format will need to be updated to allow longer names.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    Castle Paradox Forum Index -> The Arcade All times are GMT - 8 Hours
Goto page Previous  1, 2, 3 ... 5, 6, 7 ... 9, 10, 11  Next
Page 6 of 11

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group