The Daily Click ::. Forums ::. Klik Coding Help ::. Help me fix a small bug!
 

Post Reply  Post Oekaki 
 

Posted By Message

Lönnemyr



Registered
  30/06/2008
Points
  69
30th September, 2008 at 22:00:36 -

Hello, and thank you for your time.


The last time I asked for help I got such good respons so I though I`d ask here again.

The game is an RPG with real time battles, and the problem probably lies within the "combat events". The idea is giving each enemy 2 invisible objects which decide its reach, So far there is only one foe and it`s reach is supposed to be 1.

When the player step into that reach the enemy will hit the player every third second, the first hit should be 3 sec after that the player entered the "attack zone". That way the player might be able to go in close, hit, go back(as if dodge:ing the foes attack), and so on.
This foe is only supposed to hit for one dmg(1 heart!) but for some reason, sometimes it hits for 2dmg!


I think it might has to do with my scratch animation which is an object that spawns on the player when the foe is ready to strike, that object is what actually deals the dmg, but I also feel that it is important with some kind of animation to make the battles a little more "fun". The Player also plays another animation when hit (he "blinks" once), can that be a problem?


Anyway, anyone who would like to take a look could download the gam here (Yes, I use TGF =/ ). Don`t let the grapic scare you, it`s supposed to look like that.

http://lonnemyr.googlepages.com/home <---- Download "Apurpurtale".


Of course you can tell me if you wonder over something else/happens to find another bug etc.. I promise not to bite your head off

 
-

Logiq



Registered
  09/04/2007
Points
  120
30th September, 2008 at 22:42:55 -

Well from what I found out deals with your last event and your "taking damage" animation. The way you have it setup now is that your player is overlapping when the "slash" spawns, it takes the damage and then flashes. While flashing it stops the "'Slash' overlapping 'Player'" event but when the player finished the flash the "Slash" animation is not finished so the "'Slash' overlapping 'Player'" starts up again thus taking another heart away. By taking out the "blank" frame in that animation it fixed the double damage effect.

I replaced the "blank" frame with a copy of your character but replaced it's color with red, so it shows that he was hurt but keeps the error from occurring.

 
Hello guys! I'm New! -- I've been new for a year now...haha

Lönnemyr



Registered
  30/06/2008
Points
  69
30th September, 2008 at 23:01:32 -

Thanks, that fixes the doubble hit bug!

There is still one weird thing thou. Might just be me but sometimes when entering the foe`s battle reach he does not wait 3sec to strike as he is supposed to, instead he strikes almost instantly, which could be a problem.

I think it might have to do with how I set the "wait Xsec" event, I admit I was not really sure what I was doing since I never done anything like that before. Suggestions?

 
-

Logiq



Registered
  09/04/2007
Points
  120
30th September, 2008 at 23:21:20 -

I've never used TGF so i don't know whether it uses Alterable Values and Flags, but if they do then I would utilize those. Dedicate "flag 0" for in range and "Alterable Value A" for Attack Timer. Before going into your event editor, set your Alterable Value A how ever long you want it to take to attack.


If player is overlapping "close strike area"
-or-
If player is overlapping "close strike area 2"
-- Set flag 0 ON


This first event it pretty self explanatory.


If flag 0 is ON
-- Substract 1 from Alterable Value A


This next event will start the timer if the Flag is ON


X If player is overlapping "close strike area" X
X If player is overlapping "close strike area 2" X
-- Set flag 0 OFF
-- Set Alterable Value to (whatever you had it set to in the beginning)


This event will make everything reset itself if the player leaves the ranged area.


If Alterable Value A =< 0
-- (do your attack stuff)
-- Set flag 0 OFF
-- Set Alterable Value A to (whatever you had it set to in the beginning)


This event will set off the attack when the timer hits 0. After the attack it will reset itself.

I hope that was easy to understand. If not then let me know.

 
Hello guys! I'm New! -- I've been new for a year now...haha

Sketchy

Cornwall UK

Registered
  06/11/2004
Points
  1970

VIP MemberWeekly Picture Me This Round 43 Winner!Weekly Picture Me This Round 47 WinnerPicture Me This Round 49 Winner!
30th September, 2008 at 23:49:48 -

Personally, I'd ditch the detectors altogether and compare the distance using a formula.
I took the liberty of making some modifications to your game to demonstrate what I mean.

http://cid-b1e7ee094271bbda.skydrive.live.com/self.aspx/Public/Apurpurtale.gam



 
n/a

Lönnemyr



Registered
  30/06/2008
Points
  69
1st October, 2008 at 00:11:20 -

Logiq

TGF has Flags and Alterable Values, don`t know how many for each object though..

I understood everything except the timer? Were is the timer? If the attack goes off when the alterable value get <0 then the foe will attack when the player enter the zone?

[EDIT; oh! I missed the part were I was supposed to set the alterable value. Were if not in the event editor can I do this? Thanks.]

Sketchy


I`m not good at using code or TGF, thats why I used detectors (the only way I know). I tried to download your example but all I get is an empty gam file.. D:

Image Edited by the Author.

Image Edited by the Author.

 
-

Knudde (Shab)

Administrator
Crazy?

Registered
  31/01/2003
Points
  5125

Has Donated, Thank You!Clickzine StaffKlikCast StarVIP MemberGhostbuster!Dos Rules!I donated an open source project
1st October, 2008 at 00:15:34 -

16 flags, 3 Alterable values.

Kind of limited, but you can find ways to work around that.

 
Craps, I'm an old man!

Sketchy

Cornwall UK

Registered
  06/11/2004
Points
  1970

VIP MemberWeekly Picture Me This Round 43 Winner!Weekly Picture Me This Round 47 WinnerPicture Me This Round 49 Winner!
1st October, 2008 at 00:24:27 -

I don't have TGF - I saved it using MMF1.5, but I guess it didn't work
Here's the changes anyway;

Image

It's occurred to me that you may need to save your alterable values. If I remember right, TGF doesn't have very many, although it's possible to pack several numbers into one.

Edit: Knudde beat me to it LoL

Image Edited by the Author.

 
n/a

Knudde (Shab)

Administrator
Crazy?

Registered
  31/01/2003
Points
  5125

Has Donated, Thank You!Clickzine StaffKlikCast StarVIP MemberGhostbuster!Dos Rules!I donated an open source project
1st October, 2008 at 00:31:01 -


Originally Posted by Sketchy
I don't have TGF - I saved it using MMF1.5, but I guess it didn't work
Here's the changes anyway;

Image

It's occurred to me that you may need to save your alterable values. If I remember right, TGF doesn't have very many, although it's possible to pack several numbers into one.



Yeah, I've used that method several times. In one of my tactics games Value A held the values of HP, MoveP, and a few other things. Simply put, I did it like this
987

9 = HP
8 = MP
7 = Something Else

1. Divide 100 into 987 = 9
2. Subtract the above result (9) times 100 to = 87
3. Repeat 1 and 2 with 10's

You'll run into problems with 0's though.

 
Craps, I'm an old man!

Sketchy

Cornwall UK

Registered
  06/11/2004
Points
  1970

VIP MemberWeekly Picture Me This Round 43 Winner!Weekly Picture Me This Round 47 WinnerPicture Me This Round 49 Winner!
1st October, 2008 at 00:38:21 -

or the left$, right$, and mid$ functions are pretty useful if they exist in TGF. Gets a bit trickier when you are adding zeroes in front of values to force them to a certain length.


 
n/a

Jon Lambert

Administrator
Vaporware Master

Registered
  19/12/2004
Points
  8235

VIP MemberWii OwnerTDC Chat Super UserI am an April FoolSSBB 3265-4741-0937ACCF 3051-1173-8012360 Owner
1st October, 2008 at 02:23:12 -

Hello, Lonnemyr. I've shortened my name since you were last here, but I also got my old hard drive back, so I now have TGF1 again! However, I can't help you right now, not until Friday, because I have to work.

 
Sandwich Time!Whoo!

JoyCheck & KeyCheck Widgets
For easy implementation of customizable joystick and keyboard controls.
http://www.create-games.com/download.asp?id=8364

Lönnemyr



Registered
  30/06/2008
Points
  69
1st October, 2008 at 16:44:21 -

By the way, I`m trying to set all normal events (like open tresure chests, pushing blocks, etc) in the first frame, and then copy the entire frame with events and everything, delete the "play area" and remodel it. I`m thinking I wont have to redo everything in the event editor everytime if I do this.. but maybe it would be better to select tose "normal events" as global? Are there any drawbacks with global events? I never used them..

Jon Lambert

Good to see you again! It`s ok, The "engine" probably won`t be done untill friday anyway=

Sketchy & Knudde

You`ve gotten me all confused now, I`m open for suggestions for how to make the combat more stable etc but I don`t know how to do what sketchy has done (I`m not even sure what he has done). Please explain it like you would explain something to an idiot

About saving flags and values, The game won`t be that complex.. or big, really. Of course I dont know everything that will be needed yet, but I`m thinking something like 5 (small) dungeons with bosses and "special items". Nothing to fancy though, mostly puzzle solving and a few monsters here and there. And ofc, some puzzles outside the dungeons were you can get some tresures and "stuff".

So far I have done;

*Player movement.

*Pushy blocks which you can push around - every zelda clone has them

*Arrow "blocks" on which player can stand and "PurPur" will be moved to the place were the arrow is pointing. - Thinking about doing other arrow blocks on which you could push those "pushy blocks" and also give purpur an animation when moved by the arrow blocks.

*tresure chest which you can open and get a few gems from.

-----------

If anyone has any suggestions to anything else I should put in this game I will lend you an ear, nothing monster complex though, becuse if I try something like that I will never finish



[EDIT; I updated the file, only new in this one is the "pushy block mongos" which you can push around and the red arrow blocks on which you can pushy the "pushy block mongos" and then they will move in that direction. I also deleted most of the battle events since it was buggy and it seems like someone here could give me a better idea for how to solve it.]

Image Edited by the Author.

[EDIT2; oh, it seems like I didn`t delete most of the battle events. Still some left... ]

