Jump to content


Blades of Geneforge - How it could be done

Blades of Geneforge Geneforge Nethergate Blades of Nethergate

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

Hand of Avadon

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

Posted 30 September 2013 - 04:09 AM #71 Blades of Geneforge - How it could be done

Template stuff can be checked versus known graphics in the G5 folders.
Six of the templates use the TGA format, that will need to be converted before it can be viewed as thumbnails.
I uploaded a quick list of the templates and their names.

Edit:
Tridash seems to be correct about the Template numbering. I checked the numbers for templates and graphics, there were no exceptions.
I have attempted a set of names for the templates. This is not always easy, some templates are shapeless grab-bags without rhyme or reason.

Edited by Ishad Nha, 30 September 2013 - 08:07 PM.


Ishad Nha Ishad Nha

Hand of Avadon

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

Posted 01 October 2013 - 01:03 AM #72 Blades of Geneforge - How it could be done

A text editor and a hex editor can make this quite easy. Now I have a list like this:

0 1,000 Floorset: Grass; Water
1 1,010 Missiles1
2 1,020 Missiles2
11 1,110 Fyora
(a whole lot of lines have been deleted here...)
209 3,090 Extra Big Floors
240 3,400 Rain
241 3,410 Snow
242 3,420 More Projectiles

I would like to get it into a format suitable for the BG Wiki:
{|
|0||1,000||Floorset: Grass, Water
|-
|1||1,010||Missiles1
|-
|2||1,020||Missiles2
|-
|11||1,110||Fyora
|-

(a whole lot of lines have been deleted here...)

|-
|209||3,090||Extra Big Floors
|-
|240||3,400||Rain
|-
|241||3,410||Snow
|-
|242||3,420||More Projectiles
|}

First, save the list into a file.
Second, open the file in a hex editor. Comparing the text file with its hex translation we see that tab stops equate to "09" when the file is viewed in the hex editor.
Third, change all tab stops to ||.

Now we want odd lines to start with a | and even lines to start with a |-
Again, comparing the text with the hex, we see that paragraph marks equate to "0D0A". Here I will show all such marks as "\n":

We have:
0   ||   1,000   ||   Floorset: Grass; Water\n
1   ||   1,010   ||   Missiles1\n
2   ||   1,020   ||   Missiles2\n

We want:
|0||1,000||Floorset: Grass, Water\n
|-\n
|1||1,010||Missiles1\n
|-\n
|2||1,020||Missiles2\n

Solution:
Change an existing "\n" to "\n|-\n|".

Save it in the hex editor. File should automatically reload in the text editor. Then, in the latter editor, add the {| and|}.

Edited by Ishad Nha, 01 October 2013 - 01:04 AM.


Little Fyora Little Fyora

Soldier

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

Posted 01 October 2013 - 06:47 AM #73 Blades of Geneforge - How it could be done

Interesting Titbit : When tinkering around with the Geneforge RAM I found that adding 12661220 (Dec) to the file address gives us the corresponding RAM address.
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 01 October 2013 - 04:31 PM #74 Blades of Geneforge - How it could be done

One thing I don't know is where the intro graphics, G170.bmp through G173.bmp, are being called from. Titbit might help.

Edit:
This is the latest guess about how the templates relate to the wallsets listed in the town records:
0 20 1,200 Wallset: Stone
1 24 1,240 Wallset: Light Smooth
2 22 1,220 Wallset: Stone
3 23 1,230 Wallset: Gray Stone
4 21 1,210 Wallset: Wood
5 44 1,440 Wallset: Worn Walls
6 52 1,520 Wallset: Rough Stone
7 62 1,620 Wallset: Big Stone
8 63 1,630 Wallset: Big Old Stone
9 64 1,640 Wallset: Ice Stone
10 65 1,650 Wallset: Rubble Stone
(11 Crasho, floor type madness!)
I tried one value at a time and thus could see what wallsets are produced by what numbers.
Why the numbers 0 thru 10 are assigned escapes me. In BoA you just use the straight graphics sheet numbers. Then it is not currently clear to me why one sheet is "0" and not "2".

