Beta testers needed (no longer)!

1.0 is finished

Hey guys,

I posted in the topic titled "Any chance for custom graphics?" that I was thinking about writing an applescript to make using custom graphics easier. Well, now I've gone and done it!

It works fine on my machine, and I'm not aware of any bugs, but AppleScript has been known to behave differently across OS versions. So, I want to post a beta and get feedback before I submit it to the Add-Ons repository.

EDIT: Beta testing is now complete. Thanks everyone! I've removed all the beta downloads, and submitted version 1.0 to the add-ons repository.

The Custom Graphics Demo is a very short boss quest that uses custom sprites. It is nothing more than a proof of concept and example for developers who wish to use the ASK. If you download this looking for a fun level to play, you'll be disappointed. Sorry, but my focus was on making a tool to help developers, not on making a great level.

Anyway, I greatly appreciate any feedback anyone would care to give me.

Questions for testers:

  • Did the Custom Graphics Demo work on your machine?

  • Did you get any error messages from the program? If so, please copy and paste them to this thread, along with your machine and OS version.

  • Did you notice any slowdown from the script waiting in the background? It polls every five seconds to see if SketchFighter is still running; I didn't notice any slowdown from this on my 1ghz PowerBook, but YMMV.

  • Is there anything you would change about how the script works?

  • Can you think of a better name than "Asset Switch Kit"? 8O)

This post has been edited by cheleball : 19 January 2007 - 11:59 PM

Results of the test:

  • When I first ran it, it launched, then quite immediately. However, this is due to my probably-corrupt 10.4 install rather than any fault of the script- "select file" dialogs consistently cause the program that uses them to crash. It launched perfectly well after I hard-coded in the path to SketchFighter.

  • No error messages (there never are...).

  • I did not notice any slowdowns on my 1.33GHz iBook with 1.25GB of RAM. There was a perpetual spinning cursor (not beachball) when SketchFighter first launched, but everything responded as if there was nothing wrong.

  • Would it be possible to allow it to add files to the game without having to replace an existing file?

  • Sorry, I'm quite bad at coming up with names.

  • Be very glad this is just a proof-of-concept level, or I'd have you up in front of a firing squad for some of the flaws in your level. 🙂 There's at least one point near the beginning where you put in the walls backwards, so that bumping into them kicks you out of the level rather than keeping you in. This is a good lesson for aspiring SF graphic artists: Make sure that you can tell which way is up or forward in your graphics- it does make a difference!

  • Other than that, I do like the graphics! I'd love to see a larger level in that style.

Edwards

This post has been edited by Edwards : 07 January 2007 - 01:32 AM

  1. No.

"Could not run the script 'applet'
because of a program error.

-1360"

Running 10.2.8 ( i know, i know...) on a 500MHz iBook G3 (Dual USB) With 256 MB of RAM.

  1. "Custom Graphics Enabler?"

Will try on Intel Core Solo Mini. Tomorrow. Sounds really neat, though!

This post has been edited by PiSketch : 07 January 2007 - 02:09 AM

@Edwards:
1. I'm glad you knew what was causing it, because I would have been stumped. :unsure:

3. Do you run SF in windowed mode? The beachball is coming from the still-running script, which remains in the foreground because I neglected to tell SF to activate after launching. When in fullscreen mode it should activate itself automatically.

4. Maybe, but the author would have to hack one of the data files to do it. If it could be done, then it would allow a simple installer script instead of this switching construct. However, I've not figured out the format (my hex-fu is weak), and you can do a lot with the constraints imposed by replacing the built-in sprites.

6. Three, actually. The problem mostly stems from the braid endcap sprite, since it can't be rotated so that the proper face is always inward. When I designed the graphics, I'd never made a sketchmap before, so the directionality of walls came as a nasty surprise. To fix this (without changing the sprite) I'd have to ensure that no endcaps are ever inside the play area, and for this little demo I'm not sure it's worth it.

There's another problem that has me stumped. The angled walls near the shield recharger act like conveyor belts; when the player bumps them, they grab the ship and propel it towards the ceiling. What the heck would cause that?

7. Thanks! I always used to doodle those braids back in the day, so I thought it appropriate.

@PiSketch:
3. Hmm...I'm not 100% sure, but I don't think Script Bundles were added to AppleScript until 10.3. They may even be Tiger only. I didn't think of that when I used them.