Image Edited by the Author.

 
-

Sketchy

Cornwall UK

Registered
  06/11/2004
Points
  1970

VIP MemberWeekly Picture Me This Round 43 Winner!Weekly Picture Me This Round 47 WinnerPicture Me This Round 49 Winner!
1st October, 2008 at 18:49:28 -

Ok, I'll try


This might be a bit patronising to begin with...

To start with, all your graphics are basically 50x50 pixel squares (or "Tiles"), and they all line up to form a "grid".

Image

All of the active objects in your game have what are known as "Alterable Values" (3 of them in fact - A,B, and C). These work just like counters, except that they are unique to each instance of an object. Even if you have lots of duplicates of "Baddie1", each one has it's own individual set of alterable values.

Flags work in much the same way, but can only be "on" or "off". Think of them as counters whose value can only ever be "0" or "1". You'll generally use them as switches, to "activate" or "deactivate" events.

---------------------------------------------------------------------

Now, onto the events themselves...

11| Always
-> set Alterable Value A to
Abs( ( X( "Baddy 1" ) / 50 ) - ( X( "PurPur" ) / 50 ) ) + Abs( ( Y( "Baddy 1" ) / 50 ) - ( Y( "PurPur" ) / 50 ) )

Let's start with this bit "X( Baddy 1" ) / 50".
Remember that "grid" I was talking about? What this bit does, is find the horizontal grid coordinate of "Baddy 1" like in the diagram above. We do this by dividing its screen coordinate by the width of each individual tile - in this case 50 pixels.

"Y( "Baddy 1" ) / 50" does exactly the same thing with the Y coordinate.

Ignoring the Abs() for now, what we're essentially saying is this;

(Grid X of "Baddie 1" - Grid X of "PurPur") + (Grid Y of "Baddie 1" - Grid Y of "PurPur")

Looking at the example image above, this would be;

( 3 - 1 ) + ( 1 - 0 ) which = 3

Hopefully, you can now see that what we are doing, is finding the distance in grid tiles, between the "Baddy1" and
"PurPur", and setting "Baddy1"'s alterable value to this distance.

Image

Now, back to that "Abs()" business...
"Abs" is a special function that removes the sign from a number. "-10" becomes just plain "10" for example.

So why do we use it here? Well, suppose we change the positions of "Baddy1" and "PurPur".

Image

Our formula would now look like this;

( 1 - 3 ) + ( 2 - 1 ) which = -1

However, the actual distance is still 3. By using Abs() to force all our values to be positive, we get the correct result.

---------------------------------------------------------------------

Right, that just about covers Line 11 - onto line 13!

What we're doing here, is comparing the grid distance that we just calculated to "1". Here, "1" represents the maximum attack range of "Baddy1" (measured in grid squares of course). If we used "2" instead of "1", then "Baddy1" could attack "PurPur" from 2 squares away.

We're using another alterable value here - "Alterable Value B". Once we've determined that "PurPur" is within attack range (1 square away) we start to add 1 to Alterable Value B every second.

In line 16, we check to see if alterable value B = 3, as this would mean that "PurPur" has been within attack range for 3 seconds. In this case, we perform all the actions relating to an attack, and reset alterable value B to 0, ready to start timing the next 3 seconds.

Now, let's go back to line 14 for a second. This is to check whether "PurPur" leaves attack range within the 3 seconds.

This way, we know to set alterable value back to 0. Otherwise, "PurPur" could be in attack range for 2 seconds before moving out of range. This would result in alterable value B reaching 2, thus next time "PurPur" moved back into range, it would take just 1 second before damage was dealt, instead of the normal 3 seconds.


damn that was long... I should write a book

Image Edited by the Author.

 
n/a

Lönnemyr



Registered
  30/06/2008
Points
  69
1st October, 2008 at 19:38:17 -

A bit confusing, yes (becuse never used alt values, only global).

You explain the math pretty good, but I have a problem with creating those events in the event editor..

What I do is;

Enter the event editor..

Create a new "always" event, then klicks on baddy1`s values..

Image

Press the "Edit" button..

Image

Klick on "set value" for the alterable value "A"..

Image

Copy paste the formula.. (I guess this is were I went wrong, eyy?

Image



...Screenshot 2-3 got a bit messed up, you can see screenshot 1 behind them but whatever ;P


 
-

Sketchy

Cornwall UK

Registered
  06/11/2004
Points
  1970

VIP MemberWeekly Picture Me This Round 43 Winner!Weekly Picture Me This Round 47 WinnerPicture Me This Round 49 Winner!
1st October, 2008 at 20:06:03 -

Hmmm. You appear to be doing everything right. There's a possibility that TGF may not support the Abs function - you don't seem to have a lot of the buttons in the expression editor that there are in MMF.

Try this;
( X( "Baddy 1" ) / 50 ) - ( X( "PurPur" ) / 50 ) + ( Y( "Baddy 1" ) / 50 ) - ( Y( "PurPur" ) / 50 )

If TGF doesn't complain, then it means TGF has a problem with Abs, in which case I'll have to come up with an alternative.

I'm going to download the TGF demo to see exactly what is possible.

Image Edited by the Author.

 
n/a

Lönnemyr



Registered
  30/06/2008
Points
  69
1st October, 2008 at 20:17:46 -

The new piece of code did work, no complains. I guess TGF is a little behind then. Thank you for all you effort =

 
-

Sketchy

Cornwall UK

Registered
  06/11/2004
Points
  1970

VIP MemberWeekly Picture Me This Round 43 Winner!Weekly Picture Me This Round 47 WinnerPicture Me This Round 49 Winner!
1st October, 2008 at 20:24:12 -

the new piece of code wont do the job though - it's just the same thing but without the abs(), which was there for a reason.

EDIT: This is going to be harder than I thought. It seems clickteam have come a long way since TGF. I think you'd need to download some kind of maths extension to get this method working in TGF
I'll think about it some more...


Image Edited by the Author.

 
n/a

Lönnemyr



Registered
  30/06/2008
Points
  69
1st October, 2008 at 21:10:55 -

I know =/ I`m pretty much back at 0 again then, no battle engine

[EDIT; Thanks, tell me if you find something out, if I use extentions, doesn`t that mean I need to include that in the game somehow for it to work for other people? Meanwhile, how do I set the alternable value outside of the event editor ?]

Image Edited by the Author.

 
-

Sketchy

Cornwall UK

Registered
  06/11/2004
Points
  1970

VIP MemberWeekly Picture Me This Round 43 Winner!Weekly Picture Me This Round 47 WinnerPicture Me This Round 49 Winner!
1st October, 2008 at 22:09:06 -

It looks a lot like you can't set alterable values outside of the event editor - you just have to create an "at start of frame..." event and then set them all that way. I really hadn't realized how primitive TGF was til now

I don't *think* you need to include any extra files with your compiled exe if you use extensions. The exceptions being extensions like DMC that rely on third party dll files. I could be wrong though - as you probably realise by now, I'm not exactly an expert on TGF.

 
n/a

Lönnemyr



Registered
  30/06/2008
Points
  69
1st October, 2008 at 22:38:08 -

" I'm not exactly an expert on TGF. " - Makes two of us

I have played a little with MMF though, so I know how oldschool TGF really is, but unfortunally I don`t have acces to anything better right now so I will have to stick with TGF. I think I will put the battle system on hold for now, maybe Jon Lambert has some good ideas when he gets off on friday. If you get any bright ones Sketchy, shoot! Kaay?


---------------------------
Another question about events though. Should I make all common events global instead of copy this frame to the next (with events) and just remodel it? What would be the most stable. Anyonw know if Global events in TGF is unstable/buggy or will give me som sort of complications later on?

 
-

Sketchy

Cornwall UK

Registered
  06/11/2004
Points
  1970

VIP MemberWeekly Picture Me This Round 43 Winner!Weekly Picture Me This Round 47 WinnerPicture Me This Round 49 Winner!
1st October, 2008 at 22:51:39 -

Here you go - went back to detectors cos I can't get the distance idea to work in TGF. An extension wasn't going to do the job cos of object focus problems - TGF didn't know which Baddy1 I meant.

Anyway, this should at least work...
http://cid-b1e7ee094271bbda.skydrive.live.com/self.aspx/Public/ApurpurtaleNEW.gam

 
n/a

Lönnemyr



Registered
  30/06/2008
Points
  69
2nd October, 2008 at 00:54:49 -

Sketchy

Thanks, seems to work pretty well, didn`t think of using fine detection on one object instead of using two objects. One questions though, why compare two general valuies instead of just using a "start of frame" event?



-----------------

Thing with TGF (especially when you`r not a good klicker) is that when one problem is solved, you find another one. Hehe, My "help me fix a bug!" topic turned into "help me, help me!" topic (seems to happen to my threads =/ ).

