NFTS Graduate Year Project – Pitch Perfect

Keyframe

Hey so back again to continue documenting my slow ascension to gamedesignerhood! Last night I was exposed to hilarity that is “Jupiter Ascending” and for the tears of gleeful mirth I could not continue my blogging. Here’s an second endeavour to put away the merry memories (and knowledge that I’m going to go see it AGAIN tomorrow with Francine haha!) and focus on this very important grad project blog ;).

So I left off at the point of great ponderings. A slew of ideas had been sloshing around my noggin for the best part of a month, and with February came not only the penultimate breaths of winter’s winds, but also a dusting of Tony’s reminders about the ideas pitch I would have to present. The pressure to amount some kind of cohesive collection of concepts began to build. As I approached the deadline I began eeking out my ideas to some close friends and family.

If there’s anything I could recommend over anything else with regards to ideas, is that they need to be free! Some might say ideas are cheap, well I say (hoho) that they are cheep and can squark, glide, soar and dive much like a young fiesty seagull! (Jonathan Livingstone would be proud of my reference!) It’s only natural for creative ideas to feel precious and delicate, but their potency and strength can only really be understood under the scrutiny of an outer environment.

As soon as the scrawny blurry-eyed runts were forced out of the safety of the nest they began standing on their own two feet, then ruffling a feather or two in response to some qualitative feedback. Finally the nurtured and tested ideas that had been disguised against broken eggshells took flight, leaving me with a flock I could begin to document.

I Kissed A Gull And i Liked It

Jonathan Livingstone Seagull – one of my favourite stories of all time!

 

Here it gets a little serendipitous… one of the stranger birds to enter on a wing was the Autobiographical Game that kept resurfacing for my attention. Something resonated with me with how courageous one must be to put your own life story in front of others, not matter how fictionalised. Christos (aka @failnaut) encouraged me to explore a moment in my life that I knew had great significance but hadn’t really evaluated…

In brief, when at highschool I found myself hiding from navigating the social world (filled with complex feelings and bullies) by retreating to a learning difficulties class during lunchtimes. It was a place I felt safe, had free computer stations to play at, and much to my delight the kids in there played YuGiOh. The teachers who looked after the class never seemed to question me being there as I had begun helping the other pupils (ranging in social capacity from autism and dyslexia to sporadical violence and frequent distress) through simple conversation, play and shared learning. Teaching some of the kids to play HeroQuest was a defining moment and felt really good! However I began to notice the stigma of my association with these students; it increased the likelihood of getting bullying, it put other students from talking to me. I felt like my friends were a far away thing, despite having grown up with most of them for the last 4 years.

image20

A Hub World – Why Leave Safety?

During the GameCity workshop with Christos the group suggested I look at how one could recreate that experience by exploring what made that classroom a safe space for me, for the other students, and why in the end I left that safety. We discussed the idea of a hub world that contained a sheltering family of outcasts and how that could representing the classroom. Thus arose the story of a character entering a haven and having to choose whether or not to remain within the safety of its walls.

The path to explore this particular concept led somewhere quite unexpected however. Back in January 2015 I recalled (from around the same period of my past) a phrase my Dad used on one long autumnal evening. He was attempting to describe to me how one might describe life and the future. He fell upon the unusual metaphor of a Slide Projector, the sort one might find these days in a carboot sale or charity shop. It went a little something like this:

You, right now, are a projector. You have the potential to shine almost anything from your lamp onto the unknown whiteness of the future. And you carry around with you all of the slides of the past; each one a memory, or a hurt, or a love that has left its mark. How you organise those slides – which ones you choose to keep, which ones to leave out, the order they play out – can determine the future that you want to see…

slides

Slides From the Past

I remember listening intensely. He continued,

Just make sure to take the things from your past that you can see in a positive light. Otherwise the slides that show pain or loss can muddy that projected image…

I paraphrase. but the echo of this soliloquy remains, to this day, surrounding me with a much resonance. It was a simple reinforcement of the powers of positive thinking, and the dangers of dwelling on the negative. Reminded of this as I searched my past for an autobiographical game, the seagull of inspiration began to rise ever higher into the sky at the thought of working my Dad’s Slide Projector into the weave.

