[ Login | Register ]

The Shining Source

Show Posts

Pages: [1] 2 3 ... 10

1   Re: A personal message
Hi everyone,

Finally got some time to post....

The procedure itself went well. Because of 7 (!!) different types of medicine she has to take in ,she is frequently out of breath, and she now has black and blue 'spots' all over her body,
due to an effect of a medicine that prevents blood-clotting.

There are signs of improvement..., it just may take a little bit longer than I thought.
So far so good.

See you soon. 

2   Re: A personal message
Hi everyone,

Thank you all very much for your kind words.
It's appreciated.

Received this weekend a letter , that said "she's scheduled for a PCI on may 12th."
...... hope everything goes well.

Fingers crossed.


3   A personal message
Hi everyone,

Yesterday I received a PM from Elvenfyre .
So I’ve decided that it’s time to tell you about what has happened the last few months.

My mother was very sick. So naturally I had to take care of her.
(FYI: it’s just a “two-person family” )
These were quite hectic months,... a day-job & doing all the homework means that there was no time left to work on my projects.
And even if there was time left, it simply was not time for it,
because everything else had a very low priority and seemed so pointless.

So, mum entered the stage that she was getting so sick , that I had to call the emergency-ambulance twice. At that time she couldn’t eat, sleep, walk  or even breathe normally.

So, after a couple of (afterwards,…wrong)  diagnoses, it was finally decided that she was scheduled for a heart-scan.
During the scan it turned out that she had fluid-buildup in the lungs & heart..
The cardiologist said, that if the scan was performed a week later,
then it could very well be that she wouldn’t be around for much longer.

The hospital took her in , and gave her injections & other medication.
These injections were used to get rid of the excess fluid in the lungs, heart, arms, legs and stomach. In the end she lost 14-15 litres in ONE week !

She is still scheduled for a percutaneous coronary intervention (or PCI ) ,
because of a heart-valve that’s not working properly. This causes some flutter (irregular heartbeat).

Now, she is home again, and everything is looking up again after a dark period.
She’s getting better (albeit very slowly) each day.

This means that very soon I’ll continue working on Dark Resurrection , Crusade of Great Intention , and a very secret 2d-project. I’ll have to catch up on my existing code first, though.

You can expect more news very soon .

Take care of yourself and your loved ones. Y'hear ?   Smiley

4   A bit of homework
Wow, my own sub-forum Cheesy
Thanks guys !!!

Now back to business,

I would like to know the exact colours of the HP/MP bar ?

So far I have: 

layer 1 - red (less than max hp)
layer 2 - yellow (normal hp-values)
layer 3 - blue (or green)
layer 4 - green (or blue)
layer 5 - other ?? 


Elvenfyre has supplied code that takes care of calculating
level-differences between attacker/defender.   
This works beautiful.

I've linked this with my code that contains information about
what type of monster you killed, the amount of EXP and gold you get
when killing it.

The code that follows the aforementioned procedure is already complete:

1- adding the XP to your total XP
2- when over 100 XP : -> Level Up
3- When Level Up occurs -> add HP (and MP when applicable) and/or receive
   new spells / or new spell-levels
4- complete text messages for step 2 and 3     

Whew, another problem solved then. Smiley


While the cinematic plays out, there are lines of text that keep returning:

1) <char>'s attack!

2) <char> got damaged by <total damage>

3) <char> was defeated.

4) <char> powered up!

5) <char> regains ?? hitpoints.

6a) <char> suffers ?? points of damage.
6b) <char> inflicts ?? points of damage on <char2>

There are a LOT of fights, so a bit of (text)variety is welcome.

(The following examples are a bit extreme , but you get the idea. Smiley )
- <char> gets kicked in the teeth for <damage>.
- <char> opens a can of whoopa$$ on <char2>

okay ... sorry about that. Smiley

All (decent) suggestions are welcome. Smiley

5   Re: Damage
The above mentioned example is a generalization.  Cheesy

I can assure you that each member of the Force has his own LUCK-variable.
So, no problems there.

Cheers  Grin

Oh wait, ...

here's a list of items you can USE , along with the effect:
Suggestions and/or additions are welcome. Smiley 

(I really have no idea how much damage these items do.  Undecided )

grand cannon / giant knuckles - muddle 1
heat axe / mage staff - blaze 2
atlas axe - blaze 3
rune axe - detox 1
misty knuckles / indra staff / supply staff - drains mp
wish staff - boost
holy staff - +2 hp/per round
goddess staff - aura 2
freeze staff - freeze 3
mystery staff - +2 mp/per round
critical sword - increase critical hit
counter sword - increase counter attack
gisarme - split in 2
levanter - blaze 3
black ring - blaze 2
evil ring - bolt 2
power ring - attack 1
protect ring - boost 1
white ring    - aura 2
All help is appreciated .
Thanks in advance.   Grin

6   Re: Shining Sounds
No problemo Newts,  Grin

