About This Blog

I am a student at Futureworks currently in my first year of their Games Development Course. This blog largely comprises of work and illustrations made in relation to assignments, as well as the very occassional opinion pieces or information I happen to believe may be relevent to my fellow students on the course.

Tuesday 19 March 2013

Programming Assignment 2 - Conclusion

And some screenshots as well. Because I'm just that generous.

I shall recap the assignment in question, if I have capped the assignment in the first place. Our task was 5 fold -:

  • Use a two dimensional char array to create a maze
  • Use classes to seperate functions while still running the program
  • Restrict player movement to left and right directions unless there is a ladder to climb, and add environmental hazards that send the player back to the start if touched.
  • Add enemies that move two squares left and right, which also push the player back to the start if contact is made
  • Add a title and display the player's X and Y coordinates.
I had a lot of trouble with this assignment, I won't lie about it. Mostly due to not grasping how classes function and interact with one another. Thanks to collegues in the classroom, I was able to eventually wrap my head around this particular difficulty.

In the end, I was only able to achieve 4 of the objectives, and the one I didn't manage was the addition of enemies. Any attempt to add one ended up creating an alternate map. Maybe if I'd had a little more time to play around with the coding, I may have been able to find a way to resolve it, but managing four out of five tasks is nothing to be too disappointed by.

Items, Doors, Ladders, Title, Environmental Hazards, Coordinates, and as a bonus, Controls and Objective
  
I actually designed the level in such a way that each room would have introduced new elements, like the first room simply featured opening a door with a key, and then the second room introduced the ladder... the third room introduced spike hazards, and the fourth room would have featured an enemy to avoid before the fifth room being all about combining everything into one challenge. As mentioned, no enemies made it and so this idea more or less flew out of the window.

I also made elaborate use of ASCII symbols to create something a little more visually complete... I wasn't content with using default dashes or dots to make up the game. I suppose that is the artist in me trying to break free once again.

Just a screenshot demonstrating that the keys/hearts disappear when picked up, along with the doors. Also showing off ladder use.
And that is pretty much all I really have to say. I'm going to take a break and finish off the last aspects of the programming course before the holidays, and then I'll try to get to grips on this and see if I can finally work out the enemies.

Victory screen. And credit to those who helped me out in the assignment.

I may go back and take some screenshots of the first assignment, the text adventure. I may. Or may not.

Monday 11 March 2013

Programming, General Blog

Writing this post because it has dawned on me that I've really failed to do so of late.

Even now, there really isn't all that much that I can say that would prove enlightening on what I've been up to for the last month. The way of working has been very different in Programming from the way we worked in Games Design, as fundamentally different subjects as they are.

I thought that I'd at least say that some of the fear I originally had with programming has dissipated. Not to say that I'm necessarily finding the subject easy, more that it appeals to my problem solving obsessive compulsive streak, and the only difficulty I can really say I'm experiencing is trying to do things without actually knowing the code necessary. If I know what code I can use and how/why it functions, then I can code and use it in many more ways... if I have no idea what I'm doing, obviously I'm not going to get anywhere.

It is all fine and dandy to say Google is good for helping out, but I've not been finding that to be the case exactly. There are only so many ways to phrase something you're trying to work out, and eeeeh.

Right now, we've been set a task to make a primative 2D game in a C# Console Application. I vaguely understand the base code that allows the program to function, but I have no idea about many of the things we've been additionally asked to do, like making things disappear when the player walks over it, or enemies that move 2 spaces back and forth. I can't see any of that particularly working with the knowledge I have at present, nor have I really been able to solve the problems via google. All I've found is that there is no way to change the contents of an array, and that can't be true. It would help to know what to be looking for rather than gunning blind. At least until there is enough knowledge to actually be able to confidently search for extra knowledge. I feel like I'm missing pieces of a puzzle.

The only thing I really did figure out on my own was making the player only move left and right apart from when ladders are present. Even that isn't really very useful to me right now, and I'm planning to work out if there is a way to make the code function by observing what is one cell UNDER the player character instead of directly behind the player character. Which would resolve the issue of being able to move left and right in the air... but I have no idea if it will even work.

Ughuhuh. I'm sure I'll work it all out eventually.