Still, it really is the best format. It'd be awesome if there were a way to make it work. What formats are available in the 10.2 Script Editor save box?

5. Perhaps. I insist on the word "Assets", though, because the script is not limited to switching just graphics. You could, for example, use this to replace the switch sound with the Zelda jingle as others have wanted to do. 😛

Thanks for the feedback so far!

1. Yes.
2. No.
3. No.

Everything ran fine on a 400mhz G4 with OS 10.3.9. I found it painfully easy to get out of bounds though. Those zig-zag walls need some work.

1. No, I didn't find a new level in my "Custom Levels" folder, though it always (I tried it with two times re-downloading three times) auto-chose the 1.0.1b2 version of Sketchfighter, although I clicked at the 1.0.0 application. Additionally I didn't get any sound when I start Sketchfighter, only after visiting the "Custom Levels" folder and clicking "Back" until I was again at the main menu

2. I think that I got no error messages, the programme didn't crash and although there's a lot in the console I don't think that it's important

3. SketchFighter seemed to slow a bit down

4. /

5. Neo Sketchtopia Creating Programme (NSCP) 🙂

My system information:

PowerPC G4 Dual 450 MHz, Mac OSX 10.4.7, ATI Radeon 9000 Pro

@freq245, on Jan 7 2007, 10:18 AM, said in Beta testers needed (no longer)!:

1. No, I didn't find a new level in my "Custom Levels" folder, though it always (I tried it with two times re-downloading three times) auto-chose the 1.0.1b2 version of Sketchfighter, although I clicked at the 1.0.0 application.

I think I know what's happening. The script stores the SketchFighter you chose and uses that to switch assets. It then says, 'tell application "SketchFighter 4000 Alpha" to launch' in order to start SketchFighter. In my experience, when you target an application name like I have instead of specifying an exact file, it resolves to the most recent version present on the system. I'll fix it so it refers to the specific application file you chose.

Quote

Additionally I didn't get any sound when I start Sketchfighter, only after visiting the "Custom Levels" folder and clicking "Back" until I was again at the main menu

That's just odd... :unsure:

Works fine on my eMac...and how CAN you make the custum graphics?
(EDIT) I trashed it because it replaces the wasteland wall pieces, afecting all the game...

This post has been edited by FireFalcon : 07 January 2007 - 02:39 PM

@cheleball, on Jan 7 2007, 02:06 AM, said in Beta testers needed (no longer)!:

3. Do you run SF in windowed mode? The beachball is coming from the still-running script, which remains in the foreground because I neglected to tell SF to activate after launching.

Yes, I do run SF in windowed mode. That would explain it.

@cheleball, on Jan 7 2007, 02:06 AM, said in Beta testers needed (no longer)!:

6. Three, actually. The problem mostly stems from the braid endcap sprite, since it can't be rotated so that the proper face is always inward.

What I was referring to was the wall to the right of the first moving thing. The endcaps are merely a nuisance- that wall allows a 14-second speed-run (about 7 seconds faster than going the proper way!).

@cheleball, on Jan 7 2007, 02:06 AM, said in Beta testers needed (no longer)!:

There's another problem that has me stumped. The angled walls near the shield recharger act like conveyor belts; when the player bumps them, they grab the ship and propel it towards the ceiling. What the heck would cause that?

That's apparently how the game handles collisions with the "Crosshatch Coarse Long 1" sprite. It appears that it has the same collision-handling as a normal wall, only because the sprite is wide, not tall, the only truly solid patch is on one end, not along the side.

@FireFalcon: That is a nearly-inevitable side-effect of this sort of asset-replacement program. Due to how the game stores its data, you need to replace an existing graphic in order to add a new one. This particular script is set up to only replace the graphics for a single run of the game, and then restore the originals when you quit. If you quit the game and relaunched it without using the script, and the graphics did not return to normal, that is a bug that I'm sure cheleball will be interested in. Otherwise, he should simply add a warning when the script runs to the effect that "Levels that you already have installed, including the main quest, may not look or act correctly on this launch of the game. To restore them to their original condition, simply quit the game and relaunch it without using this script."

Edwards

This post has been edited by Edwards : 07 January 2007 - 03:20 PM

@edwards, on Jan 7 2007, 02:14 PM, said in Beta testers needed (no longer)!:

Yes, I do run SF in windowed mode. That would explain it.

What I was referring to was the wall to the right of the first moving thing. The endcaps are merely a nuisance- that wall allows a 14-second speed-run (about 7 seconds faster than going the proper way!).