Edited by Ishad Nha, 03 October 2013 - 01:29 AM.


Ishad Nha Ishad Nha

Hand of Avadon

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

Posted 03 October 2013 - 01:35 AM #75 Blades of Geneforge - How it could be done

Today I had a stab at decrypting the number assigned to each wallset:
0 1,000 Floorset: Grass; Water 0 TGA
36 1,360 Floorset: Grass; Water 1 TGA
38 1,380 Floorset: Cave 2 TGA
42 1,420 Floorset: Mountains 3 TGA
53 1,530 Floorset: Gully 4 TGA
55 1,550 Floorset: Outdoor Snow 5 TGA
25 1,250 Floorset: Grass; Stone 6
37 1,370 Floorset: Orange Wood 7
39 1,390 Floorset: Cave 8
43 1,430 Floorset: Mountains 9
54 1,540 Floorset: Gully 10
56 1,560 Floorset: Outdoor Snow 11
200 3,000 Floorset: Big 1 12
201 3,010 Floorset: Big 2 13
202 3,020 Floorset: Big 3 14
203 3,030 Floorset: Big 4 15
204 3,040 Floorset: Big 5 16
205 3,050 Floorset: Big 6 17
12:17 are unverified, may be indoors only
Columns show: the template number, the graphics sheet number, the unofficial name, the number that represents this floor set in the town record and whether it is a TGA graphic.
I don't know how many floor sets each town can have.
Strange, some terrain types like trees varied with the floor type. Changing the floorset also changed certain terrain types.

Upon Mars. Upon Mars.

Tinkermage

  • Member
    • Member ID: 4,796
  • 812 posts

Posted 04 October 2013 - 01:31 PM #76 Blades of Geneforge - How it could be done

Fantastic work guys! If you want I can even make images for the prologue and endings like Andrew Hunter did once, that is when you've finished cracking this hard nut and start thinking storywise! Keep it up, you're going to make it through!
Documentaries: -Rod Serling on censorship -One pair of eyes BBC documentary -Philosopher Philippe Muray on today's unfreedom in the west.

Other links: -A geneforge walkthrough in Japanese. -War of the worlds. Fan-fic @: http://geneforgeremaker.webs.com/

Ishad Nha Ishad Nha

Hand of Avadon

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

Posted 04 October 2013 - 06:46 PM #77 Blades of Geneforge - How it could be done

I can't access the Wiki with Javascript enabled, with it disabled I can't save a page!?

Offers of art are welcome. It will probably be some time before the ScenData.dat file is properly understood. Then we will need to find someone who can program better than I can.

sylae sylae

Wisebottom

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

Posted 04 October 2013 - 07:49 PM #78 Blades of Geneforge - How it could be done

try it now ishad, the database got a little pissy and locked a table, preventing proper wiki function. in other news i need to get innodb back again :p



Ishad Nha Ishad Nha

Hand of Avadon

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

Posted 05 October 2013 - 01:18 AM #79 Blades of Geneforge - How it could be done

In the Wiki I posted a table listing the 24 Byte wall/floor record for each of the 82 towns: offsets 48,904 through 48,927.
(Assuming it is all walls and floors, which may not be the case at all for all I know.) It is listed on the main page as "Today's Mystery".
I have not played the game through so I don't know a lot about the various towns.

tridash tridash

Calculated.

  • Member
    • Member ID: 2,261
  • 299 posts
  • Locationuk

Posted 06 October 2013 - 06:07 AM #80 Blades of Geneforge - How it could be done

Floors correspond to the numbers in scendata like this (I think, going from the executable)

