[ Login | Register ]

The Shining Source

« previous next »
Pages: 1 ... 8 9 [10] Print
Dark Resurrection 3D   (Read 99123 times)
Old Post December 17, 2007, 11:58:29 am
Shining Something *

Posts: 142

Re: Dark Resurrection 3D
Pathfinding is coming along quite nicely  Cool
It can now detect obstacles and can move around them.
It's tested to death with numerous configurations, and it's working well ...
with one exception:  Embarrassed

When a character tries to access a free tile surrounded by occupied tiles , it may cause a hiccup FRAMERATE-wise.     

Some things I'm working at the moment:


The general idea is avoid the tiles which are occupied by a character.
I'm thinking of including the LANDEFFECT just for defense-purposes, and not in terms
of movement-cost. Just playing with the idea, so nothing is set in stone. Undecided


Camera-movement is almost complete. When you control the cursor, the camera tries to keep looking at the cursor. It's a smooth movement because I've used a method that computes the vector between the CURRENT angle of the camera and the ACTUAL vector between the camera and the cursor.

So, when the player has decided a good spot for his/her character to move (by pressing SPACE) the camera is "glued" to that character. And now the camera will turn to that same character with the aforementioned vector-method.


That's how far I am at the moment. To do the same thing for the computer is a different kettle of fish. A good start would be to think how "I should do it" . Cheesy

Love is Grand , Divorce ..... a hundred Grand

Old Post December 20, 2007, 05:44:59 am
Blahian *

Posts: 10

Re: Dark Resurrection 3D
I've been checking these forums here and there.  Wandering what happend to this project.  It sounds like you've come a long way since i have last checked.  keep it up peter.  I can't wait to play this =O

as for the triangle thing.  I remember sf1 and 2 also had something like this.  I remember archers were good against flying creatures and axes were good against heavily armored creatures  thats all i can remember at the moment =P

Old Post February 27, 2008, 03:31:32 pm
Shining Something *

Posts: 142

Re: Dark Resurrection 3D
Everything is going well with Dark Res. I've made 4 more houses each with a different texture-set.
Total number of different houses is now six . There are also six different textures, so that makes 36 different versions.
That should be enough , don't you think ? Cheesy

Anyway, I've programmed the code for the entrypoints.
These entrypoints are important for changing maps , and for deciding where to position the player-character.
Each entrypoint contains information about the map you are currently ON, and the map you are going TO.
That means , when you are near one of these entrypoints, the program changes maps.
Each map has a unique number.
Each object that can be entered (house,depot,shop,church,castle,HQ,worldmap,areamap) also has a unique number.

You enter a townmap from direction of the map of the harbour. This map [of the harbour] is numbered "5"
You are standing in the middle of a town. The map of this town is numbered "1".
You walk down the street and would like to enter a house with two floors. This house is numbered "2".
Now..., you are entering the detection range of the entrypoint in front of that house.
The entrypoint decides that it is time to switch maps. 
The map-info of this entrypoint is as follows: Current_Map = 1 , Next_Map = 2

Before the switch: MAIN_MAP = 1               , PREVIOUS_MAP = 5
During the switch: PREVIOUS_MAP = Current_Map , MAIN_MAP = Next_Map
After the switch:  PREVIOUS_MAP = 1           , MAIN_MAP = 2

You are now inside the house, and because this is a house with two floors,
there are 2 ways you could enter this particular map, 1) from the outside and 2) from the first floor.

As luck would have it, ( Wink ) you've entered the ground floor via the outside map,
so that means - based on the values in the variable PREVIOUS-MAP - your playercharacter is positioned
near the front door, otherwise it is positioned near the stairs leading to the first floor.

And another problem rears its ugly head....Cheesy

What to do with all those models ? Sure , I can use CLEARWORLD() , but that would delete everything
from memory, including entities , brushes and textures.
And to load everything again, each time you enter a new map is frankly.... ridiculous.
Therefore I present to you: DELETEWORLD()

What DELETEWORLD() basically does, is going through each type (and there are types for everything
you can think of) and free the model in that type along with the handle of the type.
If a copied entity is freed from memory, all the children that spawned from the parent, are automatically freed too.

Also, when you start the program everything (except the level-maps) is loaded once.
During program-execution all following models are just copies of the loaded entities.
According to other experienced Blitz-users, COPYENTITY is much faster than LOADMESH or LOADANIMMESH.
When program-execution is fast, then there is practically no waiting time for the user.

That's what it's all about. Cheesy


I really really really.... REALLY want to show you some new piccies.  It's just that all my time is used for programming, modelling etc. I could make a small movie , to show everything at once.  Undecided

Whoops, I almost forgot .... Cheesy
All the animated icons (itemshop,weaponshop,depot,church,walkabout) are IN.
Yes, yes...... everything is working beautifully  Cool  , and there's even less code compared  to the first version.

