Eggs and Bacon - Dev Log

Hello Everyone!
This is my new game, Eggs and Bacon! It is a game where you basically have to help your parents make breakfast, while doing some other things along the way.
Hunger
Hunger is one of the more interesting mechanics, I think, in this game. It essentially works in that each time you take a step or interact with something, your hunger goes down. It starts at 1000, and once it reaches 0, you have to restart.


(The hunger is the thing in the upper-lefthand corner. It is represented by a drumstick. Or a fish. I'm not really sure.)
Of course, you can eat food to get less hungry.
Here is how the system currently works.

//hunger system
	if hungerCount==1 then
		wait 1 then
			hunger1++
		end
		if hunger1>=2 then
			hunger2++
			hunger1 = 0
		end
		if hunger2>=2 then
			hunger--
			hunger2 = 0
		end
		if hunger<=0 then
			loop "yurDed"
			fin "You sure got too hungry... Try again. But eat this time!"
		end
	end

The "if hungerCount==1 then" is because I have a little game menu, and I didn't want the hunger to show up while you are in that.


Now, this system is a work in progress, and obviously there would be much better ways to do it, but it runs fairly well on the Playdate, so it is good for now.
Gameplay
The game basically works like this:

  1. You get up in the morning.
  2. You go downstairs.
  3. Your dad asks you to help him make breakfast.
    Once that happens, you need to explore the town of Chaosville in order to find things that people ask you to get. Once you find the thing, you bring it back to the person in order to receive another mission.
    This game also has a ton of easter eggs and random other stuff that isn't relevant at all in it because I think "Oh, it would be cool if you could do this!" and then I try and make it, and it ends up being way harder than I thought. One example of this is I made it so you can sit in the chairs in the dining room of your house, which I thought would be easy.

    However, in order for it to look good, I had to do this:
on collect do
	sat = 1
	tell event.player to
		swap "playerChair2"
	end
	tell 12,8 to
		swap "tablePlayer"
	end
end

And then, I had to have an item on either side of the chair that makes the table look normal again, because I had the table swap so that it looks like your head is sticking up above the back of the chair. The finished effect looks really good, I think, but it took me a few hours to make.
Anyways, there's a while to go before I finish it, but I thought I would post it here to show how I am doing it.
Thanks for reading!

2 Likes

Here is a demo of the game. It's pretty much all that I have made right now.
XNSZIOBVIREggs-And-Bacon-Demo_20241007161632.zip (105.2 KB)
If you download and play it, see if you can find any bugs or anything. I would love to hear any feedback about it, as that would help me in developing a lot. Also, any ideas you have, suggestions on how to do things better, are welcome.
Thanks for checking it out! :grin:

Couldn't resist giving this a go - I love the way pulp brings out all these mad ideas and worlds! I love the way the world opened up quite quickly, and definitely an intriguing place. Also great to see accessibility options in there like "crankless" and vegan mode!

I got to the store, but got stuck after going past the fruit, and coulnd't get back up from there? Or am I being daft?

And the hunger mode is a nice twist that keeps you on your toes. Are you planning to use it in other ways at all, eg it goes down faster/slower if you do certain things?

I wasn't sure why you use hunger1 and hunger2 variables too. Can you just decrease the hunger variable when hunger1 reaches 5 or something, and remove hunger2?

Hope development goes well, look forward to seeing more updates!

1 Like

Thanks for the review!
So, for the thing where you said you got stuck after going past the fruit, what exactly do you mean? How did you get stuck? The only part where I have fruit in the game is in the kitchen. But would you happen to mean this:


Because, um... That's not supposed to be there. But you don't actually have to go down in that part of the store anyways.
And the hunger1 and hunger2 was because when I was doing just one hunger variable your hunger would decrease too fast. But, now that I looked into it more, I removed the hunger2 and just did this:

// hunger system
	if hungerCount==1 then
		wait 1 then
			hunger1++
		end
		if hunger1>=8 then
		  hunger1 = 0
		  wait 1.3 then
			hunger--
			end
		end

I think this works better than using both of them, thanks for the suggestion!

1 Like

That was the tile, yep - good to know, I'll have to see if I can get further while avoiding it!

Yeah, so that one is an interesting bug. I have a table with fruit on it in the middle of the kitchen, you can see it in the gif below. I thought it would be cool if you could interact with the table to get some fruit to eat, and it would visually show the fruit going away. To do this I have this code:

on interact do
	ask "Want a piece of fruit?" then
		option "Yes" then
			fruit1 = 4
			fruit++
			fruit1--
			swap "island2"
			wait 34 then
				if fruit1==3 then
					swap "island"
					fruit1 = 4
				elseif fruit1==2 then
					swap "island2"
					fruit1 = 3
				elseif fruit1==1 then
					swap "island3"
					fruit1 = 2
				elseif fruit1==0 then
					swap "island4"
					fruit1 = 1
				end
			end
		end
		option "No" then
			
		end
	end
end

And that is on 5 different separate sprites that swap, so it gives a pretty nice effect that the fruit goes away when you eat it, then it slowly regenerates, or something like that.
Screen Recording 2024-10-12 at 8.55.57 PM
However, as you see in the picture of the store, when the fruit comes back, no matter what room you are in it respawns. Which is a problem. But, if you just don’t get the fruit before you go to the store, that tile will not be there.

Ah yes, classic wait issue in pulp - once the wait 34 time is up, the commands inside it are run, regardless of which screen you're now on.

There are a couple of ways around this. The simplest is just to check the name of the room in the code that runs after the wait, for example:

  wait 34 then
    if event.room == 'my_room_name' then
      if fruit1==3 then
        ... etc ...
     ...
    end
  end

Then, if the player has moved away from the room, the drawing doesn't happen.

You may need to handle the fruit being correct when the player comes back though - currently, fruit1 won't be updated if they're on another room.

Alright, so I tried doing the "if event.room == 'roomName' then" but for some reason it didn't work... I tried to figure it out for a little bit, and then...
I had an idea.

I've thought of this before, but I never really tried to figure out how to do it. It's where you can manually change between the frames of one sprite, rather than making a bunch of different ones by setting the fps to 0.


So I made this new sprite that has all of the different old tiles in one. But I still didn't know how to do it. So, for the third or fourth time, I read through the pulp documentation. But this time, I figured it out! It's really quite simple. Here is my new and improved code for the sprite.

on interact do
	if frameIndex<4 then
		ask "Want a piece of fruit?" then
			option "Yes" then
				fruit++
				frameIndex++
				if frameIndex>4 then
					frameIndex = 4
				end
				frame frameIndex
				wait 30 then
					if frameIndex==1 then
						frameIndex = 0
						frame frameIndex
					elseif frameIndex==2 then
						frameIndex = 1
						frame frameIndex
					elseif frameIndex==3 then
						frameIndex = 2
						frame frameIndex
					elseif frameIndex==4 then
						frameIndex = 3
						frame frameIndex
					elseif frameIndex==0 then
						frameIndex = 4
						frame frameIndex
					end
				end
			end
			
			option "No" then
				
			end
		end
	elseif frameIndex>=4 then
		say "There's no more fruit!"
	end
end

And it works! It fixed my problem, AND it's way more simple! Now I just have to apply this to my blueberry bushes...

1 Like