Pixelles: A Pre-Showcase Retrospective

adventures in gaming, indie, pixelles, Process Writing

Now that the Pixelles Incubator is over, and that we’re about to show the games next week, I’ve been thinking about the experience. Off the top of my head, it’s hard to say what I learned. However, since I kept a record of my progress each week and uploaded work-in-progress versions of the game to the internet, I do have something concrete to look back on and tell me what actually happened while I was busy not noticing.

In case you haven’t heard anything about this yet, there’s an information page here at the Pixelles website, and I’ll tell you a little bit about my project. I made a game called Diver Quest, where the player is a scuba diver who wants to dive safely but also take advantage of the most opportunities possible while under the water. Players interact with wildlife and their environment to gain a score, and they can also collect lost objects that other divers have left behind, which is just generally a nice thing to do. The lost objects, however, are cumbersome, and so having them depletes the player’s air more quickly. The diver’s goal is to leave the dive site with at least 500 psi of air, which is a safety margin just in case something were to go wrong, and to follow the diver’s motto: Take only pictures, leave only bubbles. That means cleaning up lost diving equipment and not interfering with the environment.

An archive of my weekly posts and those work-in-progress games is available here, where this post will also be eventually archived.

The things that seemed insurmountable challenges at the beginning of these six weeks are now a matter of course. In the first two weeks, everything in Stencyl was a struggle. Everytime that I wanted to create an event, I thought that I would have to reinvent the wheel. Once I discovered StencylForge and understood the syntax of Stencyl, especially in regards to what types of events I should be creating (trust me, there’s a huge difference between ‘When Creating’ and ‘When Updating’), things started to fall into place. I started to be able to predict problems in advance within my events, and to be able to fix them before I even tested out the game.

One of the most fascinating revelations for me was learning why, especially in programming (not that pulling blocks around in Stencyl is on the level of the amazing programmers that are out there), there’s a way to do things that works, and a way to things that’s the right way to do things.

My “favourite” bug was where I realized that my character wasn’t getting damaged by an object, checked the settings, and realized that there was a time period where the player was invincible after being damaged. Since my “air” is technically a modified HP bar that is decreased every second by a damage command, my character was constantly invulnerable to all other forms of damage – including, it turns out, damage that should have been happening at a timed interval to decrease the air bar. Once I made the character vulnerable again, it turned out that not only the rate at which she was being damaged was far too fast, that rate was getting exponentially faster because, instead of a time event, I had the damage as a ‘when updating’ event. Her air was depleted in seconds, and it took me about two days to figure out what to do about it. But I did figure it out, so, for me, it was a bug that allowed me to gauge my own learning curve, my own progress.

My least favourite bug is one that I have no idea how to fix, and seems to be inherent to the fact that Stencyl is flash-based. When I sent my game off to Pixelles, half of the features of the game didn’t work in the .swf but worked fine if tested through Stencyl in-browser. I have no idea why this is and there’s no mistake in my code…It seems that it’s just one of the idiosyncrasies of what’s an otherwise pretty decent tool for a beginner who wants to make games but doesn’t know how to code and it’s available for mac and PC (since I use both interchangeably but don’t have a windows emulator on my mac, this was important to me). The basic version also happens to be free. So while I’m definitely not trying to knock the software that allowed me to make a game, this bug was a total mystery to me and I have no idea why it happens. We got around this by means of a cheat: I sent the entire Stencyl project over to the ladies at Pixelles and they were very good about it.

This is almost my first game: as it turns out, I ended up participating in Global Game Jam 2013, and made a game as part of a team. I started this game first though, and it’s my first solo game. Global Game Jam turned out to be a huge boon to me, because, at GGJ, I learned the basics of how to mix sound there, and how to use the texture stamp tool in Photoshop. These skills made Diver Quest much better, because without them, Diver Quest would have had no sound and a much less nice level background.

This game also used almost none of the skills that I would have expected to be my talents as a game maker: I’m a writer, so I thought that I would have used that much more than I did. There is one screen that’s rather text-heavy, which is the instructions page. I also love to draw, but the aesthetic that I chose to go with was 16-bit, so I didn’t end up doing a lot of character sketches or concept art – I just drew my pixel art directly into photoshop. I really like the aesthetic – drawing fish and safety cones pixel by pixel was a fun experience. Designing a simple pixel-version of a diver was also a challenge that I gleefully accepted. Most of the equipment is pretty accurate, in the end.