That's apparently how the game handles collisions with the "Crosshatch Coarse Long 1" sprite. It appears that it has the same collision-handling as a normal wall, only because the sprite is wide, not tall, the only truly solid patch is on one end, not along the side.

@FireFalcon: That is a nearly-inevitable side-effect of this sort of asset-replacement program. Due to how the game stores its data, you need to replace an existing graphic in order to add a new one. This particular script is set up to only replace the graphics for a single run of the game, and then restore the originals when you quit. If you quit the game and relaunched it without using the script, and the graphics did not return to normal, that is a bug that I'm sure cheleball will be interested in. Otherwise, he should simply add a warning when the script runs to the effect that "Levels that you already have installed, including the main quest, may not look or act correctly on this launch of the game. To restore them to their original condition, simply quit the game and relaunch it without using this script."

Edwards

I had to re-install the game...
P.S. I did restart, but no afect...

This post has been edited by FireFalcon : 07 January 2007 - 04:01 PM

Worked fine on the Mini, No error messages or Notable slowdown.

Pi

@cheleball, on Jan 7 2007, 10:06 PM, said in Beta testers needed (no longer)!:

Hmm...I'm not 100% sure, but I don't think Script Bundles were added to AppleScript until 10.3. They may even be Tiger only. I didn't think of that when I used them.

Still, it really is the best format. It'd be awesome if there were a way to make it work. What formats are available in the 10.2 Script Editor save box?

Correct, Script Bundles only work on 10.3+. You could try just a normal Script Application though (the non-bundle type). I have a fair amount of experience with AppleScript so if you need help with anything just ask 🙂

This post has been edited by Guy : 07 January 2007 - 09:47 PM

EDIT: Beta testing is now complete. Thanks everyone! I've removed all the beta downloads, and submitted version 1.0 to the add-ons repository.

Thanks for all the great feedback, guys! I've made several changes based on it, and am now posting beta 2. Here's the changelog:

Beta 2 - 7 January 2007

  • Fixed a bug that would cause ASK to launch the wrong application if more than one version of SketchFighter is present on the machine

  • Now explicitly activates SketchFighter after launching, for those who play in windowed mode.

  • Now checks the validity of the stored alias to Sketchfighter and asks for it again if, for example, the game was upgraded.

  • Fixed a bug that caused ASK to quit early if the SketchFighter application had been renamed.

  • Added a warning on startup that informs the user that maps other than those distributed with the custom assets will not work correctly until the game has been quit.

  • Fixed several collision rectangle issues in the Custom Graphics Demo.

  • Upped the boss HP in the Demo to give it a fighting chance.

  • Removed the boss' side turrets since they move erratically when it rotates.

Please try it out and verify that it works better now. Thanks!

This post has been edited by cheleball : 20 January 2007 - 12:00 AM

@firefalcon, on Jan 7 2007, 02:00 PM, said in Beta testers needed (no longer)!:

I had to re-install the game...
P.S. I did restart, but no afect...

Interesting. That means that the script errored out before putting things back the way they were. Did it not give you an error message?

Could you please do me a favor? Download beta 2 and try it on a copy of SketchFighter. If it still doesn't work, we'll have to figure out why.

Guy said:

Correct, Script Bundles only work on 10.3+. You could try just a normal Script Application though (the non-bundle type). I have a fair amount of experience with AppleScript so if you need help with anything just ask

I think I'll end up making a separate version that uses a non-bundle application and an "Assets" folder to hold the stuff. I'll leave it up to developers whether they want to release two versions because bundles rock, or if they just want to release one that's compatible with everything.

And thanks for the offer. 🙂

Actually, how are you locating the assets? If you're using something like 'path to me' then I think that only works on 10.3+ as well, so supporting 10.2 could be complicated and messy.

@cheleball, on Jan 8 2007, 12:10 AM, said in Beta testers needed (no longer)!:

Thanks for all the great feedback, guys! I've made several changes based on it, and am now posting beta 2. Here's the changelog:

