The Amazing Adventures of Chloe Pikselle

 

The Amazing Adventures of Chloe Pikselle

Created: January - April 2014

Project Description:

"The Amazing Adventures of Chloe Pikselle" was my final year project at Newcastle University. The aim of the project was to teach the basics of programming to children through a modifiable gaming environment. The game is a 2d side-scroller with a twist: each level contains "consoles" that the player can access to modify some of the code of the current level at runtime. This, of course, will change the level behaviour and can be used to solve a multitude of in-game challenges. The game is being written in Java with the use of the LibGDX framework. The console is implemented in Jython, it was written and provided under GNU Lesser GPL licence by Don Coleman. The main part of the game is planned to be finished around April.

Plot:

A computer goes bananas and uploads everyone on Earth into itself, destroying their physical bodies. It's up to Chloe to save the day.

Demo:

It's always nice when you can actually download and check out a demo that shows the game mechanics and gives the general idea of what the game will feel like. The demo should be runnable on Windows, Linux and Mac. In order to be able to run it - you need to have Java installed. Extract the archive to the directory of your choice and run the file called "chloeFinal.jar". You can download the most recent demo here.

Updates:

18 Apr 2014

So this is the final update on Chloe’s Adventures. The final version of the demo has the following things: a start menu, a map screen with access to different worlds (only one available), a world 1 map screen with access to different levels, three levels, a pause screen, a loding screen with randomized computer factoids, a credits screen and a save system that stores the player’s most recent progress in a local file. The demo also contains most of the sounds and music.

Due to time restraints the demo only focuses on teaching the basics of Python variables.

A pretty logical next question would be - what next, Aleks, what next? Next, I’m going to write the remaining 1,000 words of my final year paper, finish the coursework I’ve got left, pass the exams and secure that summer software verification job with Newcastle University. When that is done and I can give Chloe’s Adventures enough attention I will dedicate some amount of time over summer to look into Chloe’s code and see if making the changes I deem necessary for this to become a full-blown project is plausible and worthwhile. If it is - August-September just might see Chloe’s Adventures on Steam Greenlight, GOG or Kickstarter.

Thanks for checking out all the updates in the past 12 (13, really) weeks, hope you enjoyed them as much as I did.

10 Apr 2014

Well, this week’s update demonstrates a new level with moving platforms, new kind of enemy, solid blocks, spikes, vertical scrolling and weather. That’s right - weather. Rain is something I wanted to try to create for a while, the rain in this level has thunder, lightning, raindrops and rain clouds - the whole lot.

The level is definitely longer and harder than the first one, but I think that’s what makes it cool.

Sadly, the amount of time I can dedicate to Chloe’s Adventures as my final year project is very limited. So it would appear that next week’s update is going to be the last final year project update, though I am planning to come back to Chloe’s Adventures after all the exams and coursework is taken care of. I’ll give more information on that next week.

In the meantime - as usual I’m providing a video of me playing the level for a bit and talking, and also I have updated the demo link above, so you can download and try the level yourself.

03 Apr 2014

So after a week long break last Thursday I was back on working on Chloe’s adventures. As much as I would like to have a video update ready for today - I don’t.

So what has changed, Aleks? Well, starting from this week Cardinal Red’s world has a new type of blocks - solid blocks. Solid blocks are different from normal green platforms as they are solid from all sides, while green platforms are only solid when you stand on them (so while you can jump on a green platform from underneath it - the trick won’t work with a solid block). At this point solid blocks look a bit Super Mario Bros. like. I feel that this design doesn’t make them look interesting enough, so there will probably be some redesigning in the future. Here’s what they look like:

Another addition are spikes. Spikes are always fun and provide a crazy amount of possible challenges to the environment. Cardinal Red’s spikes can also be retracted. They require to be placed on a solid block surface (that way the player won’t get hurt when approaching them from the non-spiky direction). Here’s what the spikes look like:

I’m also happy to say that two levels have been designed on paper. It might sound a bit too optimistic, but I hope that by next Thursday both of them will be completely implemented in a new version of the game demo. Exciting-exciting.

20 Mar 2014