In my next post, I will write more on the influences affecting the evolution of my autobiographical game, as well as look at the other pitch concepts that clawed their way out of my brainthing. Until next time, peace y’all.

 

NFTS Graduate Year Project – The Beginning

NFTS

First, welcome to the new and improved website! It’s still undergoing some changes, a lot of structural stuff still needs work. It will be smart and snazzy, one day, and then maybe will get decrepit over time.

An ageing website, hmmm…

Anyway let’s get straight onto the rather exciting process of documenting my graduate project! This will be the focus for the next year of blogging. Commitment or what?!

Here’s a condensed version of opening graduate brief that each NFTS Games Design student received:


 “The graduate project is a substantial piece of practical work – a working game of your own conception, design, development and implementation. The game you choose to make can take a variety of different forms or formats and be targeted at any particular platform or combination of platforms you decide on, (PC, web-based, mobile, tablet, console, custom hardware etc)

It could be a completed project ready for release, a prototype of a much larger project, or the first few chapters of a suite of episodic releases. Crucial is that the end product is polished, competent, original and innovative. Something which has a potential playing audience, however small.

Use this opportunity to create a game project which pushes the boundaries of the medium and genuinely delivers an engaging, meaningful and edifying experience to its players, making its mark as your calling card for a creative future in the world of games.


What a tantalising prospect! I’m not sure of the limitations similar MA courses set out for final-year projects but I feel excited and grateful to say the least! I’ll come back to the broad foundations laid down in this brief from time to time, although with so many degrees of freedom to operate within I expect I’ll be constructing (with the help of tutors, peers, team members and games testers) a lot of the rules to this project as I go.

After working on some commissioned work during January it was liberating to jump back into the freedom of conceptualisation! The Christmas holidays were focused around Unity tutorials and some games jammyness, so ideas for the grad project took the form of the flickering of light bulbs. These occasional flashes looked something like this:

IMG_20150217_014046

Some ideas followed me all the way from the start of first year:

  • For example, a kind of ‘documentary game’ really intrigued me even though I felt I had attempted such a direction with “Anuli and Obi”. The very real RFA Fylingdales (a British air base that is part of America’s Ballistic Missile Early Warning System) and its history of controversy surround the local opposing protesters stood out as a potential source of investigative journalism, kind of in the same vein as groundbreaking podcast Serial.
  • Then there was the inspiration I received from Christos Reid (aka failnaut) after visiting last year’s GameCity. Christos challenged a group of us to talk about an autobiographical experience, and to discuss how games can reflect personal struggles. Culminating with a panel from Christos and Zoe Quinn, I was sure I could take my own experiences and discover an interesting mechanic to marry with a personal story.
  • The influence from my research into music festivals and play would perhaps always have led me to conceive of a dancing game. I imagined a while ago multiple players bouncing around an open space, trying to outdance each other, and it just seemed simple enough to work!

Josh Unsworth and I spent a dedicated January afternoon sharing such thoughts and concepts, with an aim to discuss 10 or so game ruminations.We each wrote down some personal key parameters we would measure the ideas up against. Out of the half-baked concepts that stuck out, a certain pattern started to emerge; looking long and hard at my options I realised I really want to innovate beyond the screen. My placement with interactive theatre group Coney taught me a lot about the importance of “liveness” and “presence in space” in both theatre and games design. Entice by these principles I started adapting the core essence of the themes of my ideas (interdisciplinary, social, engaging) into something more akin to an art installation.

As you’ll later discover my dear readers, this shift from the boundless accessibility and distribution of the digital age to a limited yet dedicated series of occurrences (dare I say… Happenings) of a game is not an easy sell to the modern games designer. Platform is everything when it comes to intuitive, fun, well designed experiences, and outside of the digital world it can be considered highly challenging to make a game with these qualities. Board games are a perfect example, which require hundreds of painstaking hours of testing to perfect.

