penelopethegame
penelopethegame
The Adventures of Penelope
12 posts
Hello, my name's Greg, and I'm making a game about a little girl named Penelope who has to find her dog. Follow me for updates on _my_ adventures in making a game about hers!
Don't wanna be here? Send us removal request.
penelopethegame · 6 years ago
Text
bug
Today I noticed while creating a new enemy that if Penelope enters a room by climbing a rope, and dies, she won’t be holding the rope when she re-spawns. So she just starts falling as soon as she respawns.  I tried fixing this by inserting a collision check for the ladder or rope objects into the respawning code - i.e. if Penelope is near a rope when she respawns - then make her grab onto the rope - i.e. ladder = true.  This didn’t work.  So, I tried inserting the collision check into the room switching code, along with setting a variable called enteredonladder to true, which I would then check for in the respawning code. Which is probably a much more accurate way -- otherwise if the player wasn’t holding the rope when they entered, but was colliding with a rope, then they would respawn holding the rope... which while possibly more convenient for the player, it’s not really “true”. 
That said, this didn’t work either. 
I think what fixed it was instead of explicitly doing another collision check, I simply said if she was on the ladder when switching rooms (i.e. if ladder = true - a state variable I already had!) then enteredonladder = true - and if she wasn’t on the ladder, then enteredonladder = false. 
It’s so simple really... :p But the bug where she gets stuck in the wall when travelling on a moving platform... 
Tumblr media
well... now that I’ve actually created a gif of it, it looks like it’s cos she’s getting one pixel stuck in the wall... hmm. 
0 notes
penelopethegame · 6 years ago
Text
Dungeon.
Tumblr media
Level design is one of the biggest barriers I’ve had in making my game. 
It’s kind of like being given a pencil and a blank sheet of paper and being told to draw whatever you like. But I guess that’s easier than trying to design a world. 
So I kind of just... I dunno - started. The idea I had was to have an artery that leads off in different directions to sub-areas, which I think is a good place to start. Then, to have a goal within that sub-area - something that you need to get there. Then, it basically becomes a matter of filling in the blanks. The design choices you make in a room were informed by the previous room, and the design choices in that room were informed by that room, and so on. There’s just floor in the room above me - oh, so the room below that will be all ceiling. This room has a lower ceiling in the entry way, so the next room needs to as well. 
The bottom left section nearly killed me. Oh... this is turning into one area rather than two separate areas... oh, but wait, I can make this so the player has to go one way, and then they end up back in the artery. 
And then, you section off that whole area with one entry way. Maybe there can be another entrance or exit somewhere. We’ll see. 
But it was hard to get to this point! I don’t know why it’s so painful to bring a world to life. The decisions you have to make - is this the right way? How can you know, when no one has ever been this way yet? It’s so much easier to just solve some coding issue -- but making creative decisions -- maybe it’s just because it’s been so long since I used this part of my brain that used to be so alive when I was a child. 
Also. Sometimes you’ve got to push yourself to sit down and create. Sometimes you’ve got to push past that feeling that says you just don’t feel like it. Working in short bursts helps. 
If someone reviews my game some day and says, “it’s like he had no idea what he was doing,” then they’d be right. I do have no idea what I’m doing. 
But this is how my world gets made. 
0 notes
penelopethegame · 6 years ago
Text
A few little things
Just a few little optimisations today and yesterday: 
- updated the “go through doors” player sprite to Penelope’s newer design (it was on the old one before) - made it so that when you press up to look at things, player sprite also changes to aforementioned “go through doors” sprite (spr_playerdoor) - made a parent object for things you look at (e.g. Penelope’s bedside table, dog’s red ball) so that instead of creating an object for each thing, there’s just one object, in which you can specify the text that appears when you look at it, and the person who is saying it (e.g. narrator, or Penelope) in the instance’s creation code. You can also make an existing object a child of said parent object, and update it in the same way. This should mean a lot less objects to have to worry about! This is for things that you manually look at, but I’ll also have to do the same for objects that get triggered when you walk past them. This will be simple for objects that only have one line of text, but I’d need to modify it for multiple lines - or I can just continue using separate event triggers for those. 
Weird thing I noticed - here’s my code for the trigger parent:  if place_meeting(x,y,obj_player) && obj_player.key_up { if !instance_exists(obj_textbox) { if Speaker != obj_noone {create_textevent([Text],[Speaker]);} else if Speaker = obj_noone {create_textevent([Text],Speaker);} } }
Notice how there’s two versions - one with [ ], and one without, around the Speaker variable. I noticed that if I put [ ] around the Speaker, it would throw an error if the speaker is set to obj_noone (the narrator). But if I don’t put [ ] around it, it’ll work for obj_noone, but it won’t work for other speakers, such as obj_player (Penelope). I think this might be because the statement is malformed without the [ ], and it basically has the same effect as leaving it blank, thus defaulting to the narrator. 
That probably doesn’t really make sense, but it works, so there. 
A couple of other things:  - you have to press up to open the bedroom window before you can go through it. I wanted to present the player with a choice to open the bedroom window or not, but I couldn’t figure out how to utilise the dialogue system with a script that opens the bedroom window when you choose Yes, so that’s on the backburner for now. 
- Penelope bounces on her bed when you land on it.  I also wanted to make this so that she only bounces once and then you have to jump on it to make her bounce again, but I couldn’t figure that out, so now she just bounces on it indefinitely. 
0 notes
penelopethegame · 6 years ago
Text
RU HUNGRY?
Today I’m working on a new little idea I had - a Hunger bar that depletes over time as Penelope traipses around the game world, and she has to collect food in order to stave off said hunger. Huh. Maybe I should introduce a cooking mechanic, like Breath of the Wild... but I feel like that’d be going a bit too far :) 
Here’s what it looks like: 
Tumblr media
Deciduously retro, wouldn’t you agree? 
If the Hunger bar gets too low, Penelope will become Hangry. I’m not too sure what will actually happen at that point, but I’m thinking she’ll just become generally lethargic, and won’t really feel like saving all the dogs anymore. Her movement speed will probably slow down, maybe the music will slow down...? 
Thanks be to Making Games 101 for their Custom Health Bar tutorial! https://www.youtube.com/watch?v=PBskGGdL7yQ
I just need to figure out how to make it gradually deplete over time now. I thought an alarm that gets triggered in the step event, but that would just keep getting triggered... unless I set a flag that says it’s already been triggered... hmmm. Bear with me. 
...
Okay, well, that was easier than I expected. I just made a variable called counting_hunger and set it to false in the obj_player Create event. Then, in the Step event, if counting_hunger == false, it sets counting_hunger to true, sets an alarm, which depletes 1 pixel width of the hunger bar, and then, resets the flag back to false, ready to repeat the process again!
Hmm. I should probably add a cap to the Hunger bar - so that when it reaches a certain point, it stops adding, otherwise it’ll end up off the screen...
if hunger > 64 {     hunger = 64; } That should do it.
Now I need to add some food to replenish the Hunger bar. Do I assign different values to food? Some food is more nourishing than others? Or just make it all the same? Do I replenish the entire Hunger bar with one item of food, or does she need to collect several foods to replenish it? 
---
So I’ve created a parent object called obj_food, and I assign a hunger_value to each child item of food (e.g. obj_banana). I messed around for a while trying to use a for loop to replenish the hunger bar one pixel at a time to provide a smooth animation, but it’s proving to be more challenging than I thought, so at the moment, it just replenishes the bar instantly. It would be nice to have it as a smooth animation, though. 
Oh - also, it seems that my cap isn’t working quite as efficiently as I’d hoped - i.e. if collecting food will send it to a number > 64, it will flash up larger than expected at first. so maybe I need to include some maths first to not let the collected food item send the Hungry bar to larger than 64 at all... 
---
There we go, much better. 
Basically, when Penelope picks up some food, we add her current hunger level and the hunger value of the food, and bung that in a variable. If the total of that variable is greater than or equal to 64, we just set her hunger level to 64, otherwise we simply add the hunger value of the food!
Cool beans! - or should I say, cool bananas...
Tumblr media
I think that’s enough for today. 
0 notes
penelopethegame · 7 years ago
Text
Watch out for cars
Sorry I haven’t written any updates in a while! I’m still chipping away at the game, little by little. 
- I’ve been working on drawing pixel art versions of houses in my neighbourhood - because it’s very similar to where Penelope lives. 
Tumblr media
- I’ve been working on a little side-game, which might be a bit easier to finish making - inspired by Sydney Hunter games - where instead of having the player explore one sprawling metroidvania-ish map, you have to explore single levels, find a dog, a key, maybe a treasure, then get to the exit. 
Tumblr media
I’m pretty happy with the pixel art of those bricks!
I also like the way they just show the outline of the space, and all the black space (read: white space) around the room - a trend I’ve noticed in pixelly games lately. 
The complexity of these levels can vary as the game progresses (e.g. more keys before you can reach the exit) but the main purpose is for me to feel like I can tackle something on a smaller scale before doing something big. But I’ve discussed the mental struggle of having to create a large world before... it’s not impossible, but it does feel impossible to my brain. But the best way to eat an elephant is one bite at a time!
I stay focused on details, it keeps me from feeling the big things - Ben Folds, Still (I’m listening to it rn, and it seems appropriate)
I’ve drawn some dogs!
Tumblr media Tumblr media
I feel like this english sheepdog is a bit too - I dunno - messy? I think it needs simplifying. If anyone wants to help me with some awesome pixel art, please let me know!! Haha, I’m learning, and I feel like I’m improving, and surprising myself - but it’s not something that I’m good at right off the bat!
And I’ve also introduced a mechanic - some peril, if you will - where there are cars out on the street, and if Penelope collides with the beam of their headlights, she gets busted... and goes back home - haha - maybe I could actually make it come up with text: BUSTED - like GTA... or GROUNDED. Haha. Yeah, I like that :) 
Of course, being grounded isn’t enough to stop our fearless heroine from going out looking for her friggin’ dog... 
Tumblr media
Notice the wheelie-bin - if she’s hiding behind that, she’s safe.
But this whole thing made me think about how nice it would be to introduce some actual decent lighting into the game... Personally, I kind of like how everything looks nice and bright, despite the fact that it’s night time - I think that’s due to the aesthetic from an old text adventure called Bastow Manor on the Sega SC-3000:
Tumblr media
Now that I think about it, I think that game has inspired my look and feel for this game more than I realise: 
Tumblr media
I think I’ll ditch those FEZ style bricks tho... 
Anyway - thanks for listening! Writing about my game helps me process things, and hey - I think that “GROUNDED” thing will be a really good idea :)
0 notes
penelopethegame · 7 years ago
Text
stumbled upon
When you say you “stumbled upon” something online, did you really stumble upon it? 
Or did you click on something that was in plain sight, which led to something else, which led to something else, which led to something else, and so on? 
Today I found this video on YouTube: https://www.youtube.com/watch?v=NzoI8naUgYo in my recommendations, 
which led to this video: https://www.youtube.com/watch?v=jv434Xyybqc
which led to looking up this blog post: https://www.gamasutra.com/blogs/RamiIsmail/20140226/211807/Game_A_Week_Getting_Experienced_At_Failure.php
which led to this blog: http://msminotaur.com/
which in turn led to this game: https://msminotaur.itch.io/press-x-to-be-okay
In this game, you basically have to keep mashing the X button on your keyboard to keep a falling status bar from depleting completely. At first I didn’t realise I had to do this, so I ended up being not okay pretty quickly. But then, the next day, I tried again, and at the end of the day, when your avatar finally gets a few moments to rest, and the status bar stops falling, I finally took a rest myself. 
And then, it started all over again. And I’d had enough. 
Being OK is hard work. That’s the takeaway I took from it.
-------- 
But anyway, the point of this blog post was to say that after reading that gamasutra post, I feel like I’m on the right track. 
I think I should try making something a bit smaller at first, or even lots of smaller games. I think for me, making just one game and finishing it, and putting it out for others to play would probably be really beneficial. 
The thing is, today, I realised that this is really what I want to be doing with my life. I want to make video games. 
Growing up, and through my 20s, and it seems most of my 30s, I’ve thought about so many different things I’ve wanted to do. I have a lot of talents, and a lot of things I’m pretty good at - usually things that most people aren’t good at - and growing up, I wasn’t really good at things that most people _are_ good at, like sport, for instance. And I felt very inadequate because of that. 
And so it’s been hard for me to work out what I really want to do with my life. I’ve tried to take on what I think I’m supposed to be doing, or wear the clothes that other people give me, saying “you should wear this - it really suits you!” but nothing really rang true, nothing really ignited any long-term passion in me. 
But making video games? I feel like I could really get into that. 
I think it’s been a dream deep inside for a long time, but for various reasons, I’ve thought it’s invalid, or just not... right. Like, I’m a Christian - I’m supposed to do something spiritual, or something with music, because that’s the gift and anointing that God has given me. Not to mention the neurotic idea I’ve wrestled with for the past 15 years or so that I’m supposed to purge myself of video games, because they’re keeping me from my destiny (which of course made me just buy pretty much every console and every game I could possibly afford (or not afford)). 
But let me tell you this: There is nothing more spiritual, and nothing more glorifying to the creator than doing the thing that deep in your guts you know you were put on this planet to do. 
And in life, people will try to tell you that you should do this, or that - even well-meaning people with microphones on stages in churches - 
- but at the end of the day, I think there’s a germ inside each of us, a little teeny tiny thing that’s kind of like a spark, or not even a seed, but something more base level than a seed - 
- and other people and the world and your own self-doubt and lack of confidence will try to tell you no, that’s not the path, you’re supposed to go this way - 
- but at the end of the day, you are the one who is in charge of your own destiny. 
You are the one who is going to have to make up your own mind about what you want to do with your life. 
You are going to have to finally get to the point where you stop letting other people tell you what to do
and start doing what you want to do. 
Don’t just go along with the crowd. Have courage, and follow your own path. 
This is how your world is made. 
0 notes
penelopethegame · 7 years ago
Text
huh
I feel like I should write this in my notebook, cos it’s kind of personal, but I can type so much faster than I can write, and I can get my thoughts out faster, so stuff it, I’m writing it here. 
I feel like I need to stop focussing so much on the trees. The little nitty-gritty things - like this stupid textbox bug. Ugh. I got so tired working on it last night. I figured out that if I put the obj_gui in the same room as my cutscene test, it fixed the weird spacing issue. So if that’s gonna fix it - fine, I’ll just put the stupid GUI in there, and I don’t know - hide it behind a friggin’ black rectangle or something. 
I like working on bugs, because I like problem solving, and it uses a part of my brain that I guess is a bit easier to use - it’s logic and stuff, whereas the whole creative side... I don’t know, that actually seems harder to me. But I kind of feel like I’ll never get the game finished if I’m just always trying to get everything perfect first. I kind of feel like I’m not getting anywhere, but I guess I am building a foundation. 
But I want to get into designing the mansion, the narrative flow of the game. I had some ideas for mechanics while I was driving home from church tonight:
- you have to collect coins, or some sort of material object, to give to some dude, who is maybe a servant of the old lady who lives in the mansion, and he’s like, “huh, well, I don’t really like her much so I guess I’ll help you, but it won’t be for free” and Penelope’s like, “waht, are you serious?” and he’s like “yeah” and she’s like “cant you just give me the shit I mean I’m trying to rescue all these dogs and crap” and he’s like, “no man, that’s not how the world works. besides, that’d be boring don’t you think?” and she’s like, “ugh whatever” and he’s like, “hah. I knew you’d see reason. good girl.”
- maybe you have to like idk throw food at dogs or evil creatures to tame them - and maybe there’s different kinds of foods that work on different creatures - like cheese for giant rats, or catnip or fish for cats, and chimken nuggers for doggos, maybe all the evil creatures in the game are pets - maybe it’s not just dogs that have been stolen but everyone’s pets? but that might be too complicated but shut up I’m just throwing out ideas stop thinking so frigigng pragmatically and just let the ideas flowww broo
I was thinking of doing a remake of Montezuma’s Revenge, just to kind of wet my whistle and get _something_ out there and done. Like the idea and mechanics of that game are pretty similar to my idea, and I’m kind of hoping by making a game that is like the game I want to make, and then maybe remixing that a little, it might even actually evolve into a game of its own that I can use... 
anyway it’s good to get all that out. <3
0 notes
penelopethegame · 7 years ago
Text
Grr, a bug
For some reason, the text in my cutscene test room isn’t rendering properly. The spacing between thinner characters (like i or l) is all weird - uneven with the rest of the kerning. There seems to be some issue with the “free text” system I made for narrative cutscenes, and the text box system. If I go straight from my title screen to the test cutscene room, it’s fine, but if I go from the title screen to the “intro” room, and then to the test cutscene room it’s weird. But if I go to the first room of the actual game, instead of the test room, it’s fine.
Its just one of those weird things gamemaker does, I guess. Sigh. I’ll figure it out.
0 notes
penelopethegame · 7 years ago
Text
Guys I figured out how to do automated cutscenes!!!!!!!!11
After much hair-pulling, I am pleased to report that I have Penelope moving across the screen from left to right, with incorporated dialogue. 
I started off using a Timeline, but after a somewhat extended period of frustration, I came up with the idea of ‘pages’ or ‘scenes’ - or as I’m calling them: steps. 
It basically works like this: 
if step = 1 {  do some stuff  step++ } if step = 2 {  do the next thing  step++ }
etc, etc, and so forth. 
And it works! It may be somewhat kludgy, but it gets the job done. 
I’m using markers to tell her when to stop, and then I can also set new markers using the same system. Using the step system lets me have control of when I want the scene to progress and when I want it to stop. Something I couldn’t figure out how to do with timelines. >.<
At the moment, all the code is in a “dumbed down” actor version of the player object, but it might be best to move it into an external object which controls not just Penelope’s actor object, but any other NPCs, as well. 
I should then be able to use this system to create cutscenes mid-game, substituting the player object for the actor object and back again fairly easily. :)
Now that I’ve got a working system... I just have to do the actual work of programming the cutscenes! I’ve got the story written out how I think I want it to be... but it’ll take a lot of work. I need to draw NPC’s, I need to draw the actual “set” for the cutscenes... it’d be nice to have doors open and close as well... but if I just do one little bit at a time, incrementally... well, it’s much more easily achievable that way. :) How do you eat an elephant? One bite at a time. <3
0 notes
penelopethegame · 7 years ago
Text
Ah-hah!
I found the culprit: 
if(chars_drawn mod 2 == 0) audio_play_sound(snd_voice2, 1, false);
Isn’t that funny? It’s the modulus thing that’s actually causing the issue in the first place! I do remember looking something up and someone suggesting using that when creating the text system for some reason, but I have no idea why. 
Wouldn’t it make more sense to say if chars_drawn < text_length then play the sound? (text_length is a variable that holds the string_length of the line of text)
Let me try that real quick. 
sonuvvabitch that actually worked. Why on earth I’d used mod 2 == 0, I have no idea. I think it was cos I wanted to say not equal to 0? I don’t know. But it works now. And my code is a little less kludgy. I’m so proud of myself, I’m going to celebrate by going to bed. 
0 notes
penelopethegame · 7 years ago
Text
I write sins not tragedies
Hello, my name is Greg, and I write games I mean kludges. 
I was working on the intro cut-scene tonight. I have a text display system that makes “blooping” sounds like all good RPGs do when text appears on the screen. However, I noticed that when the text got to the end of a line, the blooping sound would continue loudly and obnoxiously until the next line of text began. 
The line of text I was working on when I discovered this bug contains a string which the player enters earlier to give their dog a name. So I thought it must have something to do with that string. I soon realised that if I named the dog with an odd number of characters, it was fine, but if the number was even, it would trigger the bug. 
So after a bit of messing around and trying to figure out what was causing it, I just ended up using a couple of if statements to check if the length of the string was odd or even, and created two versions of the line of text - one with a space at the end of the line, and one without. Thank you to this reddit post for telling me how to do this using modulus:
https://www.reddit.com/r/gamemaker/comments/6dwd8g/how_to_check_if_a_number_is_even_or_odd/
Kludgy af, but it works, right? Then, just as I was about to finish for the night, I realised that it’s nothing to do with the string at all - even if I have a line of text without the string in it, if it’s... 
...well, I don’t actually know whether it’s odd or even now. 
Okay, so I just tested it, and it triggers the bug if the line of text has an even number of characters. I don’t know what’s causing it - it must be something to do with the code that generates the bloop sound. 
At least I can work around it by just chucking an extra space at the end of a line if I need to... and the double if statements if I’m using that string in text. Thankfully, the in-game textbox system seems to be fine - because it was written by a real programmer haha (thanks to Friendly Cosmonaut)!
Another potential workaround solution could be to check the length of the entire line of text as it’s drawn to the screen, and add a space if it’s an even number of characters. 
But ideally, it would be best to just figure out what’s causing the root issue in the first place :)
So - if you ever play my game, friend - just remember what I went through just so you could give Penelope’s dog a name. 
0 notes
penelopethegame · 7 years ago
Text
hello, world.
if anyone can hear me ---
you have to help me find my dog. 
i don’t know where he is. 
i came home from school today and he was just gone. 
i’m so upset. my parents think he’s just run away, gone to have a night out on the town. probably met some girl dog and wants to have some fun. they think he’ll just come back tomorrow. 
but they don’t understand. he wouldn’t just do that. i know him -- he’s too nervous around girl dogs haha.
but i’m really worried about him. out there all by himself. i’m so upset. i haven’t stopped crying all night.
i think i’m gonna sneak out tonight and go looking for him.  
can you help me find him? 
please?
love, penelope xo
0 notes