Beta 2 - 7 January 2007

  • Fixed a bug that would cause ASK to launch the wrong application if more than one version of SketchFighter is present on the machine

  • Now explicitly activates SketchFighter after launching, for those who play in windowed mode.

  • Now checks the validity of the stored alias to Sketchfighter and asks for it again if, for example, the game was upgraded.

  • Fixed a bug that caused ASK to quit early if the SketchFighter application had been renamed.

  • Added a warning on startup that informs the user that maps other than those distributed with the custom assets will not work correctly until the game has been quit.

  • Fixed several collision rectangle issues in the Custom Graphics Demo.

  • Upped the boss HP in the Demo to give it a fighting chance.

  • Removed the boss' side turrets since they move erratically when it rotates.

Please try it out and verify that it works better now. Thanks!

Argh!! Please try and fix my bug, it's VERY anoying.

@firefalcon, on Jan 8 2007, 06:40 AM, said in Beta testers needed (no longer)!:

Argh!! Please try and fix my bug, it's VERY anoying.

I need more information about it from you. What version of OS X are you using? What error messages did you get?

Since the script succeeded up until switching things back, I know about where the script is failing for you; I just don't know what that failure is.

Very interesting. For what I still consider a hack, it works pretty well and should be usable by the average SketchFighter user. A few things though (about beta2, I didn't even get beta1):
- people who know me from the EVDC know I'm a backwards compatibility nazi, in other words, if your stuff can't work on 10.2, then it's wrong. When this goes into production you shouldn't even offer two versions, only one, one that works on 10.2. Otherwise, would it be fair to prevent 10.2 user from getting half of these "levels that use improved assets"? In the same vein, they know that I don't like OSX's built-in zipping feature, which gives trouble to 10.2 users; at any rate apps should be distributed as disk images (dmgs).
- I don't really like how you make the user (the map designer) have to use the script bundle, not many people know about bundles to begin with; admittedly the assets being replaced are in the bundle of SketchFighter itself, but the less the user has to trifle with bundles (especially modify them), the better I think. It would be better to put the new assets in a folder along the app.
- BTW, this "Assets" folder is the equivalent of the "Resources" folder of the SketchFighter 4000 Alpha app, right? I can put a folder named "Sounds" and in it put a new "Upgrade.aif" sound, and it will work, right?
- the folder name of your distribution still contains b1...
- when I first launched it, I was asked (in French no less) whether I want run the script or quit
- it's strange that the script tells me that it replaced the stuff before the app is even located...
- you should leave a more transparent backup of the original files and/or provide a way to restore the original assets (for instance by checking at launch whether the backup folder is empty) in case your script is quit before finishing its job, like when a kernel panic or a power surge happens.

By the way, notice that while SketchFighter 4000 Alpha is running "under" this script, you can use the editor and it will show you the new sprites.

I won't comment on the proof-of-concept replacement and custom level itself (since it's a proof of concept) except for one thing: walls are indeed deeply asymetric, the side you supposed to bump into should be at the right in the Spritemap. So pay attention to this, would-be SketchFighter artists. Notice that as long as only Textures, Sounds and Music are replaced, the game doesn't change an inch, the game still behave the same, sprites still have the same collision rectangle, etc... My Hex-fu is very strong, and I can tell you that even if you could add new assets instead of replacing them, you'd still have to replace the master file that describes them, just moving the problem somewhere else.

EDIT: oh yeah, the 5 questions
1. Yes, it did work on my machine (10.4 MacBook)
2. No, I didn't get any particular error
3. I don't think you're going to get in trouble for polling every darn 5 seconds... That's more like delicate probing 🙂
4. Personally I wouldn't write something like this to begin with, I think it's already quite usable a hack as it is.
5. I dunno, but the acronym collides with AppleScript Kit, and that's as good a reason as any to change the name. 😉

@firefalcon, on Jan 7 2007, 07:34 PM, said in Beta testers needed (no longer)!:

Works fine on my eMac...and how CAN you make the custum graphics?

I could swear writing a FAQ about that...

This post has been edited by Zacha Pedro : 08 January 2007 - 02:15 PM

@cheleball, on Jan 8 2007, 10:16 AM, said in Beta testers needed (no longer)!:

I need more information about it from you. What version of OS X are you using? What error messages did you get?

Since the script succeeded up until switching things back, I know about where the script is failing for you; I just don't know what that failure is.

eMac, OS X 1.4.8. No messages, just replaced the wall pieces.

Two bugs I noticed (I was finally able to play with this):

-the boss is able to push you through the wall

-the star of the challenge in the "Custom Levels" directory is not greyd out after beating it

And my music returned, I wasn't entirely correct the last time, I still had "sound" (when I click at something, for example), but no "music" (the background music).