March 11th, 2008
One of my uncles (Victor) has prostate cancer; I was never really that close to him but have known him since I was young and we visited him about once a year or so. My mother tells me they are going to do chemotherapy on him pretty soon (which she and I are both against, we think he should do megadoses of vitamin D and a fever-machine and such first...).
Latest SD development news:
A) Getting text to wrap correctly if it appears letter by letter is surprisingly complicated; I must have reinvented the wheel three times in different games just to achieve something that is taken for granted in every SNES RPG. Here is my current way of doing it, which seems to work okay:
repeat(9)
if (string_width(scrollstring) > scrollwidth)
{
scrollcount = 0;
while (string_width(string_copy(scrollstring, 0, scrollcount)) <= scrollwidth) and (scrollcount < 10000)
scrollcount += 1;
while (string_char_at(scrollstring, scrollcount) != ' ') and (scrollcount > 0)
scrollcount -= 1;
scrollstring = string_insert("#", scrollstring, scrollcount);
scrollstring = string_delete(scrollstring, scrollcount + 1, 1);
}
In other words if a line of text is longer than the width, I go through all the letters, find the point at which it exceeds that width, save that point, then proceed backwards until I find the last empty space character, and insert a new line character at that point, and then delete that space character. I'm sure there are better ways to do it, but this seems to work fine.
B) I created a script that would detect when the player is "stuck" inside a creature or wall or something, and warp the player out. It will hopefully only really be necessary in rare instances because getting stuck was fairly rare, but it did happen occasionally and it's nice to know that the player won't just get stuck inside a wall and have no way to get out (which actually happened in several NES and SNES games occasionally -- Secret of Mana is one notable example, and even Super Mario Bros. has a method of sliding the player forward when he gets stuck inside something). Optimally of course collision detection would be good enough that you never get stuck inside things, but I'm not that good, so I have to use cheats like this.
C) This is going to be the first thing the player sees when starting the game up. No title screen, no PRESS START!!, just a welcome message, a la Shining in the Darkness for the Genesis. Later I'll put a portrait or one of Harlock's manga drawings of the person speaking in the top center. Eventually the person who greets you will vary depending on who you talk to the most in the game. I know it's risky to have no real title screen, but I think it may make it feel less like a game to do that. And yes I know "data file" makes it sound like a game, but that wording can always be changed later.

D) The people working on this game -- me, wynand, harlockhero, komera, orchard-l, longetech -- are going to start having periodic meetings to keep up to date on each other's progress or lack of progress. First is tomorrow. Orchard's in a different time zone (Indonesian) so he probably won't be able to attend most of them, but we'll vary the times so everyone will be able to attend at least a few of them.
A) Getting text to wrap correctly if it appears letter by letter is surprisingly complicated; I must have reinvented the wheel three times in different games just to achieve something that is taken for granted in every SNES RPG. Here is my current way of doing it, which seems to work okay:
repeat(9)
if (string_width(scrollstring) > scrollwidth)
{
scrollcount = 0;
while (string_width(string_copy(scrollstring, 0, scrollcount)) <= scrollwidth) and (scrollcount < 10000)
scrollcount += 1;
while (string_char_at(scrollstring, scrollcount) != ' ') and (scrollcount > 0)
scrollcount -= 1;
scrollstring = string_insert("#", scrollstring, scrollcount);
scrollstring = string_delete(scrollstring, scrollcount + 1, 1);
}
In other words if a line of text is longer than the width, I go through all the letters, find the point at which it exceeds that width, save that point, then proceed backwards until I find the last empty space character, and insert a new line character at that point, and then delete that space character. I'm sure there are better ways to do it, but this seems to work fine.
B) I created a script that would detect when the player is "stuck" inside a creature or wall or something, and warp the player out. It will hopefully only really be necessary in rare instances because getting stuck was fairly rare, but it did happen occasionally and it's nice to know that the player won't just get stuck inside a wall and have no way to get out (which actually happened in several NES and SNES games occasionally -- Secret of Mana is one notable example, and even Super Mario Bros. has a method of sliding the player forward when he gets stuck inside something). Optimally of course collision detection would be good enough that you never get stuck inside things, but I'm not that good, so I have to use cheats like this.
C) This is going to be the first thing the player sees when starting the game up. No title screen, no PRESS START!!, just a welcome message, a la Shining in the Darkness for the Genesis. Later I'll put a portrait or one of Harlock's manga drawings of the person speaking in the top center. Eventually the person who greets you will vary depending on who you talk to the most in the game. I know it's risky to have no real title screen, but I think it may make it feel less like a game to do that. And yes I know "data file" makes it sound like a game, but that wording can always be changed later.
D) The people working on this game -- me, wynand, harlockhero, komera, orchard-l, longetech -- are going to start having periodic meetings to keep up to date on each other's progress or lack of progress. First is tomorrow. Orchard's in a different time zone (Indonesian) so he probably won't be able to attend most of them, but we'll vary the times so everyone will be able to attend at least a few of them.
This is part one, there are more parts. I remember most of these!