Floor number / Templates
0 / 0, 25, 100
1 / 36, 37, 101
2 / 38, 39, 102
3 / 42, 43, 103
4 / 53, 54, 104
5 / 55, 56, 105

Ishad Nha Ishad Nha

Hand of Avadon

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

Posted 07 October 2013 - 03:29 AM #81 Blades of Geneforge - How it could be done

We will need a proper programmer at some point fairly soon.
I am currently attempting a Blades of Nethergate Editor, which is the simplest possible Blades of Spiderweb project. Even on the simplest project my programming skills are not up to the job when it comes to the file initialization.
At this forum we do have proper programmers, they are always trying to do a cross-platform version of BoE or the BoA 3D Editor, (and never finishing it).

sylae sylae

Wisebottom

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

Posted 07 October 2013 - 06:22 AM #82 Blades of Geneforge - How it could be done

View PostIshad Nha, on 07 October 2013 - 03:29 AM, said:

they are always trying to do a cross-platform version of BoE or the BoA 3D Editor, (and never finishing it).
thats a sure way to get their help ishad

anyway i would recommend looking at existing source code, iirc nethergate is based off BoE so the CBoE code might be a good starting point?

Arancaytar Arancaytar

Archivist

  • Global Moderator
    • Member ID: 2,001
  • 10,474 posts
  • LocationThe Empire of Ermarian

Posted 07 October 2013 - 09:38 AM #83 Blades of Geneforge - How it could be done

Quote

simplest possible Blades of Spiderweb project

About that.

Let's assume that your end goal is a reasonably usable Total Conversion maker from scratch: Something with a learning curve like Blades, but that you can use without knowing the word "hexadecimal". Not necessarily WYSIWYG but still with a graphical interface. And you want the source to be in a state where anyone can join in or take over, otherwise there's no point.

That is a huge project regardless of what game you want to do it to. Examining the binary game data is the smallest aspect, while the vast majority is simple generic software design: Data structures, modules, design patterns, UI, documentation, testing. The parts you notice the least in the end product are some of the hardest.

Ishad Nha Ishad Nha

Hand of Avadon

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

Posted 07 October 2013 - 11:33 PM #84 Blades of Geneforge - How it could be done

"They are always trying to do a cross-platform version of BoE or the BoA 3D Editor, (and never finishing it).
thats a sure way to get their help ishad"
(But it sure is the naked truth!)

"anyway i would recommend looking at existing source code, iirc nethergate is based off BoE so the CBoE code might be a good starting point?"
That sounds like a simpler code to copy, I intend that the Editor would be in the same folder as the game program.

I will be staying with the BoA code, it far exceeds what I could do by myself.

tridash tridash

Calculated.

  • Member
    • Member ID: 2,261
  • 299 posts
  • Locationuk

Posted 08 October 2013 - 02:10 AM #85 Blades of Geneforge - How it could be done

I'm not sure if it's worth spending the time on a proper BoG editor if nobody is going to use it, though.

Ishad Nha Ishad Nha

Hand of Avadon

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

Posted 08 October 2013 - 07:13 PM #86 Blades of Geneforge - How it could be done

Once it is finished it may create demand for G5 scenarios. I am only wasting my own time not Jeff's...    It also gives me feelings of programming grandeur.

Little Fyora Little Fyora

Soldier

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

Posted 12 October 2013 - 09:12 PM #87 Blades of Geneforge - How it could be done

Playing scenarios which are based on the original story or even storyline-extensions would be fun. The ability of the characters to shape is of course a major aspect which shouldn't be ignored.
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 12 October 2013 - 10:06 PM #88 Blades of Geneforge - How it could be done

Just got back to where I was a week ago with the Neth Editor.
There is a lot of work involved in just removing extraneous BoA-only stuff from the source code. N:R is much closer to BoA than ever G5 is.
I compiled a list of the BoA calls and a list of the G5, the lists only agree only about half of the time. Mercifully, to get an Editor going I only need to grasp the cr,fl,tr,it,ob calls not all the others.

