Tuesday, 18 October 2011

Updates (on everything)

This blog's been lying dormant without update for too long. I keep telling myself I'll update it, then I write a few words, can't think what to write next, and scrap it. So this time I'm going to definitley post something. How about I tell you all the things I've been doing?

Flash games

So, over the past few weeks me and Artyom Levashov have been working on this flash game, which is coming along a lot better right now. I coded it, and he did the graphics. We came up with the idea pretty much on the spot when we were given the theme. (matching)


(click image to play)

The rules are that you have to click two bombs of the same colour on the same row. They have to be as far apart from eachother as they can, to score more bombs in one move. Basically, inverted Bejewelled (close to eachother) was where I got the idea from, and we went from there.

Right now there's no score, or timer (as planned for the final version)

I actually prepared for making it by coding the whole thing in Blitz 3D before starting in flash, because it allowed me to work in a language I'm more familiar with before moving onto one I'm not. I had the Blitz code open in a tab while I made the flash version (which you see there), in order to make sure they matched up in behaviour. The blitz version in full is here. (uncommented, I'm afraid, because I never comment stuff) You can read .bbs in notepad.

Trying to build a prison

Sorry. I say "trying to build a prison" every time I talk about this game, and I keep doing it just to reference a System of a Down song from ten years ago and possibly drive everyone crazy in the process. I'll... Stop now.

Me and Nicola Mizon, Tom White, Dominic Noble and Jason Mallett have been working on a game on the theme of "independence". We... Didn't quite nail the theme, but we did manage to get an idea for a game that was extremely nuts and it's too late to go back now. I don't really want to anyway, because this game sounds like it could be very special indeed if executed correctly. Right now we're still only just starting out, but the basics of the engine and graphics are there, and it shouldn't take too long for us all to flesh them out.

It follows a prisoner who dreams of escaping his prison cell. Throughout the dream, he goes through five levels (we got one each to design), and eventually the dream ends, somehow.

I was given the final level, the courtyard, to do. I made it a climactic showdown with the police (who, in this dream, are giant rats in clothes) and eventually climbing a prison wall to escape. At first, I thought we weren't going to be able to do it, but after discussing, it turned out we had the ability to include this level as well as all the others. There's some pretty mental levels in this, I'm interested to see if we can pull it off, or look like idiots when we discover we've bitten off more than we can chew. Watch this space!


As well as this, I did the storyboard for the opening cutscene. It was a pretty simple scene, but it was hard to set the mood up just right, as it had to really show a lot of information about that character and setting.


Do I think I can code a game this large? We've got a lot of time to do it, but I know if I'm not careful I'll put my Flash projects (we've got to do one every four weeks) in front of it due to their short-term nature, so I'll definitley have to set aside time for this if it's going to approach anything resembling quality.

What about the readings you've been doing?

I'll put the readings in their own blog posts upcoming. 



What about your UDK mod/level?

We're just coming out of the design document stage and we'll soon be in the greyboxing stage when we've worked the details out. I admit this sounds slow, but we're moving on at a steadier pace now.

Sunday, 25 September 2011

This Friday I was lucky enough to go to the Eurogamer Expo in Earl's Court, London, and I ended up accidently having a great time- In case you don't know, think an Expo like E3 or GDC, only smaller, as this is the UK's only video games expo right now, and it's growing steadily into a bigger event. It didn't rival its peers this year, but it's certainly shaping up.

It's my first ever visit to a Video game convention, and there was a lot of anticipation before we went in. The queue outside was full of excited nerds. I tried to look as un-nerdy as possible. A guy in front of me ate some cheese-its. "You'd never catch me eating cheese-its at a nerdy nerd convention, like a nerd", I said to myself.

It was about an hour before we, as a whole class, were given wristbands and let into the convention. I flashed my band at the security gaurd dramatically, and he let me in. That was damn cool, but very nerdy. The nerdiest thing, however, was yet to come, as as soon as I hit the show floor it was like letting a kid loose in a playground, and I went straight to the first machine to play Journey, followed almost instantly by Uncharted 3 (played on a 3D-TV!) and then Rayman Origins, the one I was most excited for.

I probably should've taken more time on those three games, as later, queues would begin to amass and playing them would be essentially "locked off". On the other hand, if I hadn't played them in such quick succession, I may have missed out on them entirely.
I played a whole level of Rayman Origins with a second player, and that was great fun- The game felt very smooth in comparison to Rayman's previous 2D games, and the level I played wasn't as hard, either. The combat involves only close range punches, as opposed to the thrown or charged punch of Raymans past.
The enemies in the stage I played shot at you, and when hit, inflated and rose up to the top of the screen. If they rose up a certain distance, they'd deflate again. So you had to hit them twice, the second time, while they were airborne.
As a result, the fights felt like huge flurries of fists and noise, but it was also very orderly, since we knew exactly what we were doing. At one hidden room, there was a destructable log tower full of said enemies, which I had great fun breaking to pieces.

Journey is a lot slower and more meditative, which didn't translate well to the busy show floor, but I decided to try and cool myself down as I went into it to try and get the most out of it. As I said, I didn't get much of a go on it, but it looked great. I was walking through a desert full of sand, which rolled in an abstract way, and reflected more light than sand should logical reflect, but it looked gorgeous, and you could definitley tell it was sand, despite having the texture of silk. In the distance were some tall pillars, which I stopped before I could reach.

Uncharted's demo was multiplayer, which wasn't as exciting as I'm sure single player would've been to me- the 3D was as good as all other 3D TV demos I've seen, i.e not great, but I think it's my eyes, and not the game. The game itself is similar to Uncharted 2 in terms of feel of the controls and general graphical fidelity, but I don't consider this bad, as Uncharted 2 is still way ahead, graphics-wise.

To the right of the show floor was a foreboding white wall with an "18" on it. It was the over 18s section, where games such as Modern Warfare 3 and Saints Row: the third were kept. I got a go on Saints Row the Third, but not for very long, and having not played Saint's Row before, couldn't compare it to its previous entries.

