YolkfolkThe Dizzy Fansite 0 logged in0 playing
Community discussion

Yolkfolk Prophecies [PROGRESS THREAD]

Started by SALEHMARLEY on 22 May 2011 • 26,767 views

🔒 Closed63 posts
#75455
^been their done that. lol.

I tend to give all my characters Id's in the 100s, Objects in 200s Puzzles 300s and everything else 400s.

But everything is written on paper... yeah anyone remember pen and paper? it's what we had before computers. Anyway i do this because it faster to check my paper work than to click around the screen and have so many folders open, Plus i then forget it its the folder I'm looking at or wanting to change.

Most of my story ideas and puzzles are worked out before hand, but none of them link up until i start building, I have the blueprints for my new game ready for making.
👍 0
#75456
For some reason I never use IDs below 1000.

Paper and pen wouldn't work for me as I change the notes too often.

I guess it's just what works for different people. The common theme is that everyone makes notes!
👍 0
#75458
Yes, i end up with a few dozen scrapes of paper... by the end of it I'm spending a good deal of time trying to find something.. lol i know I've written it down somewere on one of theses bits of paper.
👍 0
#75459

[quote data-userid="279" data-postid="75453"]

Rule 2a – if you can, pick a static object already placed for scenery additions

The number of times I’m placed a whole load of static scenery such as the inside of a hill or the sides of a tunnel only to discover that the properties were still set to the last dynamic object and it’s id number I’d placed on the map simply because I’d picked the tile from the tile list rather than picked an item of scenery already placed and forgot to recheck the properties.

Anybody else made any really stupid errors?

[/quote]

First of all, thanks to everybody for their personal insight into the making of a game {yolkfolk}:thumb: (seriously Jamie, no worries in taking over the thread, all is helping toward my new found knowledge!!!)

Secondly, yes, I am still making school boy errors!!!! I not sure whether i will be able to explain this correctly as I have just found a new Dark Spiced Bacardi that needed drinking and may have clouded my perceptions {dizzy}:huh:
When using a dynamic object in a puzzle (for example, a witch), I action the item object (for example, a black cat) next to the brush that will appease the situation. I will then set the dynamic object (the witch) to dissapear by changing the draw property to 'none'. Next time I activate the action button where the dynamic object was (the witch), the original text still appears? I believe I managed to get around this by also changing the Class to 'None'.

Thirdly, yes I am using a note book to keep all of my Id's....can't remember whom gave me this advice but it has certainly paid dividends with my time whilst making this game

And last but not least. I did exactly what Delta explained. I have gone to load my map but instead hit the save button and wiped over it totally. The second time round trying to create the same dialogue is probably 100 times harder than the first time around!!!! Thanks god for technology and the use of USB sticks {yolkfolk}:delight:

P.s - Just seen your post Pogie, thanks for the praise....I already have a feeling of well being from the creation of the first part of my game. And you are totally correct, I certainly am not a natural programmer!!!

👍 0
#75461
When using a dynamic object in a puzzle (for example, a witch), I action the item object (for example, a black cat) next to the brush that will appease the situation. I will then set the dynamic object (the witch) to dissapear by changing the draw property to 'none'. Next time I activate the action button where the dynamic object was (the witch), the original text still appears? I believe I managed to get around this by also changing the Class to 'None'. That will work, but it is easier to just disable the witch when the problem's solved ...ObjSet(ObjFind(witch id), O_DISABLE, 1);... That way she disappears and can't be actioned anymore.

Or, if you're one of those people that always sets the object as the 'idx' then it's just:
idx = ObjFind(witch id);
ObjSet(idx, O_DISABLE, 1);

Simple eh (plus that funny noise the meercat makes).
👍 0
#75462
The crazy thing is, I use the disable function on half the problems but not the other half. If I remember correctly, when I first started learning this type of coding, I had difficulties using the Disable function (not sure why?, probably mistyped something or another?). Now I understand a little more, I have started to use these short cuts more often but now I worry, when I start playing the game, more and more bugs (for example, actioning something that has already been solved) will crop up!!!!