sylae sylae

Wisebottom

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

Posted 06 January 2016 - 01:07 PM #89 Blades of Geneforge - How it could be done

(Sorry for the resurrection)

The Blades of Geneforge wiki (linked in this topic (and elsewhere)) will no longer exist by February of this year.

An XML dump for people wishing to start up a successor wiki is available here: https://c312441.ssl....60106210122.xml (you can also generate this file yourself using Special:Export if you so desire, the site will most likely remain up for a few more days).

Edited by sylae, 06 January 2016 - 01:09 PM.
if you have questions about the implimentation of a new wiki, i would be more than happy to share further coniguration details.


Celtic Minstrel Celtic Minstrel

Eye of Avadon

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

Posted 06 January 2016 - 02:17 PM #90 Blades of Geneforge - How it could be done

If it's low-traffic, I could host it on my site.
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

sylae sylae

Wisebottom

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

Posted 06 January 2016 - 10:48 PM #91 Blades of Geneforge - How it could be done

It's pretty much the definition of low-traffic :p

If you do decide to host it, holla and I'll put up a 301 script at the old URL so old links get forwarded to your server.

BMA BMA

Sorcerer

  • Member
    • Member ID: 5,939
  • 663 posts

Posted 07 January 2016 - 06:18 AM #92 Blades of Geneforge - How it could be done

I've been wanting to make a zone-editor using the floor/terrain/character bytes info on the BoG Wiki for a while now (using C#/WPF and SDL 2) but have been putting it off as usual.

The number of zones are hard-coded at the beginning of the scenData file. So if we were to create a completely new zone (say a basement, since that would probably be easiest), and add the new bytes to the file, what else then would have to be changed, what info should be added to the header (if at all, like Ishad Nha was saying) or would it simply suffice to create an entry point (ladder or steps) from inside an existing zone which points to the zone-number of the custom zone ? I'll be fiddling around with the bytes to find out how, and I'll post here if I do.

Ishad Nha Ishad Nha

Hand of Avadon

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

Posted 07 January 2016 - 11:39 PM #93 Blades of Geneforge - How it could be done

Zone editor, Little Fyora made one a while back.
http://spiderwebforu...zone-simulator/
I came to the conclusion that the GF5 floor/terrain format was more complex than in BoA, a tree could vary according to the nearby floor types...
ScenData file was decoded by me, see the Wiki for details.

Edited by Ishad Nha, 07 January 2016 - 11:45 PM.


BMA BMA

Sorcerer

  • Member
    • Member ID: 5,939
  • 663 posts

Posted 08 January 2016 - 12:51 AM #94 Blades of Geneforge - How it could be done

Yeah I know, I had been following the byte-deciphering here from the start. I've saved copies of the BoG wiki's web pages jic, but it would be nice if it can be hosted online. I've wanted to make a zone-maker, kind of like LF's Zone Simulator but which can create new zones from scratch (or say from a template) instead of just editing them.

Ishad Nha (25 July 2014) said:

It should be offset 106, but I have never attempted to add additional towns myself...
Then you might want to give a new town its own record in the header of the scenario data file.

@Ishad If we were to create a new zone, do you think it would be enough to change offset 106 (number of towns) from 82 to 83 and then add 52088 bytes of new zone data after the last zone, and then add it's own 'town location record' (20 bytes) into the header ? Oh yeah and there's the entrance into the new zone from an existing one. Whew, that does sound a lot. But if we could manually create a zone by moving and adding bytes around on a hex-editor, then making a program out of it shouldn't be too hard.

Ishad Nha Ishad Nha

Hand of Avadon

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

Posted 08 January 2016 - 06:04 AM #95 Blades of Geneforge - How it could be done

I simply have no idea if it will be enough, go ahead and try it, see what happens! It will probably work or crash the game, so back up your ScenData file.





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

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users