I think that spending so much time with one game, it becomes difficult to judge it for yourself. I would love to hear some opinions about the game – if you’re in Montreal, you should consider coming out to the showcase. If you aren’t, after the showcase I’ll be finding a place to host the game online (assuming that I find a way to upload it as a .swf where the regions work!).

You can expect to hear more from me about the actual showcase experience! With photos!

Pixelles Week 6: Game Over!

adventures in gaming, indie, pixelles, Process Writing

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, Process Writing

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, Process Writing

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!

Pixelles Week 3 Homework

adventures in gaming, indie, pixelles, Process Writing

This week’s Pixelles’ homework was a lot less defined than other weeks and so I think my focus ended up being a lot more diffuse as well. I guess the easiest way to track my progress this week is to make a list of the things that I did and the major things that I still have to do before I have a working prototype of the game.

This week, I worked a lot on art and basic movement. I made a title screen, a set of instructions, a world map, and an interim level (not one that’s an actual destination but one to test). I also made several sprites – the animation isn’t perfect but I feel like that’s in the details. I made a scuba diver who moves in two frames, a pike, a sunfish, a weight belt, a snorkel, a submarine and an airplane.

For your viewing pleasure, here they all are:

My animated diver.

My animated diver.

My weightbelt object viewed at 1000%.

My weightbelt object viewed at 1000%.

My sunfish sprite viewed at 1000%.

My sunfish sprite viewed at 1000%.

My submarine viewed at 1000%.

My submarine viewed at 1000%.

My snorkel viewed at 1000%.

My snorkel viewed at 1000%.

My plane viewed at 500%.

My plane viewed at 500%.

My pike sprite viewed at 1000%.

My pike sprite viewed at 1000%.

On the world map, the character is able to move around without going out of bounds and the same is true for the diver in the interim level.

I’ve uploaded the game here so that you can give it a shot. For the first couple of screens, click through with the mouse. But don’t forget to move around and run into my submarine and my airplane on the map!

I also made a sound effect – it’s a scuba diving regulator and then the expelled bubbles. I used resources from creative commons and freesound.org and a program called Audacity to adjust the pitch, tempo, speed, and the fades.

scubabreathing

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.
– Having a second diver sprite who would follow around my main character.
– 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!).
– Assigning a points-value to the fish and some other objects that would then be added to the score when you interacted with them.

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.
– Assigning a faster air consumption rate when the character is carrying something (oh, and making those objects carriable, period).
– Actually creating a decreasing air bar!
– Actually creating a way to accumulate points.
– 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.

If I can achieve this by the end of the Incubator, I will be ecstatic. If I have to simplify, that’s good too. After these goals, I think I’ll feel free to better the game art and animation at my leisure and create new levels when I have the time.

Pixelles Week 2 Homework

adventures in gaming, indie, pixelles, Process Writing

I got a bit behind on my Pixelles homework this week, but with good reason: I participated in the Global Game Jam this weekend! More on this in a later post though. I started the homework before the Jam, and this is initially what I had to say:

“The week 2 homework for Pixelles is considerably more involved than week 1. I like it. It comes at a busy time because of some of my classwork, the fact that Global Game Jam is this weekend, and that this Saturday is also my birthday. But, as usual, challenge accepted. Here’s the homework checklist which I’ve shamelessly grabbed from their post:

Homework

Pick a game-making tool for your game!

This was tough, because deciding which game-making tool to go with involves trying to use each tool and see which one fits. Until further notice, I think that the nature of my game will lend itself well to Adventure Game Studio. I want to be able to easily create environments that a character can wander through, without the goal being immediately obvious. From what I can tell, AGS will lend itself well to that.”

And that’s what I had so far. Well, since then, I purchased an old, beaten-up MacBook Pro for 250 dollars off of kijiji, and AGS is windows-only. That means I have two choices: work only with AGS at home (and work on other things when I’m out and about), or change engines. I don’t know what to do! For now, I’ve decided to stick with AGS and turn in my homework a little late. On to the rest of the homework!

Get your game environment set up — have the tool, basic scene, and your placeholder data ready to work on for next week. It’s OK if your character doesn’t move, for example, but have a placeholder image (if your game has characters) to represent it.

I have my tool ready. I’m planning on using AGS (and possibly Stencyl if that doesn’t work out). I’m working on sprites right now. Here’s a top-down view of my scuba diver sprite for the map, no colours, at 1300% view.