This week’s update does not provide a lot of interesting visuals, however it does provide an update to mechanics that should make upcoming levels bigger and more interesting.

The current update completes work on vertical scrolling, everything scrolls nicely now. I have also added a new type of platform - a moving platform. It comes in all sizes; can move horizontally, vertically or diagonally; it can move with different speeds or not move at all. This is yet another reached stepping stone on the way to creating a new level for Chloe.

As much as I would like to get back to working on Chloe straight away - I will be taking a week long break from development, so the next update will be in early April. As usual - if you’d like to check out a video with the current state of the game - you can find it below:

12 Mar 2014

So this week’s update has it all. I have added a main menu to the game that can be partially navigated (“new game” and “quit” work, “load” loads the level I’m currently working on). I have created a cursor for the game, I think it suits the style of it. You can also see the loading screen I’ve been talking about last week. And, of course, sounds. Sounds and music volume levels are still something I have to work on, I think, and some sounds will change throughout development, but I think the game is really taking shape now.

I have started work on a new level, and it will depend heavily on vertical scrolling, so currently I’m trying to implement vertical scrolling, you can see how far I’ve gotten with that in the demo video. That’s it for this week, thanks for reading.

06 Mar 2014

Not a lot of visual updates for this week. Mostly I’ve been tweaking level mechanics here and there, checking how to import and play sound effects and music within a level.

I have also spent some time creating a Loading screen and struggling with concurrency to have the screen “do stuff” while all the assets are being loaded in the background. The loading screen displays randomised fun computer facts to the player while they are waiting for the level to load. This is what the loading screen looks like:

As well as all of the above - I’ve started work on the main menu. It is different in mood from the levels and the loading screen - it’s darker, because within the game world it’s based in the “real world” as opposed to everything else that happens in the “virtual world”. There’s not a lot to demonstrate yet in terms of the main menu screen.

I’m planning to dedicate the next week to finalizing the main menu, creating a very basic representation of the second level, and maybe researching Blender to see if I want a 3d model of the map for the game.

27 Feb 2014

So finally I’m happy to say that I’ve finished coding the first level. There may be tiny design changes, but mainly the level will stay the way it is.

Level one now contains two types of enemies - crawling caterpillar “mechanoids” that drive from edge to edge of a platform and flying “mechanoids” that start chasing the player when they get close enough. Here’s what they look like:

Just to add a little narrative to my updates - the story behind the Adventures of Chloe is that an evil computer is trying to take over the world, and Chloe is trying to stop him and save her parents (who have been kidnapped). The name of the evil computer is “Cardinal Red”. Every computer gone bad needs a logo, Cardinal Red is not an exception. I thought it would be suiting if the logo for Cardinal Red is a red cardinal:

As usual, you can check out a video update below.

20 Feb 2014

First half of this week I’ve been busy creating designs for Chloe’s enemies in this level. The second half of it I dedicated to implementing them and making some of the in-game classes run more efficiently. At this time I’ve only got one enemy implemented fully - the “Caterpillar Mechanoid”. The other one is still work in progress. I also came up with a design solution for the loading screen and decided to add death animation to Chloe. Hopefully these are the things I’ll be able to demonstrate next week.

The video below demonstrates the enemies in the game environment.

12 Feb 2014

This week I’ve added consoles to the level. The consoles are represented by strange looking trees. The player can approach them, press “Enter”, and that will cause a window with a console to pop up. The window contains a section with general information on the current aspect of programming that the player is learning (variables, conditionals, etc) and lists available variables. It also contains a section with the actual console. For the console I’m using a modified Jython Console written by Don Coleman and available under GNU Lesser General Public Licence.

The video below demonstrates the points I was making earlier, a nice way to see what everything looks like at the moment. Hopefully this video has better quality than last week’s.

06 Feb 2014

Chloe has now been added to the level environment. Some collision detection has been added, so Chloe can walk and jump on platforms (left, right and up arrow keys) and collect boxes (piksels).

30 Jan 2014

The environment design of the first level is now complete. The game uses parallax scrolling, background and foreground layers. A class has been created that, when given start and end coordinates, populates the area in-between with platform tiles.

23 Jan 2014

Chloe’s movements have now been fully animated. This is what she looks like: