Pixelles Week 6: Game Over!

adventures in gaming, indie, pixelles

So, I just sent in my game to the ladies over at Pixelles. I have an essay to write and I can do no more! So I figured that it was best to ship it off and then take a quick break to write to you about the past week’s experiences.

This week, I implemented a larger level in the game and tried to make the rules work towards an at least slightly challenging gameplay experience. What I found this week were bugs, bugs, bugs! There were events that contradicted each other and a lot of interdependencies where if I changed one thing, I had to change a whole lot more. My biggest problem is timing: I realized that my character was invincible for a small margin of time and so wasn’t getting damaged the way that they were supposed to. When I removed the invincibility, all of a sudden the player’s life was depleted in seconds! I had to entirely change the type of event that I used to create my decreasing air bar.

I also ran into a problem where, in the screen with the larger level, I couldn’t just tell the actors not to go off of the screen width. I needed the characters to be able to move around in a larger scrolling level – but not just a scrolling level, one where you had to exit back from where you came from.

It also took me a long time to tweak the level score to make sure that achieving the high score was doable, but not too easy. I don’t know if I’ve quite got it perfect, but I keep having to remind myself that the project was, in around 4 hours a week, for six weeks, to make a basic game. It’s short, but it’s got basically all of the elements that I wanted to include except for multiple levels and a couple of the more challenging conditions of diving such as currents, dangerous objects like fishing line, etc. I also had a weird bug where if the player got caught between two other actors, the game would freeze. I hope I’ve fixed that by making one of the actors a sensor that the player can pass through.

So, while it’s not the most challenging or sophisticated game yet, I did make it all myself. That feels good. And I feel like people seeing it for the first time might feel differently than I do about it, since I know every detail and objective and a new player will have to discover it for themselves.

If you want to play the final product, come to the game showcase on March 9th! I’ll see about finding it a home on the internet after that.

I couldn’t leave you with nothing, though! Here’s the background of my one working level:

The Background of my one working level.

The Background of my one working level.

Pixelles Week 5 Homework

adventures in gaming, indie, pixelles

This week is Concordia’s Reading Week, so I took off to a cabin in the woods for a few days and didn’t have internet access. So, late post! The Pixelles homework this week was just to work on our games. Out of my new goals for last week, here’s what I got done:

– The aforementioned feedback page/end of level/score page needs to be created.
I created a very simple end of level page that displays the score. I wanted it to count the number of objects collected and the amount of HP left and add that to the score, but I’m not sure how to do it. This is a stretch goal if I have the time.

– Now that I have a functioning score system, I want to add more challenges, obstacles, and ways of earning points to the level. Time will be a factor but right now there’s nothing preventing the player from collecting points. I need things to get in the way!

I didn’t get the chance to do this but found the levels too small – so I remade everything in 800×600 and kept the characters and objects the same size. This did introduce a problem though: my world-map stuff isn’t where I placed it, and even when I replace the objects, they always end up to the left of where I placed them. I need to figure out what’s going on there this week.

– Linked to the above is level-creation. I have a pretty-much empty test level right now. What I want to do is add objects and backdrops to that – hopefully implementing these as part of the challenge of the level.
Still working on it! Limited internet access meant limited means of looking up solutions to my problems.

– Colouring/refining my sprites both to differentiate them and to make them look nicer.
I did get to do this! I’ll save showing you guys until it’s time to show the whole game though.

– Creating at least one fully playable level with everything that I want to implement.
This is not yet done – I think when I’ve accomplished this, I’ll have finished the simplest version of the game.

– Right now, there’s a small problem when you exit the level (which should be fixed by having an end-of-level screen): upon re-entering the test level, the air for that level resets but the score doesn’t. So, that’ll need to be fixed.

This was fixed by means of a kind of “cheat” – now that there’s an end-of-level screen, exiting the level finishes the game and displays the player’s score.

Okay, so this week’s goal is to finish the game. That means:

– Fixing the bug with my map – I think I introduced this bug by changing everything to 800×600 res, but I have no idea why even recreating the level didn’t fix it. ???

– Creating a fully playable level with at least a little bit of a challenge to it – obstacles and such. Maybe some kind of maze or a stricter time limit will help.

My Stretch Goals (if I have the time) are:
– To add the air remaining at the end of the level to the player’s score.
– To add two more frames of animation to my diver’s motion.

Next week, this’ll all be over and I will have created a simple game in six weeks while juggling my other responsibilities. What a cool challenge!

Pixelles Week 4 Homework

adventures in gaming, indie, pixelles

So, the homework for the Pixelles Incubator Follow-Along this week was to continue making our games. Last week, I posted a list of things that I wanted to do and didn’t get the chance to, and things that I wanted to do but didn’t think I’d get the chance to. I’ve decided to check goals off that previous list (and report any other progress) and create some new goals.

Last week’s lists
What I had hoped to accomplish but didn’t this week was:
– Having a scene transition when the player pressed enter around an object on the world map – like the submarine or airplane, which are going to be my two playable levels for the purpose of the Pixelles incubator.
Instead of pressing enter, what now happens is that when the player enters a region surrounding (in this case) the airplane, they transist to another scene. Right now, that scene is my test scene. You can also exit my test level back to the world map screen.
– Having a second diver sprite who would follow around my main character.
Yes! I reused the same sprite, and for some reason the sprite can’t turn around (when I go to the left of my screen, Buddy follows me fin-first :/) but I’ve accomplished the following-around part!
– Having the fish move in a set pattern (right now you can push them around the screen if you want to be mean to them!).
They now move around like sheep would in a random pattern within parameters that I set.
– Assigning a points-value to the fish and some other objects that would then be added to the score when you interacted with them.
Yes! In fact, the fish have a points-value and you can only collect points once. The other objects also have a points-value but can also negatively impact your air consumption! (So some objects add to your score but decrease your HP…in this case, my air meter.)

What I didn’t expect to accomplish but still need to figure out (and that I expect to be fairly challenging):
– Assigning different rates of air consumption at different assigned “depths” – I might just make it vary with the level.
So far, my solution for this is to make it vary with every level. The levels are going to be relatively small until I do something about it, so I don’t think it’s worth worrying about.
– Assigning a faster air consumption rate when the character is carrying something (oh, and making those objects carriable, period).
Instead, I’ve made the objects disappear like coins when you pick them up, and they automatically decrease your air supply but up your score.
– Actually creating a decreasing air bar!
I did it! What I did was create a health bar, and every second as the game updates, the health bar takes damage, thus decreasing the air.
– Actually creating a way to accumulate points.
Yeah, this was primarily about learning to use the Stencyl resources – it’s strange to me that they can all be opened in several different views. But now you can indeed collect points in my game.
– Creating a feedback page after each level where The Divemaster tells you what you did well and assigns bonus points and such as described in my design document.
This is the only one that I didn’t manage to do, and I imagine that it’s going to be fairly simple once I figure out how to end a level properly. Right now, you can die though – and there’s a quick message which then takes you back to the title screen. I need some kind of score-saving tool/points screen.
Oh, and I also decreased the level of text at the beginning down to two screens…hope that’s short enough.

Okay, so new goals!

– The aforementioned feedback page/end of level/score page needs to be created.
– Now that I have a functioning score system, I want to add more challenges, obstacles, and ways of earning points to the level. Time will be a factor but right now there’s nothing preventing the player from collecting points. I need things to get in the way!
– Linked to the above is level-creation. I have a pretty-much empty test level right now. What I want to do is add objects and backdrops to that – hopefully implementing these as part of the challenge of the level.
– Colouring/refining my sprites both to differentiate them and to make them look nicer.
– Creating at least one fully playable level with everything that I want to implement.
– Right now, there’s a small problem when you exit the level (which should be fixed by having an end-of-level screen): upon re-entering the test level, the air for that level resets but the score doesn’t. So, that’ll need to be fixed.

Here, have a test-run of what I managed to implement this week!