The game in the 18s section I really want to talk about though is Anarchy Reigns, by a favourite, Platinum Games. This was their new IP, and it's a multiplayer melee fighting game. In other words, like Halo or CoD, but with fists instead of guns. I was entered into a full four player vs match.
It controlled smoothly, as a brawler should. Mostly I admit I just ran into the fray furiously tapping buttons, but this would often get me killed unless I employed a strategy. The guy next to me had managed to cleave me in half with a chainsaw a total of three times, and I'd figured out how to do the same. L2 to get the chainsaw out, and triangle to do a powerful attack. I got him with it by surprise.
By now we'd all gatehered in the same part of the arena and were a cartoonish cloud of punches, so I ran off to the side to think. I saw a car, and wondered if I could pick it up. I could! And I laughed as I threw it into my unsuspecting rivals.
This game feels really good to play, hopefully it'll have Smash Brothers same more intimate style of close-range combat, combined with 3D arenas, and controls that resemble Devil May Cry or Bayonetta style fighters more closely.

It was 12 O Clock, when apparently Tim Willits of id software was meant to give a presentation, but I had no idea where this presentation was supposed to be. I found out just in time, and came in late, with another guy who seemed to be in the same situation. We were both given free id T-Shirts, and I stuffed mine in my bag and walked into the conference room, heavy metal blaring, lights dimmed, and clips of Wolfenstein, Doom, and Quake flashing on the screen quickly. The room had full surround sound, and during the Rage demo, we could hear everything happening all around the room, in brilliant quality.
Before Rage was actually demo'd, he talked about the History of id Software, and I learned a few things about Doom's history as shareware, which I didn't know about. Tim also made gentle fun of John Carmack, which is always fun.

After that I explored the indie booth, which was right outside the conference hall. I played really big sky and pineapple smash crew. Out of the two, Pineapple smash crew was probably the most interesting. I was controlling four dudes with the same control pad, and getting their asses kicked way too much. They talked to eachother while I was playing the game, which was cool, and made it stand out.

After spending far too much time wandering around looking for something to drink and not really playing anything (Although I managed to have a quick go at Final Fantasy XIII-2, Super Mario 3D land and Joe Danger: the movie) I decided if I was going to get the most out of it, I'd have to queue for something. I picked the Skyward Sword booth, which was the only dressed-up booth on the floor, the others all being mostly screens and simple renders behind them to indicate what they were.

I was allowed two whole minutes on Skyward Sword, but it felt like hours, because I was failing in front of the people queueing behind me. The demo had three options: Bird flight, Dungeon, or Boss battle, and I had picked the boss. It was against a guy I'd seen previously before on a preview video, but whom I only knew as "the tongue guy".

I went straight for him, and everything I ever knew about Zelda left my mind at the same time, as tongue guy grabbed my sword, and I was left standing there, awkwardly trying to free my sword from his grip for too long.
Long story short, he got away with my sword. I chased after him trying to get it back, feeling like a flailing moron, and I eventually did, and reached the second stage of the battle, where bullets were thrown at me in line formations, and I had to match the formation with the wiimote stroke. At this stage I died.
I love the new sword controls- I've always thought about all the things you can do with a system like this, but Nintendo came up with some great ideas, like spinning your sword in front of these eye creatures to confuse them, or hooking it underneath spiders to flip them, exposing their soft underbelly for you to stab. I also had fun fighting run-of-the-mill moblins, as I had to map my sword strokes against theirs to break their gaurd. I haven't played a game like it.

I had a brief go at Final Fantasy XIII-2. Having not played Final Fantasy XIII, or any recent Final Fantasy game since VII (I am sorry), I couldn't really compare it to its previous game, except from the breif time I played it in a shop once.

I decided to go to another conference, for a game I wasn't super interested in, but mostly because I'd explored the show floor enough. I hadn't played Ratchet and Clank: All 4 one, which was the only game I had left to cross off, because too many people crowded the machine at the time. The conference was for Ninja Gaiden 3, and it started off with a short message from Team Ninja's president, saying how he was disappointed not to be able to be at the show in person, but had sent someone from the American team instead. The man in question was Peter Garza, and his presentation was actually a lot of fun- the presentation behind him kept "poking fun" at him, by riffing off his monologue, complaining that it wanted to get to the gameplay footage, and making jokes at his expense.
Another man sat at the side of the stage. He was bald, thin and wore glasses, and he, well... Didn't look like a ninja. But I really hoped what was coming was what I was expecting- And I was right- being a developer, he completely aced the demo level of the game, live, without losing a single hit point. It was gripping.
After that was a Q and A, where prizes and merchandise were given out to those who asked good questions. I snuck out of the conference at this point, because I had a plan to get into the queue for the Uncharted conference an hour early, and I was going to be late.

The last hour was spent queueing up to see Nolan North and Richard Lemarchand talk about Uncharted 3, and I was right to queue early, as only a select few of us made it in.

This was the highlight of my day- Richard and Nolan traded wisecracks all throughout the Uncharted demo, and we were taken through two scenes, the first one was a clip that'd been shown on the internet, where Nathan Drake (the main character, played by Nolan North, for those not in the know) and Elena (One of many secondary characters you can team up with) sneaking onto a cargo plane. The scene came to a close as Drake got flung out of the back of the plane, into a desert below.
We were told not to film the second clip, or talk about it because it hadn't been shown anywhere else, and we were amoung the first people in the world to see it. All I can say is that it was "well good".

I had to leave the Naughty Dog conference early, sadly, during the Q and A session at the end, as my phone kept ringing (on silent). We were due to get back to the group bus by six, and I was holding them up. I made my way through the conference hall for the last time that day, and back into the lobby. As I ran through, a corporate sponsored man asked me if I wanted a pack of doritos, before throwing them at me. I caught them in my chest mid-run, and then thanked him.

So I ran to the back of Earl's court, stuffing these cheese-its in my mouth, but went the wrong way first time, and had to go all the way around the building to reach it. I was out of breath, we got on, and then drove away, leaving the still-crowded (but mostly over now) con and heading home.