I’ll talk in my next post about the pitches I gave to HOD Jon Weinbren at the start of February, and the roads I took to get to each pitch. Until then, peace y’all.

SOCCOBAN – GENERIC NFTS Games Jam [Part Two]

NFTS

This Part Two, it should be clarified, is actually a few half days mashed together. Christmas puddings, long cold winter trains and many a gifted ale may have prevented me from knuckling down to do a full report this past festive week. But don’t worry, here’s a summary of what I’ve managed to achieve so far…

 The Setup
Technically I already knew that I’d be making the game in Unity3D in C#. It’s a comfortable place for me to start and there’s still so much more for me to learn! So to begin with I defined a few familiar key verbs, nouns and phrases that I wanted my audience to be able to act out in a football game.
Passing, Tackling, Kick Off, Throw Ins, Save, Tactics, Offside, Formation, Corner Kick, Goalkick, Penalty, In Off The Post, Foul, Sending Off, Possession
Looking at the Overall Experience I wanted to make, I also did a wee brainstorm.
Shot Power, Leaderboard, Home/Away Kits, Shirt Selection, Stamina, Player Marker, Stadium, Practice Mode, Challenge Mode, Career Mode, Player Choice, Controller Swap, Score, Crowd, Advertisement Boards, Match Options, Match Length, Teams – Rank and Collective Skill, League Table
I decided to focus on the mechanics first, and worry about the desired features of the OE later. In five days I will be lucky to even get them up and running!
Mechanically I started with the core concept of possession. A whole game of football could be played without a single pass really; I thought that perhaps a successful tackle can be seen simply as the exchange of possession from one team (Getting the ball into a goal area being the final objective of the game).  This gave me somewhere to start with the design of the code for individual avatars (players) – I quickly mocked up the below model for possession exchange.

Calvin and Hobbes both very happy with the tackling system I created on the first day!

Using OnTriggerEnter() it was easy enough to make a player in possession lose the ball if an opponent moves into their associated collider.

I thought about how to make sure that the ball would not flit between opposing players during contact, which led to the idea of a “dazed” status that a recently tackled player would adopt. During that state they would be unable to move or gain possession on the ball.

Simple beginnings yes… and at this stage I hadn’t even designed a concept of ‘time’ in this world of leatherbound pigs bladders! But it paved the road for the next step of designing the player script architecture.

I refreshed my understanding of Interfaces and created a seperate C# script defining necesary functions that my PlayerBallController script would need to include. These were things like public interface IRunner(), public interface IPasser(), public interface ITackler(), public interface ILosePossession() etc. After adding the interfaces to the class definition of PlayerBallController I created some other functions that would call the interface-defined functions when needed. A few examples:

    public void CheckPossession()
    {
        if(pState == PossState.InPoss)
        {
            Dribble();
        }
        else if (pState == PossState.NoPoss)
        {
            Run();
        }
    }
    
    public void MoveBallToFeet()
    {
        ball.gameObject.transform.position = feetMarker.transform.position;
    }
    
    public void KickBall(KickType kType)
    {
        switch (kType)
        {
            case KickType.Pass:
                Pass ();
                break;
            
            case KickType.Shoot:
                Shoot ();
                break;
        }
    }

Dribble() Run() Pass() Shoot() are all required by the interface defintitions. I didn’t know how I these functions would act, however at this stage I didn’t need to : the structure was at least taking a nice form.

By now I’d also began to think about the OE and how I’d actually enjoy augmenting the tactical element of the game. It hit me that I could make a turn-based football game with one-off challenges (individual set pieces, phases of play,  skill shots etc) that someone playing the game would be ranked on based on how many win/fail conditions they activate.

http://soccersweep.com/wp-content/uploads/2013/12/tactics-board1-620x350.jpg

This new direction meant I immediately had some classic aesthetics to draw from (i.e. the tactical field-of-play board with it’s arrows, circles and crosses) and was more akin to the Football Manager than my initial sources. It goes against my original desire to make a pure backyard kickaround game, but I feel that this is something I can revisit after pursuing a genuninely interesting idea – making a football puzzle-game. Thinking I could take this challenge on I went about cannibalising my concept.

From this perspective the game needed to have a overarching turn manager and a way of communicating tactical decisions made by the player of the game to that manager. I remembered this exceptionally useful Notification Center C# script from Alan Thorn’s resource list (http://wiki.unity3d.com/index.php?title=CSharpNotificationCenter) that allows for ONESHOT messages to be sent to any other scripts. Its use is beyond the above

For example; I want to tell a player in possession to shoot i.e. call the Shoot()  function, but only when I have clicked an ACTOUTINSTRUCTIONS button. This would be simple to do with a OnMouseDown() function. But now let’s say that the ACTOUTINSTRUCTIONS has to trigger all of the other additional moves that other players will make. OnMouseDown() now needs to communicate with many players and their functions. Using bools and a forever-listening Update() is a painful waste of time, but the NotificationCenter() script allows us to add a simple line of code to send a global message to any designated listeners.

    
    public void Pass()
    {
        pState = PossState.NoPoss;

        Hashtable playDir = new Hashtable();                 
        playDir[0] = FindPlayerDirection();                          
        NotificationCenter.DefaultCenter.PostNotification(this, "ApplyForceToBall", playDir);

    }

“ApplyForceToBall” is the name of a function in the listening script which will be called when it receives a posted notification. The code lower down the page shows the AddObserver function being called in the Start() method. And that’s all that’s needed to accept a message! Such an elegant solution to calling oneshot functions!

What’s more, the above line of code in red shows that you can (but don’t necessarily have to) send a Hashtable containing any data you want with the message, and any listeners will be able to access an instance of that data! For example a snapshot of the player’s direction, or perhaps their stamina, that is passed through to ApplyForceToBall().

Interestingly I found that Unity was kicking up a lot of errors about sending this data… and it turned out that a function called by the notification, such as ApplyForceToBall(),  can only accept an argument of type Notification. For some reason I couldn’t access this type, even though it was public in the NotificationCenter script! This cause you issues too? Well my solution was to reference NotificationCenter.Notification as the argument type. This worked, woop! Then converting the Notification format into a useable form requires you to access the Hashtable type using DictionaryEntry.

void Start () 
    {
        NotificationCenter.DefaultCenter.AddObserver(this, "ApplyForceToBall");
    }
    
void ApplyForceToBall(NotificationCenter.Notification vector)
    {
        Vector3 dir = Vector3.zero;
        foreach (DictionaryEntry entry in vector.data)
        {
            dir = (Vector3)entry.Value;
        }
        gameObject.rigidbody.AddForce(dir);
        print ("Ball receives a force of " + dir);
    }

Check out this link to learn more about DictionaryEntry and Hashtables. By the way if my Hashtable contained more than one keypair I’d make the dir variable an array.

Okay I’m going to stop with this post and come back for another check up later tonight! More to come from the design and aesthetics front, including a look at Editors, OnValidate() and Unity’s new UI system! 😀

~Peace

SOCCOBAN – GENERIC NFTS Games Jam [Part One]

NFTS

Getting my hands dirty with some bog-standard games design couldn’t have come at a better time! The NFTS Games Jam (first of it’s kind) marks the start of the festive Christmas period. Much of December whizzed past due to the Moments of Consequence project and it’s only now I can recover a spare thought for another Unity project!

The rules for the games jam appear nice and liberal : simply make a game over a 5 day period from 18th Dec 14′ – 4th Jan 15‘. Make it GENERIC, and make it so that you learn something you didn’t know before.

Well as soon as I heard this it was straight to the bargain bin of my games nostalgia to look for a game so generic it would be a war crime to try and make yet another version of it. Admittedly I could have ended up making a FPS (TimeSplitters, Goldeneye, and Halo call up some fond memories). Maybe I could have learned something from these great obelisks of the past. But I went with these classic memories of old instead…

Oh yes, the original EA FIFA game from 1994, who could forget the isometric joy of passing a ball that could be barely distinguished from the background. Great celebrations, and there’s stars around the players! Aw.

http://img.gamefaqs.net/box/4/3/4/40434_back.jpg

Then there was Ronaldo V Football, remarkable not only for it’s dogged dedication to making Ronaldo the centre of the universe, but also this too-catchy tune that is forever samba-ing in my head…

http://199.101.98.242/media/shots/51799-Actua_Soccer_2_(E)-3.jpg

And who wouldn’t be fooled by Actua Soccer’s attempt at realistic player-on-player animated sequences, such as these meatbags trying to square up to the man who his place on the front of the disc box, Alan Shearer!? His posture and high definition stare says it all really.

To clarify something…. I have always found football games outside of the realm of my interests because my brother was so addicted to the sport. His passion was my annoyance for a while as I was relegated to precarious goalkeeping in school matches during our youngest years. But the games had a truly strong design and flavour that it was hard not to get sucked into them. Picking up these games was fun and frantic, and always revolved around (not Ronaldo but) local multiplayer antics. The rich seam of fandom was a glossy coat to a me, and a game-changer for my obsessed little tyke of a sibling. For a time it would suit the two brothers to play and play and play, blood guts and grit in every last shot on goal.
Then suddenly, as if a lightening bolt had struck the very core of the sportsgames market, it came to be that micromanaging every last aspect of your team and the way it’s run became the new killer-feature. Football Manager and other tinker-games had been infiltrating the fun for years. Finally those aspects of tactical replacement and multidimensional resource management moved to the forefront of sports games; an acknowledgement of the extreme level of strategy and mastery at the heart of the sport maybe…
Well if I’ve learned anything about football fanatics from working in pubs and bars, it’s that they are hooked on conjecture and facts. What better arena to prove themselves and their mass accumulation of knowledge than that of a hyper-real simulation? So it came to be that the endless stream of FIFAs and Pro Evos come out every year to haunt the shelves of soccerfans everywhere for decades to come, each more perishable than the last. I lost my faith in the format fast.
So I want to return to the days of a less complicated sort of football game. The personal challenge comes not only from my out-of-date understanding of football (hopefully nothing much has changed in 9 years to affect the mechanics!) but also creating a fun experience with a physics system in Unity. Convinced this would be enough to spur me on, I accepted the self-made mission just hours ago. [EDIT: this has since changed!! Read new posts]
Operation SOCCOBAN is underway!
Not sure quite yet how it will be tackled, most likely I’ll try to build a rapid prototype to get the basic actions (passing, dribbling, tackling, shooting, saving etc) up and running.
I’ll be posting up code, GIF videos and snapshots showing my progress asap. Wish me look sportsfans! 😀

Life Drawing Classes with Varvara

NFTS

Here are my unashamed explorations into how to draw naked people, prompted by my return to life drawing classes.

I’m really excited to be able to start drawing again, as our last outings with Pam were sadly cut short after the NFTS couldn’t find vacant rooms for a model in the nip to hang out in. To the staff’s credit I’m really pleased that they could find an external course for me to take (and help with the costs for!).Man it did take a lot of pestering though, another bit of concrete evidence that bloody fisted persistence is the only way forward sometimes!

The illustrious Varvara Neiman of St. Petersburg fires up our winter classes in the local community centre. So far I’ve been tortured by my lack in skill with an eraser, painted in the long shadow of Rembrandt, and discovered a fondness for charcoal shading.

Next term I expect the games course wil have more opportunities for life drawing, until then here are a few of my first attempts this November.

2014-11-17 21.42.40

Peter and Chair

2014-11-17 21.41.54

Peter 3 Poses

2014-11-17 21.41.59

Peter 3 poses

2014-11-17 21.42.05

Peter Eraser

2014-11-17 21.42.14

Peter Charcoal

2014-11-17 21.42.24

Peter Eraser

2014-11-17 21.42.32

Peter Charcoal

2014-11-24 21.36.57

Lady 3 Pose

2014-11-24 21.35.53

Lady Pencil

2014-11-24 21.36.00

Lady Charcoal

2014-11-24 21.36.14

Lady Blue Paint

2014-11-24 21.36.19

Lady 2 Minute Pencil Sketches