Jump to content


Blades of Spiderweb Games

Blades of Spiderweb Blades of Geneforge Blades of Nethergate AEFTP BoA

  • Please log in to reply
51 replies to this topic
Ishad Nha Ishad Nha

Hand of Avadon

  • Member
    • Member ID: 4,773
  • 2,366 posts

Posted 18 July 2014 - 06:48 PM #36 Blades of Spiderweb Games

ResHacker won't do it, you would need a decompiler I figure.

Celtic Minstrel Celtic Minstrel

Eye of Avadon

  • Global Moderator
    • Member ID: 5,296
  • 3,868 posts

Posted 18 July 2014 - 07:15 PM #37 Blades of Spiderweb Games

You'd need a decompiler only if the special nodes were coded in C(++). Which probably isn't very likely. It's possible they're hard-coded as struct values though, in which case they wouldn't be accessible as resources.
Exile 2 Book of Items (I didn't create it, I just converted it to HTML.)

"Man, I know how you feel. I once spent an hour playing WordPad before realising that it was a text editor." – Thuryl

"Dikiyoba just hopes no one ever blows up Saturn. Getting those rings back into their proper position would take hours."

"—Alorael, who spells phoenetically. No matter how much his orthography is a wreck, intelligibility rises from the ashes."

"I've never played a Spiderweb game. I didn't even know SW made games until I saw this thread." —Nikki

Little Fyora Little Fyora

Soldier

  • Member
    • Member ID: 9,192
  • 103 posts

Posted 26 July 2014 - 05:07 AM #38 Blades of Spiderweb Games

So for all you hobbyist/professional progammers out there, we have a problem.

I've been working on a program that creates a look-alike of a Geneforge game, and so far it simulates the floors and most walls quite well. The problem is, the entire coding relies on having all the floor/terrain/etc images as resources included within the executable, unlike the actual Geneforge 5.exe which dynamically loads all the *.png graphics from within the "Geneforge 5 files" folder.

The entire program is created with Game Maker (a game making engine which uses a C/C++ interpreted variant, and can load DLL's), and GM does have a function to load an external *.png image, but the problem is with transparency. When loading a *.png, it always considers (no workaround) the bottom-left pixel as the transparent pixel denoter for the whole image. No doubt the makers of GM did this instead of passing a colour's name as a parameter as they wanted to simplify things. Now for the game, White is obviously the colour that should be made transparent, but some of the Geneforge 5 graphics have a useless black line at the bottom. And all programs made with GM which load those images will check the bottom-left pixel, find it black, and happily go about making all the black pixels in the entire image transparent.

Is there a workaround for this ?

Edit : Btw I mentioned that all the images are included within the exe. I did this through the painful and redundant process of cutting up all the *.png graphics into new individual sprites within the program. A waste of effort, I'm sure you'll agree, and I'd like to hear your ideas/pointers regarding this.

Edited by Little Fyora, 26 July 2014 - 06:08 AM.

Everything is changeable, anything can be done. The universe exists to be understood.

Kennedy Kennedy

Monitor

  • Member
    • Member ID: 773
  • 225 posts

Posted 26 July 2014 - 07:43 PM #39 Blades of Spiderweb Games

View PostLittle Fyora, on 26 July 2014 - 05:07 AM, said:

But some of the Geneforge 5 graphics have a useless black line at the bottom. And all programs made with GM which load those images will check the bottom-left pixel, find it black, and happily go about making all the black pixels in the entire image transparent.

Is there a workaround for this ?

Perhaps you could repaint that line for all the graphics and make it white, though that could be a lot of work if it takes place in many graphics.

Ishad Nha Ishad Nha

Hand of Avadon

  • Member
    • Member ID: 4,773
  • 2,366 posts

Posted 26 July 2014 - 07:48 PM #40 Blades of Spiderweb Games

"The problem is, the entire coding relies on having all the floor/terrain/etc images as resources included within the executable"
This was true for both the Original Nethergate and Avernum 1, that is why you don't see floor/terrain graphics in their Data folders.

I know nothing about Game Maker so I will need to look into this.

Little Fyora Little Fyora

Soldier

  • Member
    • Member ID: 9,192
  • 103 posts

Posted 26 July 2014 - 08:58 PM #41 Blades of Spiderweb Games

View PostKennedy, on 26 July 2014 - 07:43 PM, said:

Perhaps you could repaint that line for all the graphics and make it white, though that could be a lot of work if it takes place in many graphics.

I did consider that, and painting that line white is as simple as using a fill-bucket tool, but doing that will only change the graphics on one system. Then we'll have to include all the customized graphics along with the Zone Simulator and ask the user to replace the original ones (which isn't so bad, but if there's an alternative it'd be nice).

Here's the problem :-

Posted Image

The black border would have been okay if they were all precise to the pixel for all of the images, but they're not and neither does GM allow custom-set transparency.

View PostIshad Nha, on 26 July 2014 - 07:48 PM, said:

This was true for both the Original Nethergate and Avernum 1, that is why you don't see floor/terrain graphics in their Data folders.

Interesting. That would have made modding the graphics more difficult while increasing the size of the *.exe.
Everything is changeable, anything can be done. The universe exists to be understood.

Ishad Nha Ishad Nha

Hand of Avadon

  • Member
    • Member ID: 4,773
  • 2,366 posts

Posted 27 July 2014 - 12:37 AM #42 Blades of Spiderweb Games

A2 program was about a third of the size of the A1 program.

There is no option for telling the program that your graphics have frames around them?

If Game Maker were a Sourceforge open-source program you might be able to edit the source code and then compile your own version of it.  You might find something on the Sourceforge site, a freeware game maker program that does not have this problem, but I don't know.

Edited by Ishad Nha, 27 July 2014 - 12:39 AM.


Little Fyora Little Fyora

Soldier

  • Member
    • Member ID: 9,192
  • 103 posts

Posted 27 July 2014 - 04:09 AM #43 Blades of Spiderweb Games

View PostIshad Nha, on 27 July 2014 - 12:37 AM, said:

There is no option for telling the program that your graphics have frames around them?

No it always takes the bottom-left pixel into account for transparency. As far as I have seen from their forums, there is nothing anybody can do about this.

GM's commercial and we don't have the source. Here's why one must never rely on game engines like these; creating the same thing in SFML or SDL with good old C/C++ would have taken a lot of time, but at least the programmer has complete control.

This is the function in GM's scripting language to load an image from a file :-

sprite_add(fname,imgnumb,removeback,smooth,xorig,yorig)

imgnumb : Number of sub-images in the file.
removeback : Here you set true to remove the background colour (which is the colour of the bottom-left pixel).
Everything is changeable, anything can be done. The universe exists to be understood.

Ishad Nha Ishad Nha

Hand of Avadon

  • Member
    • Member ID: 4,773
  • 2,366 posts

Posted 27 July 2014 - 04:37 AM #44 Blades of Spiderweb Games

Sourceforge might have some suitable programs...

sylae sylae

Wisebottom

  • Global Moderator
    • Member ID: 5,482
  • 3,321 posts
  • LocationToledo, Ohio, United States

Posted 27 July 2014 - 06:50 AM #45 Blades of Spiderweb Games

why dont you just crop the border out

Little Fyora Little Fyora

Soldier

  • Member
    • Member ID: 9,192
  • 103 posts

Posted 27 July 2014 - 07:06 AM #46 Blades of Spiderweb Games

View PostIshad Nha, on 27 July 2014 - 04:37 AM, said:

Sourceforge might have some suitable programs...

I saw a few open source engines but it'd be too much work to port it from GM to something else (and I shudder at the learning curve), so keeping that as the last alternative.

View Postsylae, on 27 July 2014 - 06:50 AM, said:

why dont you just crop the border out

Can whiten the border but having to tell the users to swap out their original images with the modified ones is totally uncool imo, though it may come to that.
Everything is changeable, anything can be done. The universe exists to be understood.

sylae sylae

Wisebottom

  • Global Moderator
    • Member ID: 5,482
  • 3,321 posts
  • LocationToledo, Ohio, United States

Posted 27 July 2014 - 07:35 AM #47 Blades of Spiderweb Games

Throw in an imagemagick binary and a batch script.

Hell, I doubt you'd need it, but gimp's script-fu is powerful as hell

Little Fyora Little Fyora

Soldier

  • Member
    • Member ID: 9,192
  • 103 posts

Posted 28 July 2014 - 09:34 PM #48 Blades of Spiderweb Games

Imagemagick looks great, thank you ! Checking it out right now.

Edited by Little Fyora, 29 July 2014 - 12:11 AM.

Everything is changeable, anything can be done. The universe exists to be understood.

Ishad Nha Ishad Nha

Hand of Avadon

  • Member
    • Member ID: 4,773
  • 2,366 posts

Posted 22 March 2015 - 08:03 PM #49 Blades of Spiderweb Games

Blades of AEFTP may or may not be even possible. Nearly all of the town and outdoor placed specials seem to be hard coded.
New AEFTP scenarios would need to be able to bypass the hard coding. I don't know if new or existing town/outdoor scripts can override the hard coded specials or not.
Edit:
Message dialogs are no problem, they are found in a text file. Ditto dialog.
Regular placed specials can't be overwritten. As their location in the Avernum program is currently unknown, you can't be sure how many states each town has.
Object scripts are one possibility, along with Init State and Start State of the town script.

Edited by Ishad Nha, 23 March 2015 - 04:27 AM.


Little Fyora Little Fyora

Soldier

  • Member
    • Member ID: 9,192
  • 103 posts

Posted 01 April 2015 - 08:55 PM #50 Blades of Spiderweb Games

I've to get back to adding a character editor to the zone simulator. Whew, making a Spiderweb game is fun, but it's no joke even when you have all the data and just need to make a front-end. I don't know how Jeff does it even though it is his job.

As always, I'd love to share the Game Maker source (as messy as it is right now) to anyone who's interested and can develop it further.
Everything is changeable, anything can be done. The universe exists to be understood.

Ishad Nha Ishad Nha

Hand of Avadon

  • Member
    • Member ID: 4,773
  • 2,366 posts

Posted 02 April 2015 - 12:27 AM #51 Blades of Spiderweb Games

He probably has a lot of high powered programs to do a lot of the work for him, at one point in the manual of a game, that I don't recall, he talked about a program called Code Warrior.

Celtic Minstrel Celtic Minstrel

Eye of Avadon

  • Global Moderator
    • Member ID: 5,296
  • 3,868 posts

Posted 02 April 2015 - 05:58 PM #52 Blades of Spiderweb Games

CodeWarrior was an IDE (integrated development environment) for the old Classic Macintosh computers. Nowadays Jeff would no longer be using CodeWarrior since (from what I can tell) the Mac version of it is discontinued. Most likely he now uses XCode, which also happens to be free (unlike CodeWarrior). In addition, it's possible that he has only really written an engine from scratch once (namely Exile: Escape from the Pit), with all games after that being incremental improvements on the original engine. (I don't know if that's true, but it's one way he might have reduced the amount of work required.)
Exile 2 Book of Items (I didn't create it, I just converted it to HTML.)

"Man, I know how you feel. I once spent an hour playing WordPad before realising that it was a text editor." – Thuryl

"Dikiyoba just hopes no one ever blows up Saturn. Getting those rings back into their proper position would take hours."

"—Alorael, who spells phoenetically. No matter how much his orthography is a wreck, intelligibility rises from the ashes."

"I've never played a Spiderweb game. I didn't even know SW made games until I saw this thread." —Nikki





Also tagged with one or more of these keywords: Blades of Spiderweb, Blades of Geneforge, Blades of Nethergate, AEFTP, BoA

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users