topdown view

topdown view


I want to leave some of this a surprise for when the game is actually ready, so that’s all you get for now!

Write a concept document for your game using the example template. Remember you can and should use lots of images, even ones from Google image search, to get your point across.

Here’s my game design document, but I’ve decided not to include images: DivingGameConcept
Writing this document went a lot more smoothly than I thought it would – I guess I’ve been thinking about it a lot!

Create a level from scratch in your game-making tool of choice (for example, Stencyl or GameMaker) OR create a short interactive fiction story! You can use Twine, Inklewriter, Story Nexus, or any other tool you like.

I interpreted this as meaning a level for my game rather than just a random level. So far, still working on this. But hey, GGJ 2013, amirite? But if it does mean a random level or an IF, then I’ve done both this week.

That’s all for now! I hope to be able to get more done next week, since this week was particularly busy for me.
Meanwhile, check out the page for my game, Legacy, on the Global Game Jam page!!!

Pixelles Week 1 Homework

adventures in gaming, indie, pixelles, Process Writing

Here is this week’s session summary and homework from Pixelles. I’m using the homework section towards the end of the post as a checklist and headers for discussion.

– Check out the games from our inspiration list – done, but not all 33 games. Some thoughts on the first three:

I wish I were the Moon: Was adorable. I loved the game mechanics and that “losing” was a valid ending also (for the sense of completion). I’m trying to find the last two endings!

I Can Hold My Breath Forever: I enjoyed the writing component to this game. The gameplay was relatively simple but fairly challenging – I had a lot of trouble navigating some of those tunnels. Somehow, there seemed to be a feeling of elegy to it – as if that friend were lost in some way, and the adorable little sprite in this game were chasing a memory. Very much enjoyed!

The Kingdom of Loathing: I knew going into KOL that I wouldn’t have time to play all of it for this week. Just the “What is KOL” section of the site had me in stitches. I enjoyed how the character descriptions changed when the gender of the character was changed. Earning the right to play using adventure points is interesting. Oh, and meat as money makes perfect sense. I’m a tabletop gamer, so this was fun. I’ll have to play this again.

– Have a look at the games girls have made in another incubator to get an idea of what level of game you can expect to make.

Done – I did this as soon as I heard about the Pixelles Incubator.

– Install GameMaker Studio (Windows only) or Stencyl (OSX/Windows)

I did this and better – I am also taking a tour of Unity, but I think that I’ll probably stay with Stencyl or GameMaker for the purpose of actually making my game for the Incubator.

– Do some of the tutorials in either Stencyl or GameMaker to get a better idea of how the tool works. You can find Stencyl’s tutorials here. Gamemaker’s tutorials are built right into the program.

I did Crash Course 1 in Stencyl and it is a fairly intuitive tool. I made a game with pits, of course, instead of a regular level. I’m excited to play with making sprites.
Crash Course 2, which I also did, is making a game using resources that already exist in the program. I used my own animations. The game logic is very time-consuming but manageable. I don’t know if I would have known what to do on my own, especially in terms of limiting the movement of a character.

– Modify a template in Stencyl or Gamemaker. Change the template to make it “your own”, whether this is by changing the game mechanics, modifying gravity, adding more objects, change the player’s goal completely. Use this assignment to really explore Stencyl/GameMaker. You can find GameMaker’s examples just by clicking File->Open — there should be one called “treasure” and one called “street racer”.

I made my own game with simple graphics instead, using Stencyl’s crash course 2 tutorial. It’s called “Jeka Needs To Study” and you can play it. It’s nothing fancy, and doesn’t have a title screen, but it’s a beginning!

– Start conceptualizing your game: what kind of game you’d like it to be, what player’s goal will be, doodles, sketches

More on this later, I’m still working it out! Right now, the world seems full of possibility!

Pixelles Pre-Week 1

adventures in gaming, pixelles, Process Writing, research

So, since the Pixelles Incubator is about to start, I thought I’d gather some resources before getting started. I’ve downloaded the free versions of Stencyl, GameMaker: Studio and Unity. I don’t know what I’ll actually end up using, or if the three are compatible in any way. I’m also armed with a decent background in writing, art (sculpture, drawing, painting, photography, mixed media, graphic design), and a stubborn desire to make something playable.

We’ll have to see how it goes with balancing the rest of my workload.