I miss it, it was a really good decision to get the tickets as a last-minute move, and going there was a much better way to spend a Friday than sitting around in my house doing nothing. I feel sort of inspired to work on something, but right now I'm still tired out.
I only finally managed to get the wristband off today, it was really tight, and I needed to slowly wear at it over the course of three days.

Saturday, 24 September 2011

We are back

Class started again two days ago, and this first week has been more eventful than, say... What at least THREE weeks would usually be.

I'll talk about said events shortly. But first I'll just point towards what I was doing all summer:
I started a Tumblr with a catchy name, where I put the stupid games and bits and pieces when they're too short or too informal for this blog. Or rather, it's more personal than this blog.
Yeah, Tumblr certainly looks classy now, but give it a few years.

Apart from that, I've been working on both my major game project that I talk too much about, and a smaller 2D game which is sadly all story and not much game, which I'd love to show, but right now there are a lot of things wrong with it.

Friday, 20 May 2011

So!

That's it, today the whole thing ended. All the projects are in, this blog's closed (that happened a while ago though) and I'm going to talk slightly more casually. But it might not make any difference.

So I finished the flash game today. If you want to play it, knock yourself out. I don't need to introduce it, because all the information you need is already in there. It has several bugs, so I recommend checking the "Extras" page for more background.

I feel like doing nothing right now. Or rather, I do feel like doing something. Does anyone remember Warioland? I want to make a Warioland clone, but I can't be bothered. It's like a weird cross between wanting to do something and not. That's why I'm writing this. I literally forced myself to make a start on this post because I wanted to make it at some point.

So what else... I am working on several new games. I'm working on a new small 2D project in Blitz 3D that I'll take time on, but hopefully try and force myself to finish it. It's another anti-game, a genre I think needs more representitives. Don't know when you'll get to play it. On top of that, I'd like to finish my flash game at some point, but I'll have no Flash over summer.

I went to the park today with some other people from the class, which was good fun, because I forgot what being outside was like. I managed to dribble a ball for a while, which was a surprise. However, I couldn't kick it for shit.

Thursday, 5 May 2011

Bibliography task

For this task, we need to compile a bibliography of books, journal entires, and book contributions. Why? To prove we can.

Books

Habgood, J. Nielsen, N. Crossley, K. Rijks, M., 2010. The game maker's companion: game development: The Journey continues., Apress: New York.

Scott, R., 2010. Level Up!: The Guide to great video game design., John Wiley and Sons Ltd: UK

Contributions to books

 Contributions to books are phrased differently:

God., The New Testament, The Evangelist, L., 0000, The Gospel According to Luke., Isreal: Independent. [page count approx]: 1080


Contributions to Journals

And likewise contributions to journals:


Venturelli, M., 2009. Space of Possibility and Pacing in Casual Game Design - A Popcap Case Study. Brazilian Symposium on Games and Digital Entertainment [October 8th- 10th]

Remediation of video games- Run Lola Run

In class today (well, actually a few days ago now) we watched the film "Run Lola Run", it was presented as an example of "Remediation"- one form of media being represented in another. In this case, video games in film.

"Remediation" is a word coined by Bolter and Grusin in 2000, specifically, as, "The representation of one media in another". They also argued that it was a defining characteristic of new media (think internet, "hybrid" media such as interactive movies, etc) They also argue that it is already widespread. And they said this back in 2000, as well.

Remediation manifests in several ways, not only through one using the tropes of the other, but also simply from say, a film involving a video game in its plot, or a film being a direct adaptation of a game, or even one medium being a critique of another. This example is Run Lola Run, a film using video game tropes in its story.



NOTE: Spoilers follow

So, on the whole I enjoyed the film- from the bizarre opening sequence I thought "art film", and this is usually a bad thing, but I kept my mind open because even if it was trying to be needlessly arty, there's no reason I might not enjoy it if I gave it the chance. After a while, the insane artsyness actually started to be really cool. It made a really mundane setting really interesting by virtue of a tense plot and a lot of seemingly pointless, yet cool effects punctuating it to highlight various things. I came to realise the film wasn't being arty just for the sake of it, but it was merely doing these things because it could. If so, I admire the film makers for not sticking to convention. The film came out in 1998, so it's actually a pretty early remediated film example (in terms of video game history)

The plot involves Lola, as the protagonist, having to raise 100,000 deutschmarks before the stroke of midday, in order to save her boyfriend, Manni. I'll go into more detail on the plot's complexities, and possibly the most important detail that seperates it from most other films now, in the form of a list because it's easier.

Once again, Heavy spoiler warning: 



The film is split into three episodes. When either Lola or Manni dies, the story "resets" back to a scene early on when Lola puts the phone down on Manni after he has told her the situation (needing to raise the money). It was a complete surprise the first time, with no indication the characters had multiple lives. After the second time, however, I found myself planning Lola's strategy through the day differently to avoid things going wrong. This is probably the most instantly game-like thing the film did. Why did it do it? I'm going to go with "simply because it could"

Setpieces- Over the course of the day, several setpieces get in the way of Lola and Manni, and are tackled somewhat differently every time. It reminded me of role playing strategy games such as Deus Ex, where you are given a set of setpieces and basically told to tackle it any way you want, so long as you achieve your end goal. The end goal was in place (raising the money), and Lola's strategy varied with each try. For instance, she has to run to her father's office at the bank first and ask him for money. She has to get the money before 12 O clock because Manni swears to himself that if she doesn't show up by then, he will rob the nearby store and get the money himself.

On the first try, she fails to get the money, and the two of them rob the store together, and Lola dies. The second try, she gets the money by forcing her Father at gunpoint, but Manni is hit by a truck and killed. The third try, she fails to get the money, but wins it at a Casino instead. Along the way, there are several other characters she bumps into, and when she does, it gives a quick summary of where thier lives went thereafter in the form of photos- on the first try, everything goes badly for these people, and on the third it goes well. There are many other setpieces on her quest, but you get the idea.

Lola's colour scheme and silhouette is iconic and unique- this is not necessarily a video game thing, obviously, since many film characters and game characters are iconic, but often video game characters (this is not always the case) are designed to be iconic in a certain way, often by both standing out from everyone else in terms of colour scheme, and also by being a unique shape. Team Fortress 2 used this method to make each class stand out (Mitchell, 2008). Lola has red, messy hair that is a different shape to every other character, who is mostly very average looking. Manni is also different looking, with a smaller, blonde haircut. Once the film was going, I managed to relate each character really easily, which is often a tool used in video games. (I wasn't going to include this point at first, but now I've written it I think it counts)

Minigames and asides take place- the film goes into asides from the main story often, which give the feeling of minigames, such as the scene in the casino, which is stretched to a full length scene, wheras in most films it would just be skipped over, and the animated sequences, some of which were surprisingly lengthy.

Characters in the film have detectable "player character" or "npc" roles. The camera follows Lola and, sometimes, Manni, when they have an action scene, rather than using angles. NPC dialogue scenes, such as the scenes with Lola's father, and people on the street, use regular film angles, wheras the camera chasing after Lola, one of the most memorable images in the film, feels like it is a videogame.

Other good examples of Remediation I want to add to the end of this, are Crank (2006), which featured a HUD, first person perspective, amoung other video game tropes, presented in the most comically over-the-top fashion I've seen in a film, and webcomic MS Paint Adventures (2009-Ongoing)- it's not usual I talk about a webcomic as an example, but this webcomic features both game mechanics such as an inventory, levelling up, and even interactivity as readers poll on what action the characters should take next after every update, as well as fully interactive flash minigames when they are required. The last example is Scott Pilgrim, where the main character has a score and can level up, in both the comic, and the film based on it.

Bibliography

Mitchell, J., 2008. Stylization with a purpose: The illustrative world of Team Fortress 2. [online] Valve Software: http://www.valvesoftware.com/publications/2008/GDC2008_StylizationWithAPurpose_TF2.pdf (accessed 4th May 2011)

Bolter, J., Grusin, R., 2000. Remediation: Understanding New Media. MIT Press

Wednesday, 6 April 2011

Flash Game Development: part 5

Yeah, I need to start occupying myself with some of the other tasks. I've mostly just been mucking around with this today. Unsure of how to solve any major bugs, I thought, "modelling a couple more rooms can't hurt, they'll need to be done sometime, and I might as well do it while I still know all the number codes for the tiles". Didn't expect to do much, but the world is now triple the size it was last time. Have a look for the lake, it's fairly well hidden.

Apart from that, the code itself hasn't changed since you last saw it. Meaning still no transparency around the character, and no collisions (I was going to do this next, but it'll have to be later)

Here's a couple interesting things that might help you understand the layouts:


Tiles with vines are destructable once you have the correct powerup. Not all of them, only ones with a hard-to-see white outline, just to keep you on your toes.



Pink walls can be ghosted through after getting a powerup that will be hidden somewhere in the lake. That big foreboding red island, hopefully.



Another powerup will allow you to swim. Without it, you can only swim a short distance before you drown. Too short to reach the foreboding island. With it, you can swim forever. Yeah, it's beginning to sound too complicated now, isn't it?



Those houses may or may not be accessible depending on time.  If they ever will be, that's something I'll save for last.


Oh, and here it is.

Also for some reason the very last tile seems to be the very last tile of the room you were in before. Just warning you because it can play tricks on you in some of the rooms.

Concepts and map (spoilers, possibly, plus unfiltered brainstorming, some of these ideas suck.)

Wednesday, 30 March 2011

Flash Game Development: part 4, +Other updates

Here's the changes I made to the Flash game today- I added a player sprite, which took the whole day. No transparency yet. Also sped the top speed up a little.

The feedback I got back on it from various classmates and family was that the charge didn't really have enough of an increase in speed to be worthwhile, and that it was hard to tell which surfaces were walls, or even whether it was from a top down perspective or a side-scrolling one. I think having the character in, possibly others plus shadows should fix that problem. I might have to edit some tiles to make it clear where the floor ends and the wall starts (the fact that the walls are full top-down view and the character is 3/4 view doesn't help, I may have to make some new tiles for "joins" as well.)

I solved the problem of charge being too slow by speeding it up. I imagine if you hit a wall at that speed it would incur a penalty, so you have another incentive not to use it, and so you have a loss of control as well.


Other updates

I suppose this week I got "back in the game" in regards to our group project, which I had been slacking on over the past few weeks in favour of other projects. I regret it, so I'm trying to make up for it by getting the final boss battle back in, which was my job, but got cut because I was becoming a liability. So far I've fixed one bug that was the biggest nusciance (Our game is a spelling game, and the bug was the fact that the random letter generator seemed to have times when it would never give you the letter you needed next, even after a long wait, making it mostly a waiting game)- I got the boss battle code in from my prototype, but it suffered an unexpected bug which meant it wouldn't even enter the battle in the first place. I gave up on that one since I'd been in the lab all day, and the main problem had been solved. I suppose this is something I need to keep up.


Character concepts for the main character. I wanted to avoid her looking too much like she was built out of an identikit. I was low on time so had to finalise quickly before I'd wasted the whole day doodling. I went with a woman with normal casual clothes, and a random pixel logo on her shirt. I tried to go with a sort of "everyman trapped in space" look, and the jumpsuit I thought of first seemed a bit too official looking.





Regardless of whether she's the final main character, in case I get another idea, I have a character in there now, and a bunch of working sprites. This is much better than nothing, and she'll have a place in the final game regardless of what that place is.

Thursday, 24 March 2011

Flash Game Development: part 3

Okay, so here it is so far.


Please pretend there are collisions on the walls. The walls are the darker grey blocks- the floor is one colour in most rooms. (Light grey or light brown)

Or, you know, just go through the walls. But then how will I know if the pacing's correct? I don't mind if you do to just explore the place, though.

Feedback would be appreciated, but just do whatever you want with it now, except steal it.

http://dl.dropbox.com/u/24204166/LBOS.swf

Evidently there's no sprite for the main character yet. The location is supposed to be a space station, possibly full of plants that may or may not kill you depending on if I have time.

Space bar to charge. Green bar is your charge, yellow bar is the charge for the charge. How obvious is this...?

Monday, 21 March 2011

Fiddling around with Game Maker

