Search Results
Searched for posts by Serefan in all forums

Showing results 51 - 60 out of 66 total
Modify your search
Posted by Serefan, May 12, 2009 at 7:11 am
And today, I realised something else that's gone too... My Dwarf Fortresses! And my I Wanna Be The Guy progress! My life is in ruins! *sob*
Posted by Serefan, May 10, 2009 at 3:32 pm
I know. I was just cleaning all documents of my computer when some fucktard killed it.
Posted by Serefan, May 10, 2009 at 5:04 am
So uh... Yeah... I just got my laptop back, and the guys that repaired it fucked up the backup...

Bye bye all the ivanov progress, along with all my school files, and some personal files I couldn't miss...

Shit's pretty fucked up right here.
Posted by Serefan, Apr 19, 2009 at 6:32 am
Awwrite, will do!
Posted by Serefan, Apr 19, 2009 at 6:30 am
Mkay, seems like I'm gonna have a lot of work to do. :/ That last poll choice wasn't really serious you guys...

But whatever.

I'll continue the single player turn-based stuff first, and implement the multiplayer. Then I'll see what I can do for the realtime, I have the idea I'll only really have to change one class a lot for that.
Posted by Serefan, Apr 18, 2009 at 9:59 am
chaostrom wrote
You might try a chat system. Engraving as the only method of communication is going to be... Cumbersome.

Oh, but it wasn't meant to be a form of communication. It's just one of the easiest functions in the game, so I decided to implement it first.
Posted by Serefan, Apr 18, 2009 at 9:18 am
Since I'm currently actively working on this project again, and the programming is coming along even more smoothly than I could imagine, I was wondering if you guys want me to update my progress once in a while. It depends on wether you're interested in the progress I'm making, and the stuff I learn about the IVAN mechanics along the way.

Anyways, just so you know, this is what I have so far:

- When starting the game, my randomlevelgenerator generates a level, currently this is always the same level: a giant square room for testing and debugging.

- The game screen itself shows the entire level, made up of the same floor and wall tile all over. Materials are not being used as of yet. The player character is visible, always in the middle of the screen, with the map 'moving beneath his feet', personally I like this more (and it's easier to program ). The character is always the same picture, so I'm not using a combination of different bodyparts with the right colors and stuff as of yet.

- Possible actions are walking around with the arrow keys, the walls blocking your progress. Engraving squares on the level. Picking up items.

- As picking up items is a possible action, naturally items are available, and can be placed randomly on the level. For testing, only one item is used at the moment, with the only variable being that the item is of a certain type (i.e. a helmet).

- The bar showing the name of the player is fully functional.

- The message panel is fully functional too: basically, at the moment it shows a message when walking over an item, or an engraving.

- The ragdoll is visible, currently directly connected to the Endurance stat, because I don't have the right calculations for HP yet. Changing endurance changes the ragdoll.

- The basic stats are also visible (i.e. AStr, LStr, Dex, Agi, End, Per, Int, Wis, Cha, Siz).

I don't know if you guys know a lot about programming, but I can tell you this has already been a fair deal of work, and I'm quite happy with the results. At the moment, I'm thinking about what to add next.
Posted by Serefan, Apr 18, 2009 at 5:16 am
Read first!

As everyone knows, I'm still working on my project for mp Ivan. But something has troubled me the last few days, and I'd like to hear all your opinions.

The original idea was to keep Ivan like it was: turn-based. That is, everybody has to make his turn, and then stuff happens. Yeah, sometimes you have to wait for eachother, but you do have some time to think, and there could be kicks for idlers, some kind of buzzers, whatever.

But I had another idea... Why not make it realtime? Everyone moves to his own liking, and monsters too move around even when you stand still (but not extremely fast ofcourse). The game would work with an exhaustion bar, which depletes when you move a square, and gradually refills while standing still. This means you could quickly run a few squares, but would then be exhausted and have to rest, drink some water or whatever, or just move at a slower pace.

Any comments/More suggestions? What would you guys prefer?
Posted by Serefan, Apr 18, 2009 at 5:06 am
chaostrom wrote
Ahoy Serefan! Still working on IVANOV? I'm of no help but good luck all the same.

Not still working, I quit around new year, 'cause of some personal problems & stuff, and I've restarted just this week, with some major refactoring and I must tell you I'm really proud that everything is still running smoothly, and it's being completed piece by piece.

It won't be like the original IVAN. I knew that from the beginning (some small changes I already made: scrollbar at the messages screen, player is always in the middle of the screen). The hardest part will be getting the calculations for everything, or at least get some with the same game balance.
Posted by Serefan, Apr 17, 2009 at 8:32 am
Little question...

Does anyone know how HP is calculated exactly using the endurance stat (or is it using more stats?), and how it is distributed among the bodyparts?

EDIT: So far I have found this:

Quote
bodypart::CalculateMaxHP(ulong Flags)

{

int HPDelta = MaxHP - HP;
MaxHP = 0;

if(Master)

{

if(!UseMaterialAttributes())

{
long Endurance = Master->GetAttribute(ENDURANCE);

MaxHP = GetBodyPartVolume() * Endurance * Endurance / 200000;

}

else

{

long SV = GetMainMaterial()->GetStrengthValue();

MaxHP = (GetBodyPartVolume() * SV >> 4) * SV / 250000;

}


if(MaxHP < 1)

MaxHP = 1;


if(Flags & MAY_CHANGE_HPS)

HP = Max(MaxHP - HPDelta, 1);


if(Flags & CHECK_USABILITY)
SignalPossibleUsabilityChange();

}

}

Which implies that HP is determined by Endurance, and body part volume. Then I went looking for the GetBodyPartVolume() function, and I found this:

Quote
long humanoid::GetBodyPartVolume(int I) const

{

switch(I)

{

case HEAD_INDEX: return 4000;

case TORSO_INDEX: return (GetTotalVolume() - 4000) * 13 / 30;

case RIGHT_ARM_INDEX:
case LEFT_ARM_INDEX: return (GetTotalVolume() - 4000) / 10;
case GROIN_INDEX: return (GetTotalVolume() - 4000) / 10;

case RIGHT_LEG_INDEX:

case LEFT_LEG_INDEX: return ((GetTotalVolume() - 4000) << 1) / 15;

}

ABORT("Illegal humanoid bodypart volume request!");

return 0;

}


Which implies that the head volume doesn't change, for one, and the rest of the volume is divided under the remaining body parts (note that it isn't properly divided, a portion of the number of gettotalvolume is unused for some reason?). But now I can't find that GetTotalVolume() function... So I still don't know exactly how everything works.

EDIT2:

I reverse-used the calculations, and found out that the main player has a total volume of 76. Does anyone know if the devs just gave all humans a volume of 76 (which will probably correspond to 76 kg, a bit around the average weight of a human), or is there more to it? (I'm kinda thinking right now about how a bloated player has increased hp on his torso, but reduced agility/dexterity )