The code for the battlescene , for which you are writing the music for, is just underway.
So, no rush there.

However , I'm very curious about what you've written so far.  Smiley Smiley

*hops around with anticipation*  Wink


7   Re: Damage
If you run this code in Blitz, you'll see how LUCK is calculated over time.

Graphics 800,600,16,1

SetBuffer BackBuffer()

Global Luck# = 5
Global AddLuck# = 0.1

time = MilliSecs()

While Not KeyDown(1)


If MilliSecs() > time + 500;180000

time = MilliSecs()

If Luck > 6 Or Luck < 1
AddLuck = -AddLuck

Luck = Luck + AddLuck


Text 10,15, "LUCK (integer): " + Int(Luck)
Text 10,30, "LUCK (float): " + Luck




Of course , luck-calculation takes a longer period of time. This is just a demo. Smiley   

8   Re: Damage
Right.   Smiley

I could program in such a way that it depends on AGI, or LUCK , or maybe both.

If Attacker's LUCK is high enough and  Attacker's AGI is higher than Defender's AGI
then activate Double Attack or else a Normal Attack

We could do something like this for Miss:
If LUCK is low (or lowest) AND random number is between 0 & 9 AND Defender's AGI
is higher than Attacker's AGI then you have a missed attack.   

Well, ......... whaddayasay ? Cheesy

9   Re: Damage
Thanks Ty, this will sure come in handy.

btw if you run this code in Blitz3D , you will see how many times a certain number
is generated.

Graphics 800,600,16,1
SetBuffer BackBuffer()

SeedRnd MilliSecs()

While Not KeyDown( 1)


sol = (Rand(-2,4) + Rand(-2,4)) / 2

num = num + 1

Select Sol
Case -2 times2a = times2a + 1
Case -1 times2b = times2b + 1
Case 0  times0  = times0 + 1
Case 1  times1  = times1 + 1
Case 2  times2  = times2 + 1
Case 3  times3  = times3 + 1
Case 4  times4  = times4 + 1
End Select

Text 10,  25 , "total generated ....: " + num
Text 10,  40 , "times -2 ...........: " + times2a
Text 10,  55 , "times -1 ...........: " + times2b
Text 10,  70 , "times 0  ...........: " + times0
Text 10,  85 , "times 1  ...........: " + times1
Text 10, 100 , "times 2  ...........: " + times2
Text 10, 115 , "times 3  ...........: " + times3
Text 10, 130 , "times 4  ...........: " + times4

Text 10, 200 , "used formula : (Rand(-2,4) + Rand(-2,4)) / 2"


and Ty, I may need your expertise again with calculating EXP. I'll come to that later Smiley
Thank you so far.


10   Re: Shining Sounds
Hi Newts,

Yes , I've downloaded your jingles. They sound very good. Awesome work.  Grin
Any chance of more jingles ? Wink

Btw, how is the music for Dark Resurrection doing ?
If you need more info/pointers , then please feel free to e-mail me , ok ?

Again, great work on the jingles  Smiley.


11   Damage
For Dark Resurrection I have the following formula for calculating damage:

random = random modifier between 1 to 5
Damage = (( Att + W_Att ) - ( Def + W_Def )) + random
It's possible to modify the damage further when you have a ring
in your inventory.

Att = Attacker's Attack value
W_Att = Attacker's Weapon Attack Modifier

Def = Defender's Defense value
W_Def = Defender's Weapon Defense Modifier

For example:

- A Dark Sword has a -5 defense modifier
- A Demon Rod has a -10 defense modifier
- A Holy Lance had a +5 defense modifier

FYI: There are 85 weapons in Sf2 , only 5 of them have defense modifiers


Take a random number between 1 to 100

Double Attack = random => 91 and <=100 
Critical Hit       = random => 80 and <= 90
Normal Hit       = random => 10 and <= 79
Miss                = random => 0 and <= 9 

Any suggestions ?  Grin

12   Re: Dark Resurrection 3D
Hi everyone,

After weeks of finetuning the pathfinding, I can safely say that it is now in
perfect working order. Also working is the option of retracing your steps ,
in case you selected a different location than intended.


The animated icons ( FIGHT , ITEM , MAGIC , STAY ) are "in" too.
Currently working on the info of the "free cursor mode".


Sorting units on their "agility" is also complete.
A special function keeps track of all unit-locations, user-input,
all kinds of sorting, switching between battlemaps and cinematic battles, calculating damage etc. etc.

All the data, that is needed for this function to work properly, seem to hold up well to this point.

I'm programming lots of "error-traps".
These error-traps are useful because it informs me if a data-file is loaded or not ,
or a variable is "out of bounds" or an image is loaded into memory.

Lucky for me , there are no "RuntimeErrors" , so "no news is good news" as they say. Smiley


For the switch from Battle-Map to Cinematic (and vice versa) I've decided on creating
a temporary datafile which stores all the necessary data for unit-placement after the cinematic.