A long time ago , in a galaxy far, far away... (oh wait, that's another story.. Smiley  )
But a long time ago nonetheless, I lost one of my USB-sticks.
It contained code for displaying the icons. And it was also one of those rare
occasions that I did not make a backup copy.   Embarrassed
I guess that sometimes, something good can happen out of a bad situation  Grin Grin Grin

's good.

Well, think I'll shut up for now ...

See Ya's Smiley 


Love is Grand , Divorce ..... a hundred Grand

Old Post April 09, 2008, 11:39:12 am
Shining Something *

Posts: 142

Re: Dark Resurrection 3D
Hi Peeps,

A small update on how things are progressing.

I've been coding like mad at the level-up code.
How many experience-points does a character receive when killing a monster?
How many points does he/she have right now and how many points until level-up ?

I lost the plot a bit at how the game handles promotion.
Reading the SFII boards on Shining Force Central, I've noticed that there are basically two camps of players.
One camp does its promotion-ceremony as quickly as possible (lv. 20) , while the other camp
waits until lv 40.

On Gamefaqs (yes, a lot of research-time was spent on this problem. Smiley )
I've found a FAQ from Apathetic Aardvark ( Cool )   
( http://www.gamefaqs.com/console/genesis/file/563341/28017 )
He stated that the original SFII-program treats the promotion at level 20.

So, I think that means: even if I leveled up a character to level 35 (NOT promoted), then promote him/her,
the game will set its level back to level 1 (promoted) . So that makes it level 21 , right ?

The characters that "practice" magic might now have the following problem:
At some levels they either get a new spell , or gain a level for that spell.

For example:

Sarah learns HEAL 3 at Level 33.
That means: level 33 unpromoted OR level 13 promoted 


level 33 unpromoted AND level 13 promoted ?


Is there someone that can explain this a bit more clearly ?

If the latter is the case, then I think I need an extra flag for checking whether a character
has received a new spell / spell-level.


The AI is coming slow at the mo. Wink
A character keeps filling the grid-sections with his ID-number when moving around.
So , when the next enemy checks if a character is near  , he stops at the first grid-section he comes across,
even when there is nobody around o_0. I have to suss this one out before I continue.


I've also learned a few things here and there about animation for characters,
and bought a few books with examples on how to draw heads , eyes , bodies.
A list which contains info about animation-sequences for each character,
(walk , jump , attack , defend , special attack , etc. ) eye-expression (if applicable), fighting stance and
spell-casting stance is in the works. This could be a [very ]long list. Smiley   

Nice reference on animation: http://www.youtube.com/watch?v=UqENARuEGM0

See ya

Love is Grand , Divorce ..... a hundred Grand

Old Post April 12, 2008, 01:41:30 pm
Administrator Shining Spammer *

Posts: 1,126

Re: Dark Resurrection 3D
OK what I know about promotion that you've missed is this:

When you are promoted (even at level 20) you are WEAKER than you were.
So therefore you aren't the same as level 21.
Also: you are not really level 15 again either because when you are promoted stats distribution changes, giving you different weaknesses and strengths than you had at level 15 before promotion.

This is a lot easier to see with magic, since commonly you can't actually advance to a higher spell until after promotion(not sure if this is true for all spell levels).

However you can see a change in warriors etc as well, as they do gain stats differently after promotion than if you continue to level them up.  As I said, distribution changes.

As far as one major problem you have which I don't know the answer to, it seems there is a simple solution: (the way I saw the game when i first played it)
Does a character promoted at level 25 become a stronger level 1 promoted character than one who was promoted immediately at level 20?
This is how I believe the game to be, but have no proof.  It also makes sense from how the game manual and game explains the process of promotion:
key: because promotion makes the character weaker, you may choose not to promote them to keep them strong.

I always found it a good idea in my games to keep a couple of the middle group of characters for later promotion(just a few levels behind) to allow them to "carry" the force through battles since the rest sucked so much after promotion.

Hope some of this helps.


Old Post June 12, 2008, 01:22:33 pm
Shining Something *

Posts: 142

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


Love is Grand , Divorce ..... a hundred Grand

Old Post August 25, 2008, 12:04:26 pm
Shining Something *

Posts: 142

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 

Love is Grand , Divorce ..... a hundred Grand

Old Post August 27, 2008, 02:29:25 am
Administrator Shining Spammer *

Posts: 1,126

Re: Dark Resurrection 3D
Hi Peter,
Sounds great keep up the good work Smiley

To answer your question:
Magic can be cast if you have nothing equipped.
Also, weapons/rings that have magic can be used without be equipped.


Pages: 1 ... 8 9 [10] Print 
« previous next »
Jump to:  

Powered by SMF 1.1.21 | SMF © 2013, Simple Machines