Anyhows, whilst I know this should be a question for the Jamies thread about coding questions, it was actually something that Grandad had on his return to Magicland that caught my eye and I wondered how to code it?
I want Dizzy to function something without using the action button(on 'return to magicland', if I remember correctly, Dizzy lands on the Monolith and the lights turn on and a creaky door noise is activated), for example...I need him to fall down a hole and for this to action a speech bubble for a character that he has just landed on!!! Is this possible without using the action button?
👍 0
#75463
yeah, just use the 'collide' function. Eet the object COLLIDE property to 'call handler' in the map, then use the CollideObject_ID_MODE() function, where ID is, well, the ID of the object, and mode is 1 (for 'just entered' collision).
👍 0
#75467

[quote data-userid="23" data-postid="75463"]

yeah, just use the ‘collide’ function. Eet the object COLLIDE property to ‘call handler’ in the map, then use the CollideObject_ID_MODE() function, where ID is, well, the ID of the object, and mode is 1 (for ‘just entered’ collision).

[/quote]

Really sorry...I don't understand!!!!

So, if the object ID was 1000, the code would read:

CollideObject_1000_Mode();

This is with the object 1000 set to dynamic brush, class set to action and collide set to call handler?

I don't get what you mean by "mode is 1 (for 'just entered' collision)"

I just tried it on my map and I keep getting an error?

👍 0
#75475
When I first started making 'Daisy' games I found the book very hard to understand, but once you are familiar with how functions work then it will slowly start to make sense. So Saleh, here's my little 'idiots guide' to what you want to achieve.

Essentially, Jamie is right. The basic coding is:

func CollideObject_1000_1() ...as soon as Dizzy touches object 1000
func CollideObject_1000_2() ...as Dizzy is walking through object 1000
func CollideObject_1000_0() ...as Dizzy has just gone past object 1000

and you must change no 23 in the properties(collider equals) to 1 to 'call handler' which will give the required 'action'...and obviously, it must be a dynamic object.

However, you want the speech to happen as soon as Dizzy lands on someone's head, so Dizzy must be able to stand on the top of their head. This means that the collide object must be separate to the person and set as a small invisible rectangle (say 4 pixels high) and placed at the top of their head. The collide mode should be set to '2' as Dizzy will be falling 'through' the collide object and you don't want the speech to start before you have actually landed. The width of the collide object is not that important, just make sure it is wide enough to ensure that Dizzy will fall through it as they land on their head regardless of which direction Dizzy is falling. If landing on their head only happens once then you should disable the collide object as the last command in the function. If it is left active then the speech will occur every time Dizzy lands on their head.

There are different ways you can make the top of their head solid. The easiest is to insert a one pixel high invisible static block directly underneath the collide object (but not so wide than when Dizzy is walking off their head that he walks on air ...unless you want him to jump off the head). You could also make it a dynamic object (no ID) with the property to 'climb', or even 'air' with the 'collider equals' property of 2 (hard collision) so that Dizzy can stand and walk on the top of this dynamic object. By doing it this way, ensures that you can still walk past or interact with the person if it is an actionable object.

So the basic coding we are looking at is:

func CollideObject_1000_2()
{
Message2, (4,4, ""OI, GET OFF MY HEAD"");
MessagePop();
}

Hope this helps.

NB to make Dizzy jump off their head use the following after MessagePop:
PlayerEnterJump(-1, 3); to jump left, or
PlayerEnterJump(1, 3); to jump right.
The '3' is a gentle jump, this number can go up to 9 for a more powerful jump.
👍 0
#75483
So, just a quick one before work. I know this is very simple but if I were wanting to use an item on the collider trigger...would the below work?


func CollideObject_1000_1()
{
Message1(3,3,"Oi, that was my head!");
MessagePop();
if(ObjGet(idx,O_ID)==1001)
{
Message0(6,8, "using the heavy boots,you fall!");
MessagePop();

idx = ObjFind(1000);
ObjSet(idx,O_COLLIDER,0);
}

}
👍 0
#75485
Sorry Saleh, but that won't work for a number of reasons. The first being that you haven't identified an object to be classified as 'idx'. An idx has to be set up within each separate function. The second is that you can only 'use' an item on an actionable object, not a collider. If you want different responses to a collider you have to set up checks using the 'if' command, such as to check whether your inventory holds a certain item.