I decided it could be interesting to try out some free game making engines, since I was in something of a slump on my personal game, and I'd made heavy progress on my Flash game, possibly due to the excitement of creating a game combined with the excitement of trying a new language. I'd heard a lot of good things about free-to-use-but-costs-money-to-own-a-complete-version game making tool Game Maker (Which is an apt name) and that day our fates crossed, and I downloaded it, sat and read the Terms and Conditions for about two hours, and went to bed. In the morning I went to class. After class I finally had the opportunity to try it out.



On the first opening I was given a free optional tutorial on the side which told you how to construct a game and use most of the features. I'm an overentitled pro, so to me tutorials are for squares and n00bs, I was done with that shit six years ago and I wasn't looking back.

I took one look at the blank screen and realised I had no clue what I was doing. I followed the tutorial for a while until I reached the point I decided to just read the rest and not actually do it. I'd also made a mistake somewhere along the way which made me realise it would take a while to complete the example game, and I didn't feel like making a game that had been made before. I wanted to get right on to making something, regardless of whether it worked or looked terrible. So I'd absorbed, but not fully understood, most of the tutorial, and decided that instead of a game where you click on things with the mouse, I'd make a character move in four directions, possibly put collisions in there if it's easy. (And to me it's always been hard. By hard I mean I've never done it. I'm dreading its arrival on my Flash Project)

I don't think this is what was meant to happen.


So I started off with a character. I had to add both a press and a release event for all four arrow keys on the character, which I suppose could well be minor for objects in completed games, I don't know.

What surprised me was that you give objects "move" commands, which move them, rather than controlling their x and y locations manually like with most other programming languages. I tried using the collision events and before long I'd got collisions for every direction in, with just one event. Oddly, to make it work, I set the character to not move while collided with a wall. This overrode all the move functions on the keys, which I thought was a very weird system.








But the character collided with the walls from above in a way that made her head seem like it was colliding with them. Think moving a lot of little paper cut outs around. How could I make her look like she was walking up to the wall before stopping?

I made the bottom parts of walls (which I'd made look different not knowing I'd do this) a different object, with no collisions on it. After that, the character moved up against walls as if her feet were her centre of rotation, rather than her whole body.



I was quite impressed by how much I'd achieved on my first (technically second) go, and continued to play around with it. I added a door, which led to another room (making the rooms was pretty simple, as it comes with a level editor- you don't even need to use tiles, and you can set your tile size. Beyond that I'm not sure how it works exactly, it seems to allow you to change the grid after objects are down, so presumably you can have several different grid systems at once.)

The room allowed me to put in a flash transition by simply picking one out of a box, which was great. But what I realised afterwards was that my door and its event only led to the start of room 2. How was I going to make a door that lead back the way I came? I didn't want to make a new object for each door, but I couldn't figure out how to put a variable on the door to determine which subtype it was. All the doors would lead to the start of room 2. At this point I called it a day and thought I could return to it if I ever got bored. Which probably won't happen. Still, overall I was proud of what I'd achieved, and the new language I'd tried to learn, regardless of whether I'd stop here. I was also impressed at how what I made in a few minutes looked better than almost all of my previous 2D attempts.

Here's a playable version.

Tuesday, 15 March 2011

Flash Game Development: part 2

So, last blog post I decided I should make something simple and small, seeing as I'm new to the language, and I've made similar mistakes in the past. I said making something like Knytt which was more about discovery, exploration, and nice looking scenery (so I'd probably have to draw a lot of assets) rather than something heavy on gameplay, AND art. Only when I have to focus on multiple disciplines at once I get confused.

Pictured: Awesome game ideas


So I began by brainstorming ideas on a piece of paper that was lying around. I thought exploration was a dead cert, because, A: I've made games of this genre before to fair success, and B: Due to being essentially painting a landscape, the "stopping point" was essentially variable. If the deadline loomed, I'd just cut the environment where it was, since there's no set size the game world actually has to be. This is not certain, though, since all sorts of things might get in the way that I haven't planned, even on the art side of things, not just gameplay.

I didn't rule out anything else, as despite exploration games being easy to make, there's a chance it will be TOO easy and turn into an art project rather than a game. I was thinking of Yume Nikki, a stylish yet terrifying little indie RPG about a young girl who goes inside a bizarre, and often scary dreamscape whenever she goes to sleep. it defies game design convention by mostly being walking through sinister environments for a long time, looking for stuff, getting lost, and generally losing hope. That's my experience of it, at least. And I was playing it in a lab full of laughing, happy game students throwing paper aeroplanes around and talking about art n' shit, and I still felt alone, scared and a bit hopeless. Could be because I had the earphones in, too.

Yume Nikki's first room- Madotsuki's bedroom. From here you can only play a short, next-to-impossible minigame, go onto the balcony, read your dream journal (save) or enter the dream world.


Anyway, despite being totally snazzy, the gameplay is relatively simple. Explore and find stuff. It does indeed get more complex, as the stuff you find gives you a new "effect" (or ability) which allows you a different form of interaction with the world. For instance, the knife lets you stab things like other people or doors, the bike allows you to equip it, to ride it and travel faster (almost nessecary if you don't want to spend ages looking for the effects) And completely weird ones, like "poop hair", that... Turns your hair into poop. Literally. You then drop flies around to use as markers of where you went. I like the way each effect could've been fairly uninteresting (the poop hair is essentially a marker flag) but is made to fit the game's disturbing style by being something a lot more creepy or gross.

Actually, it's a lot more complex than just moving around, but what I mean is it's essentially built around the same basic control scheme, you can always move in the same places and between the same rooms (NOTE: as far as I know. It's a deeply complex and unpreditable game by the looks of things) and there's essentially a coherent system running throughout it, with the exception of some bits on the side.

I am convinced this game is more complicated than it looks, though, so I'll need to make something even simpler. Yume Nikki was made with RPG maker, which makes a 4-directional "field" sort of gameplay akin to Pokemon or Zelda automatically, and you can mess around with this engine in any way you like. A top down game like this is perfect for exploration heavy gameplay.


I've also been thinking about speed a lot. For instance, I think speed is quite important to a game- for instance, you hijack cars in Grand Theft Auto to travel faster (OK there are a couple of other benefits but that's the big one), you get the bicycle in Yume Nikki to travel faster, despite it not making a tangible change to the game, all it does is benefit users who don't want to walk around, and thereby risk doing mostly nothing for a long time.

In Knytt, speed is important too despite having no tangible effect. Frequently you'd get stuck behind a large cliff or fall and have to walk back up again, you feel that you need speed as you play, and the better you are with the controls, the faster you maneuver the landscape. I think various speedruns of games exploit different tricks like these to try and go faster, too. In short, going fast is fun. Exploring is fun. These are just two things I have always known, yet never fused into a single game before. It's lucky, then, that I started thinking of these ideas now, when I need to make a game.

So as I was thinking about speed, I also wondered about the best speed modifiers to use. I listed them all down.

Vehicle Jakking
  • Vehicle jacking. (Seen in: Grand Theft Auto (all games), Jak II: renegade, Most games in the 00's)
Skill involved: finding. Find vehicle, it's yours. Sacrafices ground control (usually easier) for vehicle control, which is almost always icier to make up for the speed increase, and make it so neither option is better (you essentially have to chose between low speed and control vs. high speed and loss of control.)


  • Charge (Seen in: Ratchet and Clank, Barkley: Shut up and Jam Gaiden, Vanquish)
Skill involved: You hold a button to go faster, but your amount of charge is limited and will eventually run out. If you are not charging, it restores over time. This method makes the player time the times they use the boost. Vanquish did it perfectly, and was probably the game that got me thinking about speed, now I come to think of it. You hold L2 (Or Xbox-analogue L2) to charge insanely fast on your rocket boots, and this allows you to duck to safety easier. If improperly timed, you risk needing it when surrounded by enemies, and therefore not being able to escape fast enough, and dying. Basically, it makes regenerating health an actually meaningful mechanic for once, since the game revolves a lot around timing.
  • Turbos (Seen in: Mario kart, Beyond Good and Evil, Brutal Legend)
Skill involved: Hit a button, go faster for a brief period. (sacrafice control for speed once again.) It's worth noting that in all the examples I listed turbos work differently. In Mario Kart you get them out of boxes (boxes give you random powerups), and use them only once until you get another one. Whether or not this happens is random. In Beyond good and Evil, you purchase turbos from vending machines, stock them up, and use them whenever you want. I found this the most interesting, and unique. I'd often be able to stock up a load of turbos and ace any of the races you could enter. If I'd forgot to buy any, then damn. Brutal Legend, the last example, allows Eddie Riggs' kicking ride the Deuce to unleash a turbo at any time (with a slight cooldown between) at no cost except the control/speed sacrafice. This is similar to Beyond Good and Evil's seemingly limitless capacity for turbos, and makes sense given that being an RTS, it revolves around timing.
  • Turbo pads (Seen in: Mario Kart, Beyond Good and Evil, Rayman Rush)
Skill involved: The same as above, except instead of unleashing the turbo freely on a button press, it has to be unleashed when you find and drive over a turbo pad. The change is almost always automatic, with the exception of games like Rayman Rush, which allowed you to charge up further turbos for a brief period after the first one.
  • Rolling (Seen in: the Legend of Zelda (3D incarnations), Kingdom Hearts, Vanquish)
Almost entirely identical to the turbo in terms of gameplay, except it is almost always limitless in supply, and sacrafices all control in all directions for a very short speed boost. Usually used for dodging or attacking, but counts as a speed boost nonetheless. Also makes no sense, since rolling almost always slows you down.
  • Acceleration (Seen in: Sonic the Hedgehog)
The longer you run, the faster your overall speed becomes. Often control is lost too, such as in the case of Sonic where, despite the controls still being as tight at high speeds, it's harder to see what's coming, and to avoid it. Sonic makes use of turbo pads, and a slightly different form of charge, where you rev it while standing still for a while before travelling faster. (time/speed tradeoff)
  • Wind riding (Seen in: the Legend of Zelda (the Wind Waker))
By travelling in the same direction as a wind current, you gain additional speed. In the Wind Waker, this was actually necessary before you could travel in any direction at all, but it was the game that reminded me of this method. A lot of platformers made use of fans to create small wind currents that allowed for this.

Two I thought of just now are Rocket Jumping (seen in: Team Fortress 2 and similar games) and Teleportation (Portal's probably the most prominent example most of us have played). There's actually too many of these to list here, so I'm going to have to carry on before I bore everyone to death. Right, so I figured I should make a game that incorporated as many of these ideas as possible.

So that was fairly easy, but there was nothing holding the idea together. And would it work in gameplay once there was something holding it together? For instance, if it was a game about, say, a really fast woodlouse, rolling and charging might make sense, but wind and turbos would probably be out of place as to seem fiddly and un-woodlouse-like. There are things you expect a woodlouse to do, and stepping out of that zone makes it harder to get used to. Still works, yes, but I'm sure we've all played games that tried too much at once and ended up suffering for it.

So what sort of world would incorporate all these ideas of speed together? Well, it'd presumably have to be a game heavily focussed on speed. If it was the main focus, all these modifiers in play at once would both make sense and be easier to manage.
They say that I stole this, can I get a witness?

What sort of things do people associate with speed? All I could think of was Sonic, so I drew a guy who had blue hair, big goggles, and just to hit the association home, a blue shirt with "NOT SONIC" written on it.

What sort of world would involve speed? One where people race? One with a lot of roads, or people trying to, say, get to work quickly? This idea hit home, as I'm actually pretty terrible at being on time, so I went with "a world where people are too slow".

Everything started to fit together. Who better to shake up thier lives of monotony and never quite being fast enough to do everything they want to do in a day, than Sonic, or rather, not sonic, a famous speedster. Why was he here? Obviously, he's the god of speed. Scientists summoned him down from paradise to help them solve their world's problem.

Okay, so I had an idea, which I liked. I named it "Legendary badasses of speed". It seemed to have a slightly humourous edge to not only the story, but to the title too. I decided even if it wasn't my final idea, I should implement something like it now, anyway. So I made a blue circle move, and implemented a charge mechanic. This took one lesson.

After the lesson was over, I had a think about my idea. This wasn't possible. The world called for:
  • Large scale.
  • Lots of individual challenges to keep the player busy, and pushing forward the plot, within the world.
  • Shops and items.

I listed these things out in my head as I drank some non-polluted water at last out of one of the university's many water coolers. It didn't take long to realise I was about to make the same mistake again- This game was increasing in size too much in my head already, and I knew, given the deliberatley miserable look of the game, combined with working challenges into this world in the same time the rest of us would be building something simple like I should be doing, I was set for an incomplete game, and a boring time making it, and if I'm not having fun making it in this short amount of time, I know it's unlikely to come across as fun to players. I dramatically threw my cup to the ground. (I didn't). I was back at square one. Well, square two, since the speed mechanic was fine. I thought about the exploration idea and realised I was already too far away from it now that a concrete plot was in action. Regardless of LBOS' actual quality, it would have to be either dropped or made at a later date.

So... Why not... I wondered, just build a world, with speed machanics, a random character, and no coherent style in the environments? I decided to just do this. It pays to experiment. If I don't like a speed modifier, I can take it out. If I have time to implement, say, enemies, I can do it at my own pace, but it's not necessary to the game. I boiled it back down to the core things I wanted to capture. Exploring things fast.

So instead of Pokemon-style-door-linked scrolling rooms, I did a room grid (imagine a tile grid, but with rooms, all the same size, in each tile. Legend of Zelda 1 (very first, NES one), for example. Knytt also does this, as does Hero Core). The room grid meant there were now things I no longer needed to worry about, like a scrolling camera, doors, and mapping out oddly-shaped rooms. There was a standard I was going to stick to all the way through, and it also felt like I was in a much less enclosed world, a lot like how Knytt made me feel (I'm not ripping off Knytt)

DEV SESSION 2

So I thought... Let's start this off in a desert. That'll be cool. Deserts are big, open expanses to tear up, as we have seen in many a free-roaming game, not to mention great places to hide buried temples. Everyone loves buried temples (Disclaimer: Not everyone) So I implemented a tile grid for the backgrounds. This was pretty hard, but I found a tutorial for it, which I used as inspiration (I actually didn't copy it, since it will usually not work to just copy someone else's code into yours, my Dad taught me that) And then made the grid fit my screen. I drew some green blocks in paint for the desert, and some silver blocks for a sort of podium I planned the game to start on. The podium seemed to intice people to move away from the centre in what direction they wanted. (It mostly pointed up, but pointed left and right as well) To change the image on the tile, it referenced different frames of a single tile object (this is what the tutorial told me to do)

Okay, I thought, let's look at this desert podium and see if it looks inviting... Oh.



Okay so not what I thought. But... Actually... That almost looks better. It looks like we're indoors. The ground texture looks like walls, and the podium texture looks like floor.

Suddenly I saw myself in an epic space station. With grass in it (think Silent running). Immediatley I knew I'd be setting the game in this space station rather than the desert. I suddenly thought of various ideas for it. Living plants? Robots? Not too hard to do. Especially if static. Could still be interesting to look around, sort of like exploring a greenhouse full of interesting plants. If I had time, they could do something too, but it wasn't a necessity. This was a basic idea, but not one I set into motion right away, or even have set into motion as of this writing.

So I spent the rest of the day modelling rooms that lead off from here. It was actually some of the most fun I've had in game dev for a long time. Just editing levels and instantly seeing them rendered in engine. They weren't playable (no collisions yet) but still, I was having too much of a good time to care.

To change the tile layout, there was a single function that filled an array with the layout you set up, and fed that array through a loop that generated the tileset. At the start of the funtion, it was to delete all the tiles of the previous room, but I didn't get around to this, so I built the rooms by just making sure I spawned in that room instead, since whenever I went into another room the previous tileset would still be there, on top of the new one resulting in you not seeing it. I didn't need to fix this yet, so I just built them the hard way.

After modelling a lot of rooms, I called it quits. Despite seeming like they were pretty close to working, I knew I was getting ahead of myself. If there's something obvious I've missed out, I'll need to go back through all these rooms I've made and fix it for each of them. Nightmare! I decided this lot will do for now, and once the way ahead is clear, I can think about making some more. Also I felt myself running dry of fresh ideas, as I'd literally gone into the woods, and didn't know what I'd put in there. Was it going to be a huge dungeon-esque level? Just a small woods? Don't know.







I suppose this is where things start to get hard. Once the game's beginning it's easy to make a lot of progress in a few hours, but it's likely to get much harder from here on.

Friday, 25 February 2011

Flash Game Development: part 1

So for a project for Uni, we have to build a Flash Game about whatever we want (within reason), and this seemed like the sort of opportunity that doesn't arise very often, so I brainstormed tons of ideas in my head for a while to try and come up with something that was simple but that was still good enough to draw people in for more than the typical "boredom time", and would hopefully gather a lot of plays on whatever website it would be hosted on. Bascially, something small, simple, fully realised, fun, and a decent length, which will be hard unless I have the right approach. I started by using some examples.

I started by exploring some of the games made by last years students. One of them is James Brittain's "Awesome Adventure", which despite looking a bit crap (Sorry James) is the best one on there, and it's the best one because it A: Works and B: Works for more than one level and C: Builds upwards; The player is taught the basics of the game on the first level, and gradually more elements get introduced. There are plenty of elements, but not so many that you will get bogged down and confused at any point. Sometimes you know exactly what to do, but it's the skill that proves to be the hardest obstacle to you, rather than the puzzle's solution. It's small and simple, which is exactly the sort of game that's good to start off with, I guess. It also has an interesting and different control scheme, rather than controlling the character directly, you have to guide them by clearing thier path and interacting with thier world with the mouse.

The second place I looked for inspiration was more "first time" games. Looking at games that were essentially someone's "First try" at programming ever, seeing what their overall aim was, and seeing what it was they eventually produced. Being so full of myself, I used myself as my first example. (pointless introspection ahead, but I figured it would be worth mentioning, since I learned a lot from it):

Back in 2002, I decided to create a fully free-roaming world that would be enourmous, full of detail, have a working ecosystem, deep combat system, compelling plot, and be filled with wonder and discovery. The early designs were promising as me and my brother pretty much threw everything at it, and the wonderous nature of the world we planned to create allowed us to throw almost any idea at it and it still to essentially "gel" together.

That project didn't achieve our high hopes, When I gave up on it four years later, we had:
  • 0 levels polished to final quality.
  • A combat system with an astonishing amount of depth, but only one enemy type with AI so basic it was no fun to defeat.
  • Lots of parts of the world just floating off the map, waiting to be repolished to final quality but instead just sitting there never to be touched again.
  • About two miles of mostly empty, uninteresting terrain. One mile of interesting empty terrain.
  • basic physics.
  • Worked with a plugin controller.
  • Bad collision system.
  • Most environments could only be traversed by debugging, partially because they took so long to walk across, since the computer struggled under all the world that was loaded at any one time.
  • Horrible, clunky camera system.
  • No semblance of story.

I feel the biggest mistakes I made on the big project were:
  • No coordination: Me and my brother started working on this together, but since he was more of an artist than a coder, I pretty much took over the whole thing and made it mine, and eventually I know he began to feel left out of it, and I had essentially slammed the entire workload on myself. It gradually stopped being fun, and with me on my own, that team spirit was gone. I feel stepping away from it eventually was a really good idea, as I only realised these mistakes afterwards. We also both had different ideas on where we wanted the game to go, and since I was the coder, I essentially had authority, and it made it easier for me to shoot down his ideas. I didn't quite realise I was being such a control freak, and it resulted in me rejecting most of his ideas, including stuff that in hindsight was good.
  • Bad ideas: Famous delayed game Duke Nukem Forever was originally set for release in 1997, until 3D Realms made the bizzare decision to switch from the Quake II engine to the newly released Unreal Engine. and I made several similar dumb decisions, like overhauling a lot of actually decent content, changing several key concepts during development (such as the switch from "wacky comedy" to more edgy and serious) and eventually it seemed more like there were four or so seperate games that this game wanted to be.
  • Management: I had no idea of decent file management or RAM management, and as a result, I couldn't figure out why the game ran so slowly, or ran slower when I faced certain directions. It was because all the areas in this free-roaming world I had created were loaded in memory at once. It also explained the inhumanly long loading times. I built in a system to load and unload areas depending on how far away they were, which took about three months of lazy coding. This didn't work either, as objects placed in these ares would fall through the floor when the area was not loaded. So much stuff was happening that we hadn't even considered. This bug was not solved when we stopped. Another thing worth noting was the fact I actually started the game multiple times in the past, and not deleted old resources or versions of the game from several years ago, the folder was full of tons of unused crud and it would be a lot of effort to have gone through it and filtered it out.

On top of that, I had poor file management, the mesh files were all dumped in the same folder as the program, and the bitmaps for the textures, and the .x files that the meshes were exported as, there was no structure to it, and within the code it grew increasingly hard to figure out what did what. Fixing the file structure took about another series of months.

After I stopped, I started work on my newest game, which I'm still developing now, and actually getting somewhere with. On my new game I am:
  • Still doing it in 3D, but using a fixed camera, and having it load and unload rooms when you go between them, it feels more enclosed, but that goes well with the nature of the game, which isn't as "outdoorsy" as the last one.
  • I'm keeping things simple, There are about two classes of object: Scenery, and things you can interact with. The scripts for objects you can interact with is still slightly messy, but cutscenes are kept in text files and loaded when needed, rather than dumped in with the actual code. This makes levels easier to map and plan out. Content can be written into the game pretty much the minute it is finalised (which doesn't actually happen often enough, since writing is not my biggest strength.)
  • I'm more organised. I'm doing this one on my own now, since my brother's working on a game of his own too. I only recently drew out tables and file structures on peices of paper pinned to my noticeboard, so I can keep track of what content needs to be produced, the order to produce it, and when it needs to be done, and what actually is done. I need to keep the workload from being too much for one person, and this is an area I'm still struggling with.


That's quite a big tangent I've gone on now...


The point I wanted to make was that you can learn a lot from your own mistakes, and that's why I definitley want to try something simple. Even games that seem simple on the outside are deceptively hard to make. One-man games that are actually top-quality, such as Cave Story or Iji took around five years to make, and are still shorter than most commercial games (but, also a lot better than a lot of commercial games, at least in my opinion. They've both certainly stuck in my memory.)

When I think of making games in a month, I think of Indie master Cactus, who is probably one of the most original and prolific indie game developers around today, he has made over 40 games, usually releasing several a year. What strikes me the most is how they all feel so complete and polished, and are often deceptively deep as well. His abstract approach to games is something I like, he forgoes usual pitfalls like pointlessly detailed graphics and walls of text in cutscenes in favour of creating a fully realised world using abstract ideas and characters, using as much as he needs to to make it work. This is similar to what Doug Church was talking about in the article Formal Abstract Design tools in regards to Super Mario 64, specifically:

"No one who plays Mario complains that they want to hollow out a cave and make a fire and cook fish, but cannot. The world is very simple and consistent. If something exists in the world, you can use it."

I've also been playing a lot of Nifflas' Knytt recently, a really simple platformer with about 5 buttons. Down to save, left and right to move, s to jump, and a to point to the nearest item. It sets you loose in a surreal, free roaming world with just these and the knowledge you have to find a ton of items, and then you do it. It's a "pick up and play" game in a way, it feels very "ambient", and you can just sort of launch it, play in the world a bit, then close it at will. I'd recommend playing it to see what it does so well. It feels like a tiny "anthill" world in a way, fully realised and abstract. An idea like this, but just with a perhaps smaller world (because the world in Knytt is pretty collossal), would be a good thing to make for practice (just as long as you don't rip it off, because that's bad)

So, in the end I started thinking of ideas that could incorporate simple controls and ideas and wring the most mileage from them it could. I'll go into that in part 2, if I'm still alive by then.