Anyway, two more questions, free for anyone to anwser! Knock yourselfs out!

1st question
- Is it recomended to use global events in tgf? Like the event for movement or pushing blocks etc. OR, will this be troublesome later on? Reason I ask is becuse I never use those and I think I`ve read or heard somewhere thata there is some kind of bug involved with global evnets in TGF.

2nd question - For this you`ll have to download the file.. (sorry). I tried to give PurPur a sort of sliding animation when the arrow keys are pressed. It`s easier on the eyes and looks better, even if he`s not doing any actual "walking". I tried to do this as good as I could, but each time he moves a ghost frame blinks in front of him. I looked at the the events and I have no idea what`s causing the problem. I also wanted him to keep moving while an arrow key is pressed down is possible (slowly glide like the animation), but could`t get that to work either. That might not be possible with "snap to grid movement"? Would be great if it was though..





 
-

Sketchy

Cornwall UK

Registered
  06/11/2004
Points
  1970

VIP MemberWeekly Picture Me This Round 43 Winner!Weekly Picture Me This Round 47 WinnerPicture Me This Round 49 Winner!
2nd October, 2008 at 01:41:05 -

The reason for comparing the two values, is that you need the same number of detector objects as you have "Baddy1" objects. All it's doing is creating more detectors until they're equal.

Personally, I've never bothered with Global Events. If it were me though, I'd be building the whole game in one single frame, and loading the level layouts from external files (TGF has the ini object so that's perfectly possible). If you don't want to use Global Events, you can always just copy & paste the event groups relating to movement, pushing etc between frames.

For me, the problem with global events and also behaviours, is that I don't know exactly where the lines fit in.
It's hard to explain, but here's a (really bad) example;

My main code looks like this;

1) always
-> set Car's Alterable Value A to 5

2) always
-> set Car's Direction to Car's Alterable Value A


Now suppose I give the Car a behaviour like this;

1) always
-> set Car's Alterable Value A to 10

What direction does the car end up facing? 5 or 10? Does it always face the same direction? It depends on at what point the behaviour events are run. Like I said, this is a bad example, but with more complex games it could be a problem.


I'll look into the movement thing and get back to you.

One person you could try asking for help is Pixelthief. Without asking, I don't know if he'd want to help or not, but he made a game called GridQuest, which is very similar to what you're attempting, and which was also made in TGF. He certainly knows what he's doing.

http://www.create-games.com/download.asp?id=7169


 
n/a

Sketchy

Cornwall UK

Registered
  06/11/2004
Points
  1970

VIP MemberWeekly Picture Me This Round 43 Winner!Weekly Picture Me This Round 47 WinnerPicture Me This Round 49 Winner!
2nd October, 2008 at 02:41:00 -

Here's new version, with smoother movement;
http://cid-b1e7ee094271bbda.skydrive.live.com/self.aspx/Public/ApurpurtaleFIX.gam


First thing you'll notice, is that it uses "group.traps" a lot. That's because I'm using what are called "qualifiers". You can add a qualifier from object properties. By giving the same qualifier to several different objects, you're telling TGF that they are members of the same group. In this case I arbitrarily chose "traps" to represent a group containing all the different types of object that block PurPur's movement.

One of the limitations of backgrounds, is that they can't be assigned qualifiers. For this reason, any background objects which block PurPur's movement were set to "obstacle".


So, the first 4 events all do basically the same thing, but for different directions. To start with, they check there are no obstacles blocking PurPur's path. They then check that PurPur isn't already moving. If flag 0 = on, PurPur is moving horizontally; if flag 1 is on, PurPur is moving vertically.

The counter I added, keeps track of how many pixels PurPur has left to move before stopping and checking for player input again. If the counter is <0, PurPur is moving up/left. If the counter is >0, PurPur is moving down/right. It might be the other way around, I don't remember, but you should be able to figure it out

Hope it helps

Image Edited by the Author.

 
n/a

Lönnemyr



Registered
  30/06/2008
Points
  69
2nd October, 2008 at 16:12:36 -

Hm, If I have an event that says "purpur can`t pass background obstacles" then There is no need for my "forbidden zones" right?

Some of the changes seems to have made the events for pushing blocks and pusching blocks on top of red arrowblocks corrupt though, I´ll see if I can figure it out on my own. If I can`t I`ll be back

 
-

Lönnemyr



Registered
  30/06/2008
Points
  69
2nd October, 2008 at 18:34:14 -

Finally got the new movement to work, I had som problems untill I found out that I needed to set the counters minumum value to -50 PurPur`s movement speed (the numer which is added or subtracted from the counter) must be something that can be diveded with 50? So 2, 5, 10 and 25 is possible?

Still got a few Q:s though. PurPur is moving when the arrow keys is pressed, BUT, for some reason you can`t hold in the arrow keys to get him to continue to move, you need to press, press and press again to make him take 3 steps. I noticed that you solved that in you FIX gam, and even though I did exactly like you said, in my gam he doesn`t. I`ve added the "repeat while " XYX " is pressed" condition to all four events

I have updated the download if you need to look in the event editor to see whats wrong (even though I looked there like 10 times already.. so unless I am going blind could it be something else?)

http://lonnemyr.googlepages.com/home

 
-

Sketchy

Cornwall UK

Registered
  06/11/2004
Points
  1970

VIP MemberWeekly Picture Me This Round 43 Winner!Weekly Picture Me This Round 47 WinnerPicture Me This Round 49 Winner!
2nd October, 2008 at 19:57:28 -

It's because you added the bit for joystick support.

All you need to do is replace all your "read joystick state" conditions with "repeat while joystick is pressed".

Oh, and since you're using the those conditions, you really need to delete all the "repeat while key is pressed" conditions - otherwise it'll stop working if the player changes the control keys by pressing ctrl+y.

Again, here's one I made earlier;

http://cid-b1e7ee094271bbda.skydrive.live.com/self.aspx/Public/Apurpurtalebackupsave3.gam

Image Edited by the Author.

 
n/a

Lönnemyr



Registered
  30/06/2008
Points
  69
2nd October, 2008 at 20:30:53 -

Hm, I see, didn`t notice you removed those, I guess I`m blind

Anyway, if I delete those conditons, how am I supposed to get the game to ignore player control when PurPur steps on the yellow arrow blocks? =/

 
-

Sketchy

Cornwall UK

Registered
  06/11/2004
Points
  1970

VIP MemberWeekly Picture Me This Round 43 Winner!Weekly Picture Me This Round 47 WinnerPicture Me This Round 49 Winner!
2nd October, 2008 at 21:22:27 -

In reply to an earlier question - yes, it would be good to get rid of the "forbidden zones".

Now, for the movement problem;

Took me a little while to understand what you meant, the arrows look green to me

Anyway, what I'm doing is this;

* This first thibng I did, is completely optional - try with and without and see which effect you prefer. I made the arrow facing opposite the direction of movement to be an obstacle. In other words, PurPur can't move right if there's a left arrow blocking his path. Check the movement events to see what I mean. PurPur is able to walk onto an arrow from any other direction though (is that what you want?).

* Secondly, I'm checking if the X and Y of PurPur and the Arrow he's standing on (hence the "purpur is overlapping arrow" test) are the same. If so, I just change the flags and counters automatically, as if the player has chosen to move in the direction of the arrow.

http://cid-b1e7ee094271bbda.skydrive.live.com/self.aspx/Public/Apurpurtalebackupsave3x.gam

Image Edited by the Author.

 
n/a

Lönnemyr



Registered
  30/06/2008
Points
  69
2nd October, 2008 at 23:37:19 -

Oh! thats exactly how I wanted it, not being able to go against the arrows but all other directions are ok. Phew, now when this is solved I need to find something new to nag about, guess I take som time to update the grapics while I think up something new to add.

When (if) this game is finished, I can put your name in the credits if you like, since you`ve help me so much with the engine I feel like it should be there.

Btw, is that a Swedish flag in your sig?


[EDIT; updated the gam file again so it`s up to date with all changes I made in the event editor if anyone downloads it.. some new grapic also (but that is kind of irrelevant to this topic though) - http://lonnemyr.googlepages.com/home]

Image Edited by the Author.

 
-

Sketchy

Cornwall UK

Registered
  06/11/2004
Points
  1970

VIP MemberWeekly Picture Me This Round 43 Winner!Weekly Picture Me This Round 47 WinnerPicture Me This Round 49 Winner!
3rd October, 2008 at 01:02:24 -

No problem. You can always message me too if you have any more questions - you've got 29 days til my TGF demo expires
It's up to you, but I'm not going to be offended if my name's not in the credits.

The flag is actually the cross of St Piran - it's the Cornish flag.
Good luck

 
n/a

Lönnemyr



Registered
  30/06/2008
Points
  69
3rd October, 2008 at 02:23:52 -

Sketchy

I thought that you were a fellow Swede there for a while (the flag should have been a little more blue and yellow)... what is the "cornish flag"? Never heard of it.


_____________________________________________

Phew, I should really go to bed but before I do I could as well ask one more thing.

I`ve set PurPur`s attack at ctrl, his range is the same as "baddy 1`s", but he has a diffrent color on his scratch animation. The "problem" is that I`m unsure which way is the best one to set a small delay in between PurPur`s attacks (a half sec would probably do). I don`t want the game to be about who`s the best keyboard masher

And I used "baddy 1`s" alterable C value to store damage, and I`m thinking about using the C value for all enemys damage storing though out the game. This seems like a good solution to me but since I´m not that good with TFG or other klick products I just want some opinions on this? Thanks.

here is the download; http://lonnemyr.googlepages.com/home

Thats all for today, goodnight folks..

 
-

Sketchy

Cornwall UK

Registered
  06/11/2004
Points
  1970

VIP MemberWeekly Picture Me This Round 43 Winner!Weekly Picture Me This Round 47 WinnerPicture Me This Round 49 Winner!
3rd October, 2008 at 17:23:17 -

http://en.wikipedia.org/wiki/Cornwall


It should be quite easy to create a delayed attack for the player in exactly the same way we did for the baddy.

However...
What's worrying me at the moment is the fact that your baddies don't move. Because of this, even if you add a delay, it will be easy for the player to get close, attack, and then move back out of range before the baddy gets a chance to fight back. This might not be very much fun?

You have various options;

1.) Parting Blows
* make the delay between enemy attacks slightly random - not just a fixed 3 seconds.
* add a moderate probability of the player being hit as they move out of attack range.
-> this would force the player to judge whether they could make another attack without being hit, or if the probability of being hit whilst doing so is higher than the probability of being hit by withdrawing.

2.) Ring of Red
* again, make the delay between enemy attacks slightly random - not just a fixed 3 seconds.
* the player holds down attack button to prepare. The longer the key is held for, the higher the probability of a hit when the player does attack (by releasing the button).
* also factor in some kind of "evasion" rating for enemies.
-> this would get the player to adopt different strategies against different enemies. Against tough (lots of HPs) but slow (low evasion) enemies, it would be best to make lots of quick attacks without spending long aiming. Against small, agile enemies the player would have to spend longer aiming or they'd never hit.

3.) RPG-like
* a more stat-driven combat system.
-> reduces the luck factor, but very ambitious and probably not worth the effort?

4.) Mobile Monsters
* allow the enemies to move so that running out of range isn't an option.
-> I'm not talking about complicated pathfinding, but a very basic routine should be moderately easy to code (something a little like this: http://www.logicmazes.com/theseus.html ).

"Rogue" has a fairly basic system of enemy behaviours that is not unrealistic to recreate;
* aggressive - once player enters room, monster immediately chases and attacks player.
* normal - monster does not move until attacked, and then chases and attacks player.
* passive - monster never moves, but will fight back if attacked.
* greedy - once player enters room, monster runs to guard nearest treasure chest.


These are just a few ideas - I'm sure you can think of others.


 
n/a

Lönnemyr



Registered
  30/06/2008
Points
  69
3rd October, 2008 at 23:48:03 -

True. Indeed I have been thinking about the combat system but it`s hard to decide for something becuse when the choice is made it pretty much affect the whole gameplay. One thing I`m sure about is that I need different types of enemies (kind of obvious), some with quicker attack, some which hit a bit harder, takes a bit more dmg and have diffrent range of course.

But as you say, even if I add a bunch of new baddys to the game it will still be kind of static if they never move. without enemy movement I would need to try to put every enemy in a stratigic position to make the game challanging. I don`t know if I said it before but mainly I`m planing for puzzels and exploring, combat is second (like the zelda games), still I don`t think the combat engine feels finished yet either.

*think* *think*


Unlike most RPG:s were you often can take alot of dmg since you got alot of hp and armor I rather have a game were getting hit is crucial. After all you`ll only start with 3 hearts and most heart pieces will be "well hidden" or bought (expensive!) in a store/found in a dungeon after defeating a boss.
I`m thinking about maybe giving PurPur the possibillity to buy an temporary "armor" which can take 1 or 2 hits from the store, but that will still not make him a good brawler(There will probably be no more then 16 hearts in the game btw.. kind of odd number, I know. And at least 6 of them will probably be hidden at really crazy places so the average player probably won`t find all of them, like digging in an exact spot and things like that..).

RPG system is out of the question since "A purpur tale" is more of an adventure game then a rpg. It would give the wrong feeling I think and it is also probably the one that requires the most work.

Parting blows.. hm I don`t know, still seems lika more of a brawl then strategic combat. You don`t know when you`ll get hit so chances are the player just charge in guns blazing.. if you get hit, you get hit but it`s still better then moving back and getting hit right? I guess you could tweak it a bit to make it a little more strategic but still, PurPur won`t be able to take much dmg.

Ring of Red(odd name?) ..This is a good one I think. Would be handy with a power bar or something like that to see how much power you have before you release.

Enemies could have diffrent; evasion, attack power, hp, range..

Still they would stand still which would require me to take great care in were I put every singel foe. And even if I put them all in very good spots it would still be kind of a love/hate system. Some might like the idea of trying to sneak or fight their way past "cockblock enemies" but some might think it`s booring that they never move.

Mobile monsters.. This could be good but if you can`t escape, then there isn`t much strategy anyway? PurPur takes a step back, baddy 1 follows.. time goes by, purpur will eventelly have to take the blow. Ofc you could add a twist or two, but feels like it would either be a hit and run sceniaro or a just a simple brawl again. Trying to avoid the brawl factor, very important And since the game is a "snap to grid" with each tile being 50pix running around hitting people won`t work as neat as in say "Zelda: A link to the past". Feels like the grid kind of kills this idea =/

To have diffren behavior for diffrent foe`s is not that bad. Seems like there would be fairly complex though (My TGF level is on making pong games, really).


Right now I`m thinking about a mix maybe? This game is grid based, and you really feel it, so a action combat system feels a little out of place. Still RPG battles are slow and get annoying. Something in between would be the best solution I think, som kind of action strategy combat?

I really like the "prepare attack" idea. It would go niecely with some "miss", "hit" and maybe "critical hit" animations so you see what`s happening. For each enemy to have a really small chans to backstab when purpur steps out of range would probably be acceptable. It should be rather low though so it would still often be a good choice to step back for a while now and then if needed. However I see things though, somehow, someway, enemies NEED to be able to move, if just a little. I have no Idea how to do this though without adding lots of detectors for each foe. But if there is a possibility that a second enemy might join the battle the games combat system would`t feel that static.

Some kind of behaviours could be a good way to add diffrent types of enemy movement easily when they are finished in the event editor.

More suggestions? Got any idea how to do anything of this btw?



I can see now that I gave birth to a huge block of text, I hope you can deal with it.

 
-

Lönnemyr



Registered
  30/06/2008
Points
  69
4th October, 2008 at 00:02:33 -

Oh! And another concern.. right now I`m testing if "A purpur tale" would be better in a larger frame (test frame is 3000x3000), it`s possible becuse I don`t have to use alot of forbidden zones like I first did, almost everything the landscapes are made of is backgrounds now.
Anyway, bigger frame then screen resolution requires scrolling so I set a new event - always foucs screen at 0.0 - purpur. Now till the problem. The status bar is in the left upper corner were it should be, all active objects there and counters are set on not following the screen.. but what about hackdrops? Can I make them do something liek that too.. or do I need to replace them with actives?

 
-

Sketchy

Cornwall UK

Registered
  06/11/2004
Points
  1970

VIP MemberWeekly Picture Me This Round 43 Winner!Weekly Picture Me This Round 47 WinnerPicture Me This Round 49 Winner!
4th October, 2008 at 00:54:37 -

Ok, a lot of points there for me to respond to...

"a game where getting hit is crucial"
I don't have a problem with that, but it may make things a little trickier...

"probably be no more then 16 hearts"
Mole Mania (my favourite game ever) has it so you must find 4 pieces in order to make a whole heart. I'm not sure Zelda doesn't but I haven't played it in years...

"temporary armor"
Maybe. Try it and see I guess. In Zeliard you can buy shields which absorb damage from frontal attacks only, so if someone sneaks up on you from behind you're dead pretty quick.

"RPG system is out of the question"
Glad you said that - not sure I'd know where to start even.

"Ring of Red(odd name?)"
There's a game called "Ring of Red" that does something similar (but it's a 3D action strategy game with mechs). I've never played it, but it sounds quite good.

this is from an FAQ at www.gamefaqs.com ;
"a percentage shows up on the right side of the screen. As time
progresses, the percentage grows. The precentage is the precentage that your
shot will hit the target. The longer you wait the better your chances of
hitting the target. This is also bad baecasue it give the enemy more time to
attack you! Also, if you are hit while you are targeting an enemy unit, your
percentage goes back to beginning!"

"if you can`t escape, then there isn`t much strategy"
They could be made slower than the player, and certainly could be out-smarted as their pathfinding will be so basic.
You could also consider making your game turn-based. By this I don't mean giving the player action points etc - but make it so enemies move 1 square when the player moves one square.

"diffren behavior for diffrent foe`s......would be fairly complex"
It doesn't have to be - the first three behviours I listed from Rogue would only need one or two different events each.

"Got any idea how to do anything of this btw?"
I'll probably leave the actual combat bit for a while. However, I could use the enemy movement in a game I'm working on myself. I've had a think about it, and I have a pretty good idea in my head of how I want to do it. Could take me more than a day to get something that works though.

"would be better in a larger frame"
I would almost certainly say yes, use one big frame. 3000x3000 is actually a very manageable size - I'm sure you could go even bigger if you wanted. The only potential problem will be with enemy movement - you don't want every monster on the map converging on the player from the outset.
Somewhere, I've seen a really good example of Zelda style scrolling - really easy, a single line even maybe. I'd probably go with that (I'm pretty sure I can find it again).

"but what about backdrops?"
yes, it looks like you'll have to change them to actives.



EDIT: Found a zelda scrolling example made in TGF - it's a lot of events though (think I can find a better one, but maybe not with TGF I guess) http://www.clickteam.com/CTforum/showthreaded.php3?Cat=&Board=fac&Number=290637&page=&view=&sb=&o=

Image Edited by the Author.

EDIT: This is more like it I've converted an MMF example to working TGF. It would have been a single event in MMF but because TGF doesn't have Min() and Max() it's 6 lines
http://cid-b1e7ee094271bbda.skydrive.live.com/self.aspx/Public/Scrolling.gam

Image Edited by the Author.

 
n/a

Lönnemyr



Registered
  30/06/2008
Points
  69
4th October, 2008 at 04:06:46 -

By the way, hitting in close combat will probably be PurPurs basic attack and will stay pretty much the same though out the game, thou other items such as bombs etc is to be added which might also need to be good to have in mind while thinking out a combat engine I think. Unfortunally I have not come up with that many items yet.. and bombs are the only ones which will have some kind of battle effect so far of the few I have thought up at this point.

I still think ring of fire example is really good, but there need to be more (enemy movement etc) to make the games battles fun. It would be a nice thing to be able to have something like that though, especially in boss fights to make them more tough (be giving them high evade so you`ll have to really time your attacks).

If you get any bright ones on how to do it, tell me even if it`s just a "rough though". It could always be improved later on.

And yes you`ll have to collect heart pieces in zelda too, but you can find a whole heart here and there if you`r lucky. And after a boss fight you`ll always get a whole heart etc. Depending on how big the "world map" is when the game is finished I might hide both whole hearts and heart pieces, but if it gets to "small" I´ll stick with whole hearts. I have three gold cats, a coinbag and other tresures to hide as well so...
I guess all you would need is a counter and an animated active object with 4 animations to simulate heart pieces so it`s not so much work.


Yeah I agree, it´s to early to decide if there should be a "temporary armor" item. I got the idea from "The legend of the Mysical ninja starring Goemon" for N64, one of my favorite games There you can buy an armor and a helment which both can absorb 1 or 2 attacks I think.. I like the idea of an armor item that you can buy before taking on a dungeon, gives the same feeling as go buying blue potions and catching fairys in Zelda to "stack up". It`s a cosy feeling.

The movement I had in mind when thinking about "moving enemies" was that kind of turn based one you mentioned. Purpur moves which triggers baddie so he moves. Thats why I thought that it would be kind of hard to escape.
Nice to hear you are working on a game.. and a movement engine, it`s no rush really with the combat part for my sake, I would need some help when the time comes though. But it could be wise to sort out how the baddie`s movement will be before taking on the rest of the enemy AI (since they kind of affect each other).

May I ask what kind of movement you are working on, something grid based? I noticed something with the current movement in "A purpur tale", it`s possible to moon walk and/or moon slide if you press more then one button. That might be becuse I added the "change purpur`s direction" event afterwards, I`m sure it could be fixed though. But I`mk thinking about not just changed direction later on but playing a walking animation when he moves, that should be stable right?

Thank you very much for the link, funny thing because I was thinking about how to do exactly that earlier today, even spoke to a friend about it. It`s easier on the eyes then just plain "jumping" to the next frame. About grindquest you told me about earlier. The game was cool, really advanced stuff but there is two things he could definally have done better. First is bigger resolution, why does everyone make their games to fit such small windows? And then there is the lack of movement animation, made my eye heart a bit. If he`d just done that it would have been an even better game in my opinion. So I really want to fix those things in my game


Another late nighter, hope what I wrote is understandable.


 
-

Sketchy

Cornwall UK

Registered
  06/11/2004
Points
  1970

VIP MemberWeekly Picture Me This Round 43 Winner!Weekly Picture Me This Round 47 WinnerPicture Me This Round 49 Winner!
4th October, 2008 at 13:28:12 -

Ok, here's what I'm thinking for the battle system;


TIME
Elapsed time since last attack.

DELAY
We need a delay between attacks, or the player could just keep mashing the keyboard - even with very low hit%, if they attacked frequently enough they'd get lucky quite often.

SKILL
Helps determine the rate at which hit% increases (along with defender EVASION).

EVASION
Helps determine the rate at which hit% increases (along with attacker SKILL).

HIT%
The probability of a hit.

MAX
This makes the increase in HIT% non-linear (slowing as over time).

CRITICAL
Helps determine the probability of a "critical hit" which does extra damage.


// add a delay between attacks
* if TIME > DELAY
-> start aiming...

// gradually increase accuracy
* while aiming...
-> set HIT% to (TIME * (SKILL / EVASION)) - (MAX * (SKILL / EVASION))

// critical hit!!
* on attack
* (70 + RANDOM(100)) < ((HIT% - 70) * CRITICAL)
-> do lots of damage!
-> set enemy TIME to 0 (make them start aiming all over)
-> end attack

// don't allow accuracy to go over 90%
* on attack
* HIT% > 80
-> set HIT% to 80

// hit!
* on attack
* RANDOM(100) < HIT%
-> do some damage
-> subtract 20 from enemy TIME
-> end attack

// end attack
* on attack
-> end attack (ie. set TIME to 0 etc)


The actual effect of all this is as follows;

Player has to wait a short time before they can attack. After this time, their accuracy increases - rapidly at first but then more gradually.
The players accuracy can never exceed 80%. However, once accuracy is over 70%, there is a chance of a "critical hit". The probability of a critical hit continues to increase even after accuracy goes past 80%.


By far the hardest part of this is going to be handling combat with multiple baddies

 
n/a

Sketchy

Cornwall UK

Registered
  06/11/2004
Points
  1970

VIP MemberWeekly Picture Me This Round 43 Winner!Weekly Picture Me This Round 47 WinnerPicture Me This Round 49 Winner!
4th October, 2008 at 13:51:02 -

After finally finding a work-around for a bug in TGF, I'm starting to get somewhere with the enemy movement. Could still be a little while before I can send you an example file though.

How does this sound...

* Map will contain multiple "Zones". These are just large invisible actives, all with the same qualifier. Each room in a castle would be 1 zone for example.

* If player walks into one of these zones, all enemies in that zone will either move towards the player (if "aggressive") or do nothing (if "passive").

* If player attacks a passive enemy, they will become aggressive (surprising eh?).

* If player leaves a zone, enemies in that zone will either stop chasing (if "normal") or continue to chase (if "persistant").


The actual movement is a lot like in "Theseus & the Minotaur" except the monsters won't always choose horizontal movement in preference to vertical movement. Still, enemies won't be able to follow you around a corner for example.





I must admit, I hadn't noticed the "moonwalking" bug, but I'll look into it. I noticed a different problem though...

Suppose the map looks like this, with an arrow between PurPur and a block, with a tree behind that.

P>BT

What should happen if PurPur tries to move ont the arrow? Should PurPur move and then stop, and if so, should he be allowed to move left (against the arrow)? At the moment he just moves *through* the block, which can't be right.

 
n/a

Lönnemyr



Registered
  30/06/2008
Points
  69
4th October, 2008 at 16:23:43 -

Interesting. I tried zones in a game before, they would have to be rather big though so it would`t take so many of them.. but since I currently use so few actives I guess I have some to spare.. limit was at ~220 something i think. Last night I though something like giving the baddies another active which could be their "detection" zone but it would probably take less actives to do zones..

How hard would it be to add a " randomly moving " behavior? It would act like the passive baddie when hit but untill then just move around a little at "random".

Yeah I noticed that bug too, but it`s hard to erase, I do have an D and E detector in front of purpur, D is always and grid in front while E is always two grids in front. I put them there to assist with the pushing block events but they would probably come in handy later on while setting the "special item`s" events.
Anyway the E detector could be used in an event so purpur would`t be able to step on an arrow if there is an obstacle or trap overlapping the E detector. I`m not sure, mayube I`ve already set this event I dont remember, I was thinking about it though..

There would still be a problem if the situation was like this though P>>BT.. or any other combination with more then one grid traveling space on top of the arrow blocks. Make:ing purpur traveling against the arrows would be a bit weird and "buggy" as well. The only soulution I can think of right now is to take great care and try all arrowblocks in the game before release..

..pushing blocks on top of the red arrowblocks that looks like this; "PB<" CAN (not always) also trigger a simular bug, it prevents the arrow block from being created at the new spot so it looks like it goes on the arrowblock and then goes back again. Nothing wrong with that, it looks good but if purpur is really sneaky he could take the blocks place before the block is back and that would mean the blcok lands on purpur. And ofc the exactly same bug as with purpur and arrowblocks could also happen to push blocks and red arrows.

Might be able to solve the purpur situation becuse purpur got alot of detectors, I`m not so sure about the pushing blocks though.

Do you think it would be a good thing to add diagonal movement for purpur as well? I`m haveing a hard time to decide this. Sinve the grid is so big it might uh.. feel a little weird (but if it were added I think it would be able to take care of the moonwalk/glide bug since pressing those arrow would now cause purpur to go in a new direction now).


I`m in a hurry so I`ll just check back later!

 
-

Sketchy

Cornwall UK

Registered
  06/11/2004
Points
  1970

VIP MemberWeekly Picture Me This Round 43 Winner!Weekly Picture Me This Round 47 WinnerPicture Me This Round 49 Winner!
4th October, 2008 at 17:25:34 -

This enemy movement problem is turning into a massive pain in the arse to be honest
It's something that's so simple in MMF but a nightmare in TGF because it's missing so many features and the object focus system doesn't work.

It's going to be a LOT of events.

Latest (unfinished) version here;
http://cid-b1e7ee094271bbda.skydrive.live.com/self.aspx/Public/ZoneMove.gam

Image Edited by the Author.

 
n/a

Lönnemyr



Registered
  30/06/2008
Points
  69
5th October, 2008 at 01:08:24 -

Yeah, it is starting to get a little annoying that so many things that would work in MMF don`t do in TGF =/ I wonder if my friend still got his copy of mmf. Question; If you open a tgf save in mmf (or mmf2), would it be messy or is it possible to convert a gam file ? If that`s not a problem I might try to get my hands on that damn mmf =/

Thanks for you hard work Sketchy, I`ll download and check it out right away!

 
-

Lönnemyr



Registered
  30/06/2008
Points
  69
8th October, 2008 at 00:19:52 -

Ok, an update might be in order. I`ve got my old pc up and running now so I`m not stuck with TGF anymore (since I don`t have to work on my laptop). So sketchy, should I do an overhaul of the entire movement system etc now when I have mmf2 to work with?

The enemy movement file you uploaded btw, I think that was an pretty good AI. However, I´m not sure if maybe it would be better to give the baddies the power to move on their own, even if purpur don`t move. I´m still a bit confused on how to make the movment/combat system now, especially since I`m not to used to mmf (feels a little bit sloppy to use tgf solutions when there might be a better way to do it in mmf). Still like the idea of evading+loading attacks, enemey behavior, backstab chance etc.


Oh well, look at the clock. It´s getting late. I hope you`ll drop by again when you find time too.

 
-

Sketchy

Cornwall UK

Registered
  06/11/2004
Points
  1970

VIP MemberWeekly Picture Me This Round 43 Winner!Weekly Picture Me This Round 47 WinnerPicture Me This Round 49 Winner!
8th October, 2008 at 16:27:24 -

There's probably not a lot of point changing the movement system now, since it's not overly complicated and it works.

The enemy movement probably can't be improved on that much either. The fact that it doesn't use detectors is probably a good thing in the long run, even if it seems complicated.

The scrolling can be done in a single line like I said before.

The part to do with attacking can be done better, but we're going to try and come up with a whole new combat system, so that's ok.
Before I actually start coding anything though, it would be helpful if you could be very specific about what you would want the combat system to be like.

Two examples;

Image

The first example is fairly easy to make. The targetted enemy is always the one in the direction PurPur is looking. It has an RTS style health bar, and a counter showing hit%.

The second type is like you get in Advance Wars, Fire Emblem, and just about every RPG ever made. It has the advantage that it looks good, but in most other respects it is not a good idea - It requires extra graphics, it's much harder to code (VERY difficult with multiple enemies), and it may be less user friendly (how would you move past an enemy without attacking it?). You could also show stats like evasion, skill, etc under the baddies.

Again, if you are thinking of some other way, let me know.

 
n/a

Lönnemyr



Registered
  30/06/2008
Points
  69
8th October, 2008 at 18:40:34 -

Good to see you back Sketchy!

The Second one would seem to me like typical finalfantasy battles. personally I find those annoying, they are fun to begin with but more than often you get boored with the combat before finishing the game becuse it takes more time to kill the most simpel foe.

So I`d say the first one is better. I want it to be realtime strategi if possible (the enemy can move even if purpur doesn`t), if it`s done right the game will feel more alive and also will this probably look better once I add some walking/movement animation for purpur and the foes. Diffrent types of enemies behaviour like you suggested before would be a really good thing I think, plus things like "evade" and "backstab chances".

In short I kind of like it to be simular to games like; Zelda and secret of mana, but, with a bit more strategi (aiming, evasion, backstabbing... maybe that temporary armor item), otherwise it will be very simple, no level ups just heart collecting, no new equipment just "unqie items" found in each dungeon etc. Each unquie item will give purpur the possibilities to find either a) new collectable hearts/golden cats, b) new locations to travel or c) both.There will probably be a shop in the game too were purpur can buy health potions etc. Thats about how complicated I`m thinking. Some of those unqie items might be tricky but that`s not an issue at the moment.

Purpurs attack will stay the same though out the game, but some other "unqie" items might make combat easier for him. Thats what I´m thinking.


Hm, I don`t think there is anything new in the event editor but when I get home I`ll upload the most recent version of the gam file, I can see that you have an old one (old grapics).


[EDIT; if you have any other questions about the battle engine, feel free to ask.]

Image Edited by the Author.

 
-

Lönnemyr



Registered
  30/06/2008
Points
  69
8th October, 2008 at 23:07:01 -

I see that my english tends to be worse then it should from time to time, I apologize about that. But that`s just becuse I`m always in a hurry and it`s not my native languish.

Uploaded the new file (mmf2), same place as always; http://lonnemyr.googlepages.com/home

 
-

Sketchy

Cornwall UK

Registered
  06/11/2004
Points
  1970

VIP MemberWeekly Picture Me This Round 43 Winner!Weekly Picture Me This Round 47 WinnerPicture Me This Round 49 Winner!
9th October, 2008 at 01:46:48 -

Just minor changes so far - will let you know when I do something more significant;
http://cid-b1e7ee094271bbda.skydrive.live.com/self.aspx/Public/v001.mfa

It looks like it won't be possible to move all enemies at once - there's no way to stop two or more both moving to the same square. Instead, we'll have to run a fastloop to move them all one at a time. It's inconvenient but it's not a big problem.

Your graphics are looking very nice now, although the perspective isn't consistent - in particular, the trees are viewed from above, but everything else is viewed at an angle. Also, I'm not sure PurPur and the baddies need a box around them - what's it for? A little texture and variety would help too - make a couple of grass tiles with flowers or something, just to break up the areas of solid green.
Been wondering this for a while - why on earth do you play a giant purple cat?!

No need to apologize for your english - it's really very good, and much better than my swedish (infact I don't know any swedish at all). I'm always amazed at how good the rest of the world is at speaking english, and how bad we english people are at learning any other foreign languages - I lived in France for 7 months and I can still only barely speak their language. Out of interest, do you have any idea how widely spoken english is in swedish ski resorts? I've worked seasons in the Alps and Rockies and I'd really like to do a ski season in scandinavia somewhere, but I don't know if the language barrier would be a big problem.

 
n/a

Lönnemyr



Registered
  30/06/2008
Points
  69
10th October, 2008 at 17:17:02 -

Is it`s still possible to make them move even if purpur don`t, even if they move one at the time?

About the grapics part, ofc it`s not finished yet, the stones, the trees and the texture of the roads should eventually all be replaced. The stones, the grass and the road simply got messed up when I changed from 16million to 256, I kind of expected it though. Also the trees are to small so I´ll probably make them in four pieces so they`ll take up 4 grids when I´ll change them.
I`ll fix the grass later on, first I want to fix the stones and trees.. and the fence too, it`s still in the old perspective.

The boxes around the enemies, purpur and chests were supposed to make it eaiser to see where everything was, I though it would be a great idea becuse in the beginning I thought it would feel kind of "turn based". Maybe I should remove them, you think it would be better without?

Oh, there is a reason why purpur is a giant purple cat. Alot of years ago in the 90's I made a game for my friends using KnP, it was called "Purpur kattens äventyr" which is Swedish but would be translated to "The purpur cats adventure". The purpur cat goes way back though, It was kind of like an "internal joke character" for me and my friends.
I thought it would be fun for my friends if a made a second game, especially since the first one was so horrible in all aspects But this project went from a small random quick creation to a serious project, just look at how the grapic looked in the first uploaded gam. Anyhow, now when it`s come this far I`ve decided to adapt the gameplay so it would fit a bigger audiance. So it will probably be uploaded to DailyClick when it`s finished (I never uploaded any of my games before).

Also, Purpur means Purple is swedish, and as you know a cat can purr when it`s happy, so I guess that´s what it name comes from, the "purpur" cat. And when you think about it, purpur is not so weird if you compare him to kirby (a pink "ball" which sucks people up).. or sonic (a GIANT BLUE HEDGEHOG!).

btw, I`m not familiar with fastloops so it would be great if you added some notes so I could learn something, thanks!

 
-

Sketchy

Cornwall UK

Registered
  06/11/2004
Points
  1970

VIP MemberWeekly Picture Me This Round 43 Winner!Weekly Picture Me This Round 47 WinnerPicture Me This Round 49 Winner!
10th October, 2008 at 18:48:42 -

sorry I haven't produced anything lately, but i'm getting rapidly more frustrated with this. Have you considered making it non-grid-based? It might make the movement side of things easier. Or maybe start another thread - see if anyone else can come up with something.

 
n/a

Lönnemyr



Registered
  30/06/2008
Points
  69
11th October, 2008 at 15:59:13 -

No need to be sorry, you`r helping me out of goodwill anyway

Hm, non grid you say. Reason why I chose grid movment was becuse that was the only self made movement that I know how to do(didn`t know how to make it smoth though). And i really don`t like the "bird perspective" built in movement that comes with tgf/mmf (I don`t remember what it was called). I guess it would be possible to do another type of movement, no doubt. But some ideas might have to be changed in the battle system, no?
It would be hard to know if you`ve entered or left a baddies attack area or not. With grid movement you could easily learn that baddie1 has a one grid attack area so you would just have to back away once. Without grid movement this feat might be a bit trickier, maybe a transparent area(or maybe just the outline) could be viewed while purpur is inside and dissapear when he leaves?
Ofc, if grid movemnt is not used the player would be able to move more freely, hence the attack zones would not be squares any more, more like circles?.. hm, well I don`t know becuse I can`t remember ever seeing a good movement engine for this perspective which isn`t grid based.

If you have any suggestions I`m very open-minded. Any ideas of your own or do you know any good click game with good movement for this type of game?

I feel a little bad about starting another thread right now since the project is kind of a...uh..mess? I usually like to know what I`m supposed to ask people but at this current stage I`m not really sure anymore.. maybe a new movement system would be for the better, maybe not.. I simply don`t know.


 
-

Sketchy

Cornwall UK

Registered
  06/11/2004
Points
  1970

VIP MemberWeekly Picture Me This Round 43 Winner!Weekly Picture Me This Round 47 WinnerPicture Me This Round 49 Winner!
11th October, 2008 at 17:14:49 -

Ok, we'll stick with the grid based. I think I've nearly got it anyway... (the movement part, that is)

All this talk of Zelda got me started playing SNES games again. One of these was a game called "Secret of Evermore". Not strictly a zelda clone, but it does have similarities. Anyway, the interesting part was the combat system. It doesn't appear to be grid based, but it does feature weapons that "charge" up and are more effective the more fully charged they are. The bazooka for example, must be fully charged to be fired - if you press fire before then, the character just knocks the baddy over the head with it!
You might want to take a look (rom & snes emulator can be found at rom-world.com).

At this point the game I'm working on is very similar to yours. If you'd like to see how far I (haven't) got, there's a file here: http://cid-b1e7ee094271bbda.skydrive.live.com/self.aspx/Public/005.mfa

It's probably not something you'd want to copy, as it's a *lot* of events for just 4-direction movement and block pushing. I just wanted to add a few small details, such as being able to turn on the spot by tapping a direction key.
I may use a normal non-grid based 8-direction movement for the overworld. If there is an overworld - I'm taking it very much one step at a time. I have yet to decide on a combat system, or indeed if there will be any combat.

 
n/a

Lönnemyr



Registered
  30/06/2008
Points
  69
11th October, 2008 at 22:03:38 -

Hehe, I´m a big zelda fan.

I`ve downloaded the game and a snes emulator, I´ll need to play for a while before I can write my opinion though. I`ve downloaded you mfa file too, but as usual I`m not home yet so I can`t open it here, I´ll put it on my USB stick for now.

About block pushing.. I`ll probably have to change those events in my game as well. As it is now purpur automatically push everything away then the player hit`s space button. I`m thinking that it might be better if pressing space allows PurPur to "grab" the blocks, then I could make him both push and pull, which would be useful in more complex puzzles. Moving different blocks will be a big part of the games "thinking" so.. it`ll probably have to be done.

 
-

Sketchy

Cornwall UK

Registered
  06/11/2004
Points
  1970

VIP MemberWeekly Picture Me This Round 43 Winner!Weekly Picture Me This Round 47 WinnerPicture Me This Round 49 Winner!
11th October, 2008 at 23:26:46 -

Also been playing "Illusion of Gaia". Good game, much more like Zelda. Possibly even better than zelda (that's blasphemy I know).

Another game which I very highly recommend is "Mole Mania" for the gameboy (the best puzzle game ever made imo - made by the same guy as mario, donkey kong, zelda, f-zero etc). You can again get rom and visualboy advance from rom-world.com.

Anyway, that uses an extra button for push/pulling, so the system works like this;

To push object;
* just walk into it.
* this works on every kind of moveable object.

To pull object;
* press arrow key to face block, then hold fire and opposite arrow key to drag it.
* this only works on some types of object - not heavy ones.

To kick object;
* hold fire until animation changes, then press arrow key in direction of object to kick.
* this only works on a few objects (balls, cabbages, barrels etc) - they keep rolling until they hit another object.

To throw object;
* hold fire until animation changes, then press arrow key opposite direction of object to kick.
* this only works on a few objects (balls, cabbages, barrels etc) - they are thrown back over your head, and keep rolling until they hit another object.


The puzzles are incredibly well designed. For example;

* You are forced to tunnel,
* but, this creates a hole where you surface,
* and, this hole stops you moving the ball where you want it (the ball would drop into the hole),
* so, you push a barrel into the hole to block it,
* but, now you can't dig another tunnel any more (you can't tunnel through a buried barrel).

Honestly, it's sheer genius. You *MUST* play it!


Variations on a theme...
"Golden Sun" (another brilliant game) features a lot of logs or log-like objects in it's puzzles. They are basically big blocks, 3 squares long by 1 square wide. They can be rolled from either side, but cannot be pushed from an end. Don't ask me how you'd code it in MMF though - it wouldn't be easy I don't think. Also, if they are pushed into water, you can use them as a kind of bridge.

It also features "psynergies" (magic basically) allowing you to move blocks from a distance of 2 squares away, and to lift blocks so you can stack or walk under them.

It also features a variation on the plumbing type games. Some blocks act as right-angle bent pipes whilst some are plain vertical or horizontal pipes. You have to push them into position, such that they form a continuous pipe between two points. Mole Mania actually also features bent pipes used to redirect rolling balls and cabbages.

If you know of any other puzzle elements that could be added, please feel free to share

I'm thinking of including a kind of sudoku puzzle in my game, where some of the floor tiles have markings corresponding to numbers 1-9. You'll have to solve the puzzle and move each of 9 blocks, so that they are all on a different square with the same number (there will be a sign on the door or something to tell the player which number). I hope nobody else is reading this or I've just given away the solution...

The latest change to my game has made it so the character moves more slowly when pushing objects. It's only a little detail, but it makes a huge difference - all of a sudden, the blocks actually started to *feel* heavy. Could be worth adding?
http://cid-b1e7ee094271bbda.skydrive.live.com/self.aspx/Public/006.mfa


The problem with making a lot of changes to the push/pull system is that they need to be integrated into the movement system. You can't change one without having to modify the other. If you want to make changes, that's fine, but make certain you won't be wanting to change it again after.

I'm still *trying* on the AI movement problem, but don't seem to be getting far. I just don't understand why some of the things I've tried haven't worked
If I get totally stuck I'll move onto the combat system instead.

Image Edited by the Author.

 
n/a

Lönnemyr



Registered
  30/06/2008
Points
  69
13th October, 2008 at 18:04:32 -

It would probably be better if purpur really "pushed" the blocks instead of just making them push themself. I`ll need some new animations for purpurs push and pull in all 4 directions.. might take me some time since I`m not that good at pixling and I`m still working on the new tree`s. The "slow movement" when pushing/pulling an object is a great idea, it would definally be worth adding, but I`m not sure exactly how though.. I`m still thinking about how to do the push n pull (and make purpur follow the blocks).

Puzzles.. Hm, I had a similar idea to your sodoku puzzle before (it was for a game I never finsihed), the floor was covered in symbols which the player could activate, and in order for the player to move to the next room he`d have to activate the right one`s in the right order.

So far, all puzzle elements in "a purpur tale" is blocks and arrow squares. The blocks will be important ofc, and there will be alot of them. The normal push blocks could be pushed uppon arrow squares and there is a different kind of arrow square which purpur can stand on. The arrow squares will work like a conveyor (but you know this already).

Besides those I`ve not really thought of any good ones.... I have been thinking alot but I can`t come up with anything There is always "run around in different roms and press different button puzzles, but personally I`m not too fond of those.

Since I use a kind of big grid it would be hard to add good agility tests too, it`s kind of hard to fall into a hole by accident while moving Ice might work though, when he moves Purpur could keep moving untill he hit`s something? Might be something you could use in your game too?

Yes I do know I`ll have might have to change more things if I start to come up with new things now, thats why I`ve not done one singel event since we started talking about it. Might as well sort the good ideas out first.
Could I see how the events for the AI looks right now? I might have some ideas, even if I`m not that good with setting events.


I have tried the last version you uploaded on you game. It has kind of cute grapic, the lack of colors make it look like a gameboy game though (which is not a bad thing), but why is it so small?



Image Edited by the Author.

 
-

Sketchy

Cornwall UK

Registered
  06/11/2004
Points
  1970

VIP MemberWeekly Picture Me This Round 43 Winner!Weekly Picture Me This Round 47 WinnerPicture Me This Round 49 Winner!
13th October, 2008 at 21:39:10 -

You're welcome to look at what I've got. Like I said it doesn't work at all though. Maybe you can figure out why? Unfortunately it's probably very hard to understand what I was trying to do.
http://cid-b1e7ee094271bbda.skydrive.live.com/self.aspx/Public/v003.mfa

I'm running in to the same kind of problems with my own game now.

I want to add ice (I stole the idea off Golden Sun, but I see you had the same thought) and rolling balls, but it's probably going to mean starting almost from scratch - problem here is that several blocks can be sliding at the same time, so checking for collisions etc is hard. I also wanted long grass that slows the player down (for purely aesthetic reasons). The easiest thing to do would be to store everything in a big array, but I can't anything til I decide on either one huge map or an overworld map with lots of sub-levels.

EDIT: Actually I might be able to fix it to disable all other events until the moving block has stopped. That may even be a good thing. I think it's what GoldenSun does.

The graphics in my game are currently just placeholders.
The real ones will look like this:
Image
I realise that they are small, but that's for several reasons...
* they look more retro - snes era hopefully
* small detailed graphics look better than big bland graphics (and I'm much better at pixel art)
* small graphics take less time - I want my game to be fairly big eventually, meaning lots of graphics.

I'm really hoping to put together a very simple, solid game engine, add a basic NPC dialogue system and some simple kind of combat, and then just create loads of different environments with different graphics. I don't want to have to change any events whether the players in a castle or swamp or desert etc.

I'm considering making it a bit like "Indiana Jones' Desktop Adventures" by randomizing large amounts of the game. Basically, I'd have maybe 30 each of sokoban, sudoku, maze, theseus&minotaur, etc types of puzzle. Each quest would contain a random selection of maybe 10 puzzles and some combat and exploring (items would be placed randomly). The idea is that it will be more of a tea-break game, with a game taking only half an hour or so and being different every time you played. For those who want a long term challenge, you could have the option to play another quest with the same character (still with the same items), with tougher puzzles and monsters.

Anyway, first things first - I need to get this engine completed.

Image Edited by the Author.

 
n/a

Lönnemyr



Registered
  30/06/2008
Points
  69
16th October, 2008 at 20:37:05 -

Oh, you`r really good at pixelart. The walls look really SNES like, I really like the doors too. The floor looks a little weird though, I I don`t know if it is supposed to look like that or not... I`m talking about the brownish part.

I`ve looked at the file now and I must say, I don`t understand much of the baddy movement(I had the feeling I would`t), not the events and not how they moved when I tried the game (they all moved like crazy in the beginning and then put themself in front of the bridge and then stopped moving. It looked a little fun though. I`ve been kind of busy lately, being sick among other things but when I get some more time on my hands I`ll try to figure out what it is you`ve done.


I noticed that you have done some other things as well though.. the treasure chest won`t show though the roof anymore, great! I was actually thinking about how I would correct that bug. Thank you alot. About the roof "fade" though, does it not look a little weird? I suppose the purpose was to get it to appear and disappear in a more smoth manner? I`m not sure if it has to do with my computer or not but it kind of "blinks" a couple of times then disappear/appear. Looks a little.. odd?

Again, you changed purpurs movement so it use alterable values, sounds good, but I don`t understand it yet.. so I`ll look into it some more.

Then there is the zelda scrolling, which I suppose only takes effect while moving in between to frames? You left a note there which said something like "for zelda scrolling to work the map needs to be remodeled". I don`t remember exactly.. would you care to explain?


Sounds like you`r trying to do something that could be pretty difficult to pull off, but if you succeded it would surely be an awesome game. I take it your thread about permadeath has something to do with this game? If that`s so, I think it would be cool with some kind of highscore? Maybe a "hall of fame"? Just a thought.
Anyway, isn`t 30 puzzles to few if they are going to be used again and again? Or will there be a random factor to each puzzle?



[EDIT; oh! there is two questions about MMF2. I`m not used to it yet and while clicking in TGF you could easily select a tile(grapic) and press the right mouse button if you wanted to place more then one of the same tile, this does not work in mmf2? Also A feature I used alot in TGF when importing grapic was "create a new *****" which would let me create a new backdrop/active or whatever with the exact same grapic, but still it wouldn`t be the same tile as the other one. They if the name of the first one was "grass tile 1" for example the next one would be named "grass tile 2" automatically. Really handy when importing a grapic tile that will need to be visible from 4 different directions. All I would have to do was copy and rotate, it even renamed itselft correctly.]

Image Edited by the Author.

 
-

Sketchy

Cornwall UK

Registered
  06/11/2004
Points
  1970

VIP MemberWeekly Picture Me This Round 43 Winner!Weekly Picture Me This Round 47 WinnerPicture Me This Round 49 Winner!
16th October, 2008 at 22:48:04 -

To create more of an object, hold down ctrl and drag it. You can also right-click an object and use "duplicate".
To create more identical but different (?) objects, right click on one, and select "clone".

The brown part of the floor is supposed to be wooden floorboards. 20x20 is an awkward tile size, and means I can't make all the boards the same width, so it looks a bit weird. I'll probably have carpets on a lot of the floors, with the wood just showing around the edge maybe. I don't know - It's early days.

Funny about the roof fade. It doesn't look good on my pc either. Most proper games seem to use some kind of fade and it looks really good, so I don't know what I'm doing wrong.

The thing with the zelda scrolling, is that it jumps in big steps. You'll want to make it so the house is centred in the frame. It's not a big deal, but it looks better. Just think about where the edges of each screen will be when you place objects.

The permadeath would indeed be for this game. There will be a (online?) highscore table - that's why I don't want people to be able to cheat. I don't know if 30 of each type of puzzle is too few. If I have 5 types of puzzle (I want more really) that's 150 different puzzles. If a quest involves 10 puzzles interspersed with wandering around and fighting monsters, then you shouldn't be replaying the same puzzles too often. I'm sure it'll be easier to create some types of puzzle than others. With some puzzles, such as the sudoku puzzle, it should be possible to make them randomly generated. Anyway, I still haven't got a working system for pushing blocks etc, and that's my #1 priority. To be honest I haven't done much since downloading Zeliard - it's a great game that I played loads as a kid but could never complete. It's funny how much easier games are nowadays.

Also, chances are this game will never actually be finished. I've been doing this a long time and still haven't finished a full game. If I go away for the winter again, that'll be the end of it

 
n/a

Lönnemyr



Registered
  30/06/2008
Points
  69
19th October, 2008 at 00:56:51 -

Thanks, I knew those basic functions had to be in mmf too, but I didn´t know how to do it.. Actually I find it a bit disturbing using mmf since I don`t always know were the things I`m looking for is.. so I`ll have to spend time looking for them Becuse of this I`ve been taking some time of the project to explore mmf and all extentions, hopefully get some deeper understanding of the program but I got stuck at exploring the platform movements..

About not finishing games, I think that apply to most of us, I`ve never finished a game I would like to play myself so.. only really basic and booring platformers with really crappy gameplay... = That`s why I would like to compleate the engine before I decide to put the game together, becuse I know there =/

 
-
   

Post Reply



 



Advertisement

Worth A Click