I'm not quite sure what you are trying to achieve. It seems like you are saying that when Dizzy lands on the person's head if he has the heavy boots and uses them he will fall off and set the collider property to 0 (which essentially disables it as you won't be calling the Handler if he collides with the object again). But you haven't made Dizzy move as a result of using the boots. Just disabling the collide function won't make Dizzy drop if he is standing on a 'solid' object. You would also have to disable the object he is standing on if it's a static brush, or change the material to air or cloud if dynamic. Nor have you said what would happen if he didn't have the boots in his inventory (unless you want him to get stuck on top of the person's head).

If the above is correct then to check if Dizzy has got the boots then use the command:
if (InventoryHasItem(1001)) //heavy boots
{
stuff to do
return;
}
...stuff to do if not wearing boots.
NB, the 'return' command stops the engine from checking the rest of the function if Dizzy has the boots in his inventory.
👍 0
#75494
Yep,
Grandad....I think I was trying to make the puzzle too complex. What you have written is correct.
I have decided to change the puzzle slightly and use the:
PlayerEnterJump(-1, 3); to jump left when he hits the collider. This will not allow him to drop through a hole (therefore i will also need to set a collider the other side of the hole, to do the exact but vica versa) Now what I need is to use the:
if (InventoryHasItem(1001)) //heavy boots
so as to walk through the colliders and fall through the hole!!!
Hopefully this makes sense....as soon as I have a little free time I will try and do so!!!
👍 0
#75498
Whoa Saleh, it sounds to me like you're making it more complicated rather than simpler. I'm not working on a project at the moment so if you'd like me to 'mentor' you through your first game I'm cool with that. I don't mean taking over, just giving you help (and explanations) with the coding when you need it ...starting with this little problem.

If you're OK with that, just PM me with your email address and details of what you want to happen and we'll start from there. If not, no problem.

Details:
Do you want the hole to be visible or hidden?
Can Dizzy jump back out of the hole or does he have to leave by a different exit?
If so, can he re-enter the area by the different exit?
What does he have to do to get off the head?
Does the person he lands on have any other function other than saying get off my head?
👍 0
#75502

If you're OK with that, just PM me with your email address and details of what you want to happen and we'll start from there. If not, no problem.

PM'd you {yolkfolk}:cheers:

👍 0
#76217

Yes, dare to bring it out Saleh! A new Dizzy game is always welcome around here, even if it's pants (which it probably won't be given how long you've spent on it) we'll still all enjoy playing it {yolkfolk}:joy:

speaking of forthcoming games, what's the latest with yours?

Weren't you doing a one with snow or something?

👍 0
#76226

[quote data-userid="23" data-postid="76217"]

Yes, dare to bring it out Saleh! A new Dizzy game is always welcome around here, even if it’s pants (which it probably won’t be given how long you’ve spent on it) we’ll still all enjoy playing it {yolkfolk}:joy:

[/quote]

Well, it probably is still rubbish but i will eventually get it out. It should have been completed well before now but unfortunately family life seems to take up a fair amount of time!!!!!
However, I have now only got one more section to complete and am pondering over how to end the game.....I must say, Steve (Grandad) has been a great help in mentoring me but it has also caused a few problems. I look back to previous puzzles prior to his help and want to amend them accordingly so as to create a smooter run and better effects (and this is in no way cussing you Steve, it has actually spurred me on to take more pride in my game, so thanks old friend :tup: :smile:  

I also wanted to let my little neices have a run through, but I think some of the references in the game may be a little to much for their age group :tongue:

Ps, Pogie, no worries in taking over my thread {yolkfolk}:tired:

👍 0
#76960

Yolkfolk prophecies is finally complete {yolkfolk}:yahoo:

Am currently testing it as I know I still have a little clearing up to do, but it is near on ready to submit!!!

Not sure whom to send it to and whether there are any specifics like legal jargon that need to be added anywhere?

The story so far has now been added to the beggining of the thread!!!!

👍 0
#76962
well done!

Send it to Alex and Adz, pm them for their email addresses.

as for legal text, put the following somewhere on the intro screen and that will cover it:


"Dizzy", "The Yolkfolk" and all related characters and titles are trademarks of Blitz Games Limited ("Blitz") and The Codemasters Software Company Limited ("Codemasters"). All rights reserved. Dizzy and The Yolkfolk created by The Oliver Twins.
👍 0