This datafile is created just before all units are deleted by the system. It will contain
information of their XYZ-position , Y-axis rotation , UnitID , UnitNumber.

After the cinematic, the datafile is loaded and units are "recreated" as long as the system is NOT
at the end of the datafile. After reading, this file is deleted from the harddisk.
(everything you see onscreen is just a visual representation of what's current in memory.)

This file is also useful when saving mid-battle.
It is combined with the overall gamedata.


Also finished it is the data for making decisions about which unit to attack.
I've made an array which contains data for a certain unit to lookup what kind of unit He\She\It is.
The first part is just a simple decision: Is the unit a weapon-user or a magic-user.
The second part is based on ROCK-SCISSORS-PAPER. It is translated into: Swords(or Melee) , Ranged , Magic
All units are divided into one of these 3 categories.

The decision for using part 1 or 2 lies within the variable LUCK.
LUCK changes a number of times during battle for everyone,
so I'm sure you will get a few "OMG-look-the-computer-made-a-stupid-mistake" moments during each battle. Cheesy


I'm not sure to use LUCK as an important factor for calculating CRITICAL HIT , COUNTER_ATTACK .
or simply use a random number. Random numbers are ... erm... more random ( Lips Sealed )
and LUCK is more like a sinus-wave.

So, your opinion is greatly appreciated. Smiley   

Other factors used for attacking units are:
Unit must be in "Walking-Range" and within "Weapon/Magic-Range".
Weapon-Range and Magic-Range are based on WeaponType and MagicType.

Also, the weapon-range is affected when a weapon is NOT equipped , it reverts back to range 1.

However, I don't have a clue if this also applies to magic-users:  :/
Can a magic-user use a spell if his\her weapon is NOT equipped.  ..... answers on a postcard,please Cheesy

MagicUsers will try to damage as many characters as possible.
Every time the unit scores a hit on the attack-list, it records the position of the cursor and the total number
of enemies registered. This list is then prioritized, with more units at the top and less units at the bottom.
Possible multiple entries are removed.


Well, so far so good.
If you have other thoughts about all the above, please feel free to shoot (not literally).

See Ya Guys, Smiley 

13   Re: What does Shining Aid need?
Some articles about Artificial Intelligence would be very nice.

At the moment I'm busy piecing together the AI for "Dark Resurrection" and
"Crusade of Great Intention".

Believe you me, there's a huge amount of work to do.

Pathfinding , Decisionmaking , Creating reference-tables for weapons,items,characters,

So, maybe it's a good idea to write down my "experience" ( Roll Eyes ) .
This way other people can benefit from it.



14   Re: Crusade of Great Intention (was: What if Shining Force was an RTS ?)
Ahem, here's a small update  Embarrassed

While programming the movement of the characters , somehow I mixed up the function
that takes care of the actual movement.

Initally I copied the movement-function from Dark Resurrection (movement = 4-ways)
For "Crusade" I reprogrammed it for movement in 8-ways.
The "8-way" is based on the time (& speed of the character) it takes for a character to move from one grid-square to another.

This is where it went wrong.
The "4-way" version was again copied OVER the "8-way" version. ( Lips Sealed)
First I had to figure out what went wrong, but has to complete the level-up database
for Dark Resurrection. Which guzzled up all my spare time. Sad

Anyhow, Dark Resurrection is one step closer, and "Crusade" is back on track. Cheesy

Cheers  Grin



15   Re: Dark Resurrection 3D
Hi Everyone,

A quick update is in order:

Just finished programming a database that contains all values
for leveling up player-characters. It's huuuuuuge (  Shocked ).

It includes HP , MP , gaining spells and their respective levels (1 thru 4)
The database can be used for up to 30 characters and it has entries for 40 levels
unpromoted and 99 levels promoted. It comes complete with accompanying text.
It is programmed in such a way that it keeps track of every change in a character's level.
This way it is impossible to learn the same spell twice.

For example:

Sarah levels up to Lv. 29 (unpromoted). At level 29 she learns BOLT lv1.
Now , if she was promoted at level 20, then she would have learned the same spell
at level 9 (promoted).

The aforementioned process puts a "1" in a specially created array.
So, when Sarah is promoted , she returns to Level 1, and when she arrives at
Level 9 , the Level-Up FUNCTION checks the array to see if she already has the BOLT 1 spell. 

(of course,..... Sarah never learns BOLT and certainly NOT at lv 29 Cheesy )
The actual texts and values from this database are simply "knitted" together.

A few examples:

<CHAR> has gained <VALUE> HP , and <VALUE> MP.
<CHAR> has learned a new spell, <SPELLNAME> Lv. <SPELL-LEVEL>
<CHAR>'s spell <SPELLNAME> is now level <SPELL-LEVEL>.

Like I said, a quick update Cheesy


Pages: [1] 2 3 ... 10

Powered by SMF 1.1.21 | SMF © 2013, Simple Machines