Money, money, money…

I found this image right aboot here

Funding and Monetisation

The balance here then is to make sure that you are aware of what you need and want from the funding and monetisation of the app you are developing. The first exercise then becomes thinking about what life should look like 1, 2 and 5 years from now and the kind of income that I would like to have. Then I would need to think about how much creative control I would like to have over the things that I develop and whether or not those two pictures are compatible. If they are not then should I change one or both of them and by how much. The compatibility of the two pictures is very important to me as I have come from a place in my life where I was not a happy person and not very financially successful because of various factors, most of which were outside my control at the time. Thats not the case now and I have much more control over my outcomes. Guess what? I’m doing much better… I would like to keep it that way.

I feel that being content in my work is much more important to me that earning a lot of money although there is a course a minimum standard that is needed in order to support myself, my wife and my family. I am not saying that I want the minimum, just that the promise of riches and so on is not a primary motivator for me. This should be an interesting area for reflection and I would hope to come out of this material with a more compete idea of the balance between what I need and what I want.

USP

The HK USP .45 Huh? Not that USP? Oh. Well, maybe you would like to talk to the business end of this USP? … Clack, clack …

This is something that I struggle with a little bit. I think that most things are re-hashed version of what has come before and thats not usually a bad thing. I wonder just how many successful applications and games really are unique? While I was in business I read a book called The E Myth, the myth that all small business owners are entrepreneurs. I was a very interesting book and its main aim was to inform the reader, no doubt a small business owner, that they need to think about the business more like a machine, a franchise, in order to be able to decide what areas of the business they should be focused on and what to actually do in those areas to see the improvements manifest. The reason that I talk about it here though, and if memory serves me, the author, Michael Gerber, goes to great length to explain that no, you don’t need a USP to be successful in what you do. He say’s you can take someone else’s USP and just execute it better. That is a challenge in itself and not to be understated but it doe’s throw a small (probably Snap On) spanner in works for the theory that you must have a USP in order to be successful. I’m not saying I’m right, I’m just saying that I have read a different opinion in the past. Maybe its my definition regarding the extent to which the app (or any product) needs to be unique. Is it enough for instance to say that our game is Halo, but darker and grittier with an adult story and an 18 certificate? Is that unique? Or is that Halo (been done) with a dark gritty edge (been done) would not be enough to declare a USP to investors and audiences alike? I’m not really sure.

What I learned from Rich Barham

This is one serious, heavyweight guy. I learned so much listening to him.

‘Everyone really cared’ – talking about his experience being on the team for World of Warcraft.

In my very short experience as game developer, I have learned this lesson well already. In trying to get Serial Link to be a real game that could actually launch and be more than ‘that time when we were working on that thing a while back’, I have found that the biggest challenge really is getting to work with self motivated people who really buy into what we are trying to do. I’m not going to pretend that Serial Link is the project that every developer should be breaking my door down to work on, but I have noticed the difference in people that float around a project doing a lot of talking and the people that really care about what they do. I am not shy about stating that I am one of the ones that really care and I find it difficult to have to kick people in the backside on a project like this, which should really be a labour of love at the moment. I think that this feeds back into the decisions that I need to make about how to set Serial Link up for future development, how I want to recruit and how and then of course, how to fund the development. Then there is the small question about what to do with it after that…

‘The player experience exemplifies everything that you are trying to put together’

I have become more sensitive to this recently, over the last few months. The practical thing that I have done that embodies this concern, or rather the understanding of this truth, is the inclusion of a ‘Validate’ column on my Kanban board. The done rule for this column ‘Player reactions and feedback has been gathered and analysed. All issues identified and inserted into the workflow as needed. Ideas have been captured for the backlog if there are any.’ This is my attempt to really put the player at the center of what we are doing. Rich goes on to make more excellent and common sense observations in that you can have the best strategy and the best monetisation plan but if people don’t want to come back the game that you have put out there, and they don’t recommend it to others, none of that really matters. Its about the game first as thats the fulcrum for everything else. Closely related to this also is that the ‘single vision’ of what the game should be needs to be preserved and share regularly so that all the development work really is following one unified path. I like the way that he puts is in that the game should have a ‘sharp edge’ that come through in the gameplay and when thats missing the game feels blurred. Thats a really good way to see it.

‘… so that you have all of the pillars of your design down …’

This is another attitude that resonated with me. I like to think of Serial Link in terms of ‘A story of ferocious tactical combat using weapons and psychic powers to decimate anything that stands in the way of your escape’. This tells me that the main pillars of the game are:

  • Story
  • Tactical Combat
  • Weapons and Equipment
  • Psychic Powers
  • Violence in look and feel
  • Being pursued

He also talks about talking about it! Its clear that Rich would not intend for these things to be committed to a design doc, put in a drawer and then never spoken of again. I could see the benefit of organising the tasks and user stories around these pillars and making sure that whatever asset is being created, the developer would be able to articulate which of those design pillars it was supporting.

‘The truth is, unless you have a business plan, you can’t persuade investors and other interested parties to come on board’

This is the less fun side of what it means to make games. I think that when I embarked on this passion project of being a developer, I really enjoyed the creative freedom that it involved, particularly while I was completing the course. It was that safe haven that I needed at the time to just relax and explore the technical and creative end of what I was doing. But, just outside the door, the real world never left and there would of course be a time when I would need to make some money at this. That time is not now, thankfully, but its coming by the end of the year. I have had a couple of ideas about what I wanted to do and the one that has been taken the furthest was that we (the people who worked on it originally and some others I recruited since then) would make a playable demo for Serial Link and then run a Kick Starter. We would use the money that we raised to fund the development of the full game and then enjoy to process of making the game! I think that this is another example of biting off more that I can chew and after a series of events and delays, that just has not happened. However, all is not lost and I think that Serial Link still has the potential to be made although I think that pursuing a publishing deal would likely be the way to go. At worst its a great portfolio piece and I have to say that it has opened a couple of doors to conversations that I would not have been able to have otherwise so I really am very pleased with where we are overall. I am also quick to forget sometimes that I have been an aspiring developer since 24th July 2017 to now. On that day, I decided that I would get into the games industry. I had not coded for nearly 20 years and I knew nothing about Unreal or Unity or anything else. I don’t think I’ve done half bad really in that light.

As far as actually creating a business plan goes, I think that the smartest thing that I could do would be to add a member to Sofa Ninja Studios and share the company with them. That person would be the business development manager, or what ever they wanted to be called. The role would be to deal with all these things that I think I want to leave behind. I want to make games, I dont really want to run a company that makes games but I do want to own one. So, I want to creative freedom and I want a Directorship but I would like to delegate the business side of the business to someone under whom that would like a fire. I like this reflection stuff, helps me think…

Lack of SMART goal

I really hope that this is seen in the light that I intend. I dont want to set a smart goal for the content this week because I have others that have not even been started yet. I am very conscious of the dangers of talking the talk and I won’t fall into that trap. I just cant afford the time to consider this material in any more depth than the 3 hours it has taken to go through it and reflect on it in this much detail. I would rather be honest now and say that I must concentrate on the other areas of weakness that I have identified, in particular the SMART objectives from the jam and that of the last post on GTD and gamification. It does feed into one of the things that Rich Barham said about making sure that the product is good at its core and that what I am trying to do. I am spending the time to fix the things that I already know need improvement in order that I become a competent developer. Having a good business plan for my shoddy work is to miss one of the key points from that brilliant interview.

‘I get Gamified, its all the same you say live with it but I don’t get it!’ Disturbed. Gamified. It might be Stupified. Definitely Disturbed though…

This is, I hope, the last week in which I am playing catch up and no, thats not some really cool way to gamify not being on point. I am glad that I did this catch up though as the most interesting part for me is the gamification of boring stuff or important but otherwise dry stuff.

Types of apps

I got this guy from here

Having just watched the introductory video on this section, the material is aiming to allow me to get a better understanding of the qualities that an app should have in order to be successful in a saturated market. I think that this will be good for me as I tend to work on things that interest me and not because I have studiously revealed a gap in the market or something grown up like that. I have not looked far outside the gaming space at all and, if I’m honest, I haven’t completed anything you would called ‘research’ in that area either. Is that the product of not knowing the scope of the app development/retailing world? Probably a little. But, I would say that its more a matter of the fact that I really want to make games and have that feeling of seeing people play the things I have made or worked on. Still, I am open to change, I just dont think it will be as interesting for me. I suppose the course is the very activity that will be encouraging me to broaden that view. I need to learn how to conduct market research and I suspect that there is a tasks on its way to give me just that chance…

I could spend some time in the online market places like the App Store and Google Play but I suspect that I would be left square eyed and looking to pull the plug (I don’t mean… That’s a bit over the top! I just meant, stop doing it!). I think that I will wait for a heartbeat and see if there is a task lurking in the course content, ready to jump out and and scare the bejesus (take that Grammerly) out of me.

Image kidnapped from here

Market Research

“There are literally millions of apps available…” Yeah, this is a little more crowded that I realised. So, what are the elements that the successful apps share and what ‘dooms an app to fail’. That seems like a good starting point. Getting a little more specific:

  • Who is the market?
  • How is the market segmented?
  • Which market segments are most relevant to your app?
  • what are the demographic and technographic characteristics of users in these segments?
  • How are the needs of these segments currently being met?

Following trends is important as the market and its demands move and change very quickly. From reading I did on the BA, I remember a couple of points in this area that are worth, er, remembering. The first was not to follow the trends. More specifically, it was that its common to miss the trend and be late to the party. This comes down to how close your finger really is to the pulse of change (ugh, ‘pulse of change’, what am I typing…). If you find out that some type of app is super popular and you decide to develop something in that area, its entirely possible that by the time you manage to release it, not only are you competing with the original, the good ‘me too’s’ and the bad ‘me too’s’, you may have just missed the demand. The other issue I remember reading about and really soaking in was that of identity. I don’t mean the (trigger warning) snowflake debate, I mean that if you, the developer, is constantly trying to turn your half developed app into something that can follow the trends, your will likely find yourself with a mishmash of features that just dont really add up into a consistent and purposeful experience for the user. I do think that there can be something as being ‘too aware’ of what the trends are and having that knowledge driving everything you develop could lead to a very depersonalised and generic product. And besides, who is to say that the trend is good anyway? Is it just some flash in the pan like fidget spinners, or is it ‘disruptive’ like Instagram? Its a tricky one.

What am I going to do about it?

Well, like I said, I think that there is a task waiting in the shadows for me so I will hold off on creating my own just yet.

Getting a handle on things

Al recommends the sensible approach I talked about above, just go to the retail sites and look at how things are doing. He talks about finding out how the apps are segmented, which I thought was a pretty good idea too. Also, the advice on finding the poor examples of apps and learning what not to do is good advice I already know from having some poor roles models in my life. ‘Not going to do it that way’ is almost as valuable as ‘Ah, that’s the way’. I suppose at that point I would be looking for common themes in both types of apps, generating a ‘must have’ and ‘must not have’ list. Al goes on to talk about not forgetting the user! Its a real danger that I think I have experienced when developing Serial Link. I have had a couple of moments where I come to realise that I developing some feature (or over developing it) that has just got my interest. I realise in that moment that I have forgotten that I am not the one that I hope will be paying money to play the thing. This is one of the reasons that I went to Kanban, a tool that I hoped would help me to stay more focused, which I’m pleased to say that it has.

Image liberated from here

Google Trends looks very useful, I didn’t know that was a service I could use. I will have a look at this soon, just to have a play and familiarise myself with it. Although I could see how this could turn into a procrastinators paradise… Another service mentioned was App Trace and looks very interesting too. This one would be very useful as it combines all the apps sale data from all the major stores and presents it all in one place. The Pew Research Center can be used to identify other qualities relating to app trends (among other things) such as what technologies are being more predominantly used by certain markets and what the attitude is to them. I had not heard this word ‘technographic’ before, but this resource is where I am to find information relating to that topic so that I could take an educated guess at where the app should be targeted and as Al says, how to monetise it.

Competitor Testing

Competitor testing is where a lot of this research is going to end up. I suppose its a personal thing as to how a developer responds to the presence of an app that would be a competitor. He can thing ‘Dammit, I’m not the first’ and go off looking for something truly original. Or, and much more usefully, ‘Ah, this is the sort of thing I was going to do and these guys have done my prototype for me…’. This would be a much more positive outlook and allow the developer to really use the work that has gone before. Theres a saying ‘Get off my shoulder, you too big’. Or is it ‘Giants have massive shoulders’. Something about giants and shoulders.

What segment would my apps fall into? This is where the rest of the content is going to lead me. I am enjoying this weeks content as its not something that I would usually look at but I think that because of that, I could really benefit from it.

I think that, hmm, I got this from, hmm, here.

Being honest about the quality of your ideas. I think that this is a strength of mine, although if I were suffering from this problem, I would say that… I think that my time working for myself and running my business for ten years has taught me that there can be a huge difference in how you think your customers should respond to something and then the reality of how they do. I think that having those experiences has made me more likely to ask hard questions but also, and I think that this is more important, seek out the thoughts of people who do not care about my feelings. Thats the important part. Throughout Serial Links development I have put it in front of people who dont know me or the team and frankly don’t give a rodents behind that its been a lot of work (like we are the only people in the world who work hard). They told us things that we did not think about, they criticised things we thought worked really well and the loved things we thought were broken. It’s an attitude more than a set of tools and procedures and I really do try to be as demanding as I can as a developer, knowing that the user will spot things that are wrong very quickly and will just move onto something else thats not broken, or at least less broken. The other side to this process of having the software tested in this way is a free brainstorming session, if you are humble enough to listen to what they say. Some of the ideas that people have had for Serial Link have hit the Kanban backlog and I hope will become full on features in the future. Its worth remembering too that this activity fits in with the Agile methodology (not that they would call it that as its too close to a system, which is not Agile… Ba-zing!) of being in touch with all the stakeholders as regularly as possible. There is no stakeholder more important than the end user.

Serious Games

Nabbed this from here

The closest thing that I have done in this area is the Army Game or the Virtual Military Sim, which was the Commercial Game Development project from the last term of the BA Top Up course I completed. It had a serious theme and focused on three areas of Army activity. This first was a virtual interview with a recruiter. The player ‘sat’ in room with the soldier and used a touch controller to aim at a white board, answering multiple choice questions being spoken by out voice actor at the time. The second stage was almost a full strip and rebuild of the standard Army weapon, the SA80, again using the touch controllers. And finally, the player had to command 3 team members and use them to triage the casualties caused by a natural disaster. I learned so much from completing this project and would love to have the chance to work on it further. Although there was talk at the time that might happen, unfortunately nothing has of yet.

I had no idea that the app store took a hard line of some serious games but I suppose I can understand why. There is an amount of curation that a user expects and part of that is going to be not allowing offensive, uncomfortable, immoral content although talking about how those criteria are set and met is a more interesting discussion.

Gamification

This is from Habitica

Habitica. Its so strange and sort of reassuring that I have used a lot of the material that is coming up in this course! This is another one that I used a couple of years ago when I was trying to find new software the supported the GTD methodology that I had fallen in love with. I still use the methodology but not a thoroughly as I did in the past, although I think that I should change that an engage with it again. I feel so strongly about that in fact that I think I see a SMART goal coming up… Anyway, getting back onto Habitica. I really enjoyed playing around with it and I would be tempted to go back to it and see if the problems I had have been sorted out. First though, what I liked about the app. I really liked the idea that my to do’s, things that I had to get done anyway could translate into something gamey and usable in the virtual world. Because of this, I really enjoyed levelling up the character and buying all the weapons and so on. I think that they idea of eggs and pets that can be transformed into mount was also a really good hook to keep you playing.

I think that the people who are naturally drawn to this sort of thing have a underlying need for completion in the first place, so having lots of things to collect and transform is a great mechanism to satiate that. I could not get anyone else I knew to join in and so I never got to do that quest thing or any of the other content that required other people. I didn’t really mind as I must be honest, I like my own company for the most part and am quite at home with either single player games or coop play but only with people that I already know well and usually from the real world. The downside to using the app was that at the time I lived on my phone way more than I do now and the iPhone app that was around at the time had some pretty serious syncing issues. The items that I was organising and tracking with the app were mostly business related and the thought that something would slip through the crack between my phone and their server was just too much for my brain to bear so I stopped using it. It did put the idea of gamification in my mind though, but thats for another post if I ever feel like sharing that idea (it was pretty good though).

eHealth and mHealth

I know that there is value in this sort of thing, but I have to be honest and say that I find this area pretty dull. I am drawn to games, games with mature content and themes at that. I don’t think that working on something in this area would satisfy that part of me that gets a kick from finally getting that head explosion attack working properly, or the satisfaction of having a soldier character shout ‘man down!’ at just the right moment. How much sugar is their in your diet? If you care, then probably too much. I know I’m being a little flippant but, well, yes, I am. Back to the games!

Casual Creator

Just google the image. Get it. Ok, its here.

Having watched this part of the presentation, my mind is drawn to the time I bought the Oculus and the touch controllers. I was so blown away with VR when I studied it on the BA that after talking with my wife, we agreed to get one. The reason I talk about this here is that my Wife is not a gamer as understand the breed. She is not interested in story, suspension of disbelief, violence and so on. But, she must have played around with that Google Blocks thing for at least an hour. I think that these kinds of experiences are good in that they broaden what is accepted as a game. That can only be a good thing for us players and even better for us as developers. More players means more investment and money and more of that means more development work. Win, win. But, I think that my true motivation is more sinister… Mwahahahaha… I think of these things like gateway drugs to, dare I say, ‘real games’! I think of Google Blocks like the weed to the Skyrim heroin. Now there’s sentence I’m really proud of 😉

Quantified Self

I’ve got sensors for me sensors! Image here.

I hate that I love this stuff. I dont know why. Maybe its just that I am part of that generation that saw this stuff come in and have our parents (fathers in particular) saying ‘In my day, you just went to sleep. Now they wanna poke and prod you and tell you how your getting it wrong… ‘. But, I dont really see it like that if I’m honest. I think that knowing more about how your particular body works and responds to things like sleep, food, stress and so on can be very valuable. I do think though that you need to be interested in the long term actions that you can take on that data and its not really good enough to monitor your sleep for instance, see that its not very good and do nothing about it. But, I suppose that seeing the data might be the first step in even knowing that there is a problem somewhere and if the solution is slow coming, at least its on its way. I am a little ‘I want it to happen now’ with a lot of things in life although I feel that I am controlling this better with age.

Using MyFitnessPal: One thing that I am already doing is monitoring my calories and trying to make sure that I ear 3000 a day as I am trying to put on a little weight. I like HST style weight training but as someone who is not naturally big and strong, I struggle with the eating needed to get big and strong! The ironing (take that Grammerly). So, I use the app to set the calorie and macro-nutrient goals for the day and I must admit that its making the whole thing much easier. I have also learned a ton about whats actually in some of the foods that we eat. I can see a day coming where we just have a chip under the skin that collects data and I have to be honest, I love the thought of that. Sign me up!

Love it. And loved it here too.

SMART goal for getting back into GTD, just because I really need it.

S

I will establish a GTD routine including a daily review, weekly review and will define the various Horizons talked about in the book, Getting Things Done. I will use Workflowy which is an excellent bullet-ed list style web application. I will use the @person #trigger and #day to be able to access the right information from any direction.

M

I will know that this is complete when I have all of the could do, should do and want to do items recorded in the system and with a defined ‘next action’ should that be required and am regularly conducting a weekly review of that collected material.

A

This is an appropriate goal as my life is growing in complexity once again and having a healthy grip on all the things for which I am accountable is the cornerstone of productivity in my opinion.

R

It is a realistic goal as GTD is used to solve exactly this kind of problem and is well documented as a thorough self management standard. It is also realistic as I have used it with success in the past and am familiar with the routines and the reasons behind why they must be completed.

T

I expect that this will take about 4 weeks of reminders and habit building to become second nature again. Its worth noting that I am not starting from nothing and have been running a lightweight version of GTD for the last few months, but I know that the strength of the approach is found in the relentless application of the routines that capture tasks and projects and trigger their next action, each at the right moment.

SMART goal for for learning more about Gamification

S

I will conduct research using the internet and find what I think are the most interesting and/or successful ways in which activities have been ‘Gamified’

M

I will know that this is complete when I have found no less than ten examples

A

This is appropriate because I am very interested in gamifying anything that I develop. I am drawn to making games and if I have to do something more grounded then I would like to understand a selection of ways to make the application more game like.

R

This is realistic because I am already making games and have the basic understanding as to what constitutes a game. Its also realistic as there is no small amount of talk about how gamification in already impacting how a diverse range of applications are using gamification techniques to improve engagement and customer retention.

T

I will have this activity complete in two weeks and will present what I find here on the blog.

Week Fours things to hammer the keyboard about.

Critical reflection and Journaling

I like this next video. You need to recognise where your problems are and then develop concrete plans. This is the purpose of the journal. This is important because we all come from different sets of experience and although the skill of reflection is able to be learned, what you reflect upon will be highly personal. He goes onto talk about a phrase I learned a few years ago from a book called Bounce. Deliberate practice. I understand that to be creating tasks, drills and so on that focus mostly or entirely on the weak areas of your skill or knowledge so as to improve yourself. I have always found that the improvements are found in the areas that hurt. Those areas of your activity that make you say to yourself, ‘I just dont get this’ or ‘wow, this is really hard’ I remember learning to double tap on to guitar (many years ago now though 😉 ) something that I thought I would never, ever be able to do. I think that I am lucky to have that mindset naturally but I am well aware that there is always room for improvement. What Dr. Scott says about the middle ground between perfectionism and be ‘good enough’ reminds me of another book that I read a long time ago and respect greatly.

I put great effort into this link, which is more important than just knowing the link.

Mindset by Carol Dweck (and no, I didn’t know that this book was in the material this week) is an incredible account of the research that she and others carried out regarding the results that people can get in terms of personal growth and progress, when they adopt a ‘effort is the key’ type of mentality over a ‘this is how smart I am and if its not enough, I quit’ style of thinking. Because of that book, I never praise Sophie, my daughter, for being clever, although she is. We always praise the effort, the trying, the problem solving and point out at every opportunity how those things have lead her to where she is, even if thats just eating over her plate, or remembering to put her cloths away.

Image here

Reflection can be a painful process for people who have not seen all the links in the chain yet. I mean that until you have identified something that you do poorly or dont do at all, found better alternatives, practised them to the point of proficiency and fully incorporated them into your practice, it can feel like a deeply negative experience. I think that a mentor is very useful in the early days as not only will they be able to help you identify that things that you need to change (raise the bar) they will be able to advise on how to get that done (how to reach the bar).

Identify what you are lacking in these areas and define a plan to solve them. No doubt then that a skill in planning would go down quite well too then? In this context, it is clear that its very important to know ‘where’ your heading and what set of skills you wish to end up mastering. That sounds kind of obvious but I have met people who have little idea what they want to do and have experienced this myself many times in my life.

In talking about the students that he has seen who lack the ability to move on from problem and their need to step back from the issue, I am reminded that this in itself is a learn-able skill, something that many people are not born with. Personally, (time for some reflection.. ) I tend to try to get closer to the problem I am facing and on rare occasions that seems to work for me. Think about locking yourself in a room and refusing to come out until that problem is solved and thats how I have dealt with many of my challenges. But, as I have gotten a little older I have realised that although I still have a tendency to do that now, I do it less. I am more willing to come away from the issue or talk it through while pacing about or even, if I really cant get something, talking to myself in the mirror. Everyone does it!

Challenge and how to make a plan to solve it

  • Why have you encountered it.
    • I think I tackle this part of the structure quite well and am usually able to say that I am encountering some problem because of something I am trying to achieve and link the two together well enough. “I am having a problem with the AI because I need it to go over there when this event happens, but I have not done that before so I need to learn how that works”.
  • How has it arisen
    • This is an area that I think I could detail a little more clearly when I am reflecting on my own experience. I tend to just jump right in with what I am struggling with and not really how that came to be. I suppose that I think about the context in which this journal is being created and think that the origin of the problem is self evident. I think I might be wrong about that and in any case, it would only add to the integrity of the discussion, even if it is just with myself at the moment!
  • What you may be able to do to overcome it
    • This is much more the area that I and I think others are comfortable in. This is what I’m going to do about it. So I think that the value in this part of the course material for me is to perhaps consider in more detail ‘why’ I have come across the problem of challenge and then ‘How’ that happened. There, I think, I will find things that may inform me as to mistakes that I could be making right now.

Meaningful, Purposeful Practice

I nabbed this image from here

Meaningful and purposeful practice. This ties in a little with what I was saying above about the book, Bounce. Its the account of how a table tennis player became the best in the country from what I can remember (its been a few years since I have read it) but one of the most interesting parts of the book talked about the fact that the majority of the top tier players England at the time all came from within a few streets of each other. His point was that how the couch worked and what they focused on, plus the 24 hour a day access to the practice room, showed that the practice routine and its personalisation was much more important than the native skill that any single player had. I do think that talent matters, but I think that talent without practice and discipline is soon overshadowed by the people in the room that work every hour they can with a humble attitude. Of course, champions are usually the combination of the two I think.

The conversation about the right level of challenge reminds me of the boredom/anxiety chart that is used to illustrate the best place for gameplay to sit, although as I type that, Im sure it existed before that and more likely associated with what Dr. Scott is talking about here.

The boredom vs anxiety flowchart. I found this one here

Planning

Its interesting to hear Dr. Scott talk about the ‘reflective practitioner’ that does not really write anything down but is constantly ‘thinking’ about how they need to improve. Guilty. I do this and its surprising really as I know that I got a lot of value from all of the journals that I had to write for the BA Top Up course that I did. I wasn’t shy about it either and I think that my journals were around 80 to 100 thousand words each. My apologies to Steve Howard and anyone else that had to read them! But, I was on the back foot when I first began and everything was new to me. I had to reflect constantly just to have a good guess as to where I needed to be next. I think that in other work, away from academic study and marking, I just don’t do it. I think thats a mistake. I could keep something just for myself that is not as wordy and readable and more like the notes that I took for the Game Jam just gone.

Planning, without the exercise of journaling could I think be slightly off target. Although having watched most of this presentation now I am comfortable that I do have a system in place to define and help my track the hours paid to certain endeavour’s in the form of my trusty Nerd Chart. I think I either have already or will post a blog entry about the Nerd Chart and how I think about that stuff. I do wonder though if I would benefit from defining a goal too, and not just tracking the hours done. I run a Kanban board for Serial Link so that is tracked, I watch and complete the tasks for the MA so that is tracked, I am completing a structured Udemy course in order to learn C++… Actually on reflection 😉 I think Im doing quite well in this area!

Catching up with Week Three

Fail fast, fail early and fail often. And don’t steal images, so here’s the link

Prototyping Methods

I didn’t think that I knew much about the ideation process and how to get those ideas to prototype, but as I sit an review this presentation and think about it, I might be being a little hard on myself. That said, I would very much like to spend some time learning some other techniques but I will share what I do at the moment.

Why would I want to play it?

I start with this as I know that to go a really good job at something like this, I really do need to love what I am doing. That’s not to say that I don’t through myself into thing’s I don’t like if I have to but let’s look at the best case. Whats the reason I want to play it? I want to know this as I think that a lot of other design decisions come from the answer.

How should the player feel?

Should they feel in control, out of control, safe, threatened, excited, intrigued, and so on. In my short experience, the fewer things I am trying to implement, they better my chances that I could deliver.

What the main problem they are solving?

For instance, in Serial Link: Get out of the building, killing everything you have to. In the Hostage Rescue prototype: Get the hostages out, dont get killed. Keeping this in mind helps me to know if whatever feature or improvement I am considering is adding to that core issue or not. This conversation with myself or the other team members would be the one that should lead to the core mechanics and define the ‘what’ and ‘how’ of our player solving the problems.

What does the world look like in style or level of graphic content?

What should the thing actually look like on screen to match the other things that I have already decided on. I don’t have a lot of experience with art and artist’s in this area, as my level of skill has dictated that I spend more time looking at the core mechanics of the games I have worked on, but I think that might be changing now. I do try to draw some parallel to something I already know about though like, ‘it should look like Alien’ or ‘it should sound like Bullet Time from the Matrix’ that sort of thing. Its not a design although it does communicate what I mean at this early stage.

How close is it to the ‘real world’ or at least the feeling that its grounded?

I like grounded games. I like to see fantastical things but get the sense that, yes, that could sort of happen. Splinter Cell is a good example of that sort of thing. Although I am aware of rare occasions where one man has caused much enemy devastation, its not the norm. Sam Fisher makes it look like another day at the office, but the way that its presented for the most part, makes it quite believable. As far actually doing this? Its more by feel and gut I think but if I had to narrow it down I would say that its physics. I dont just mean thing realistically bouncing around in the level, but things like animations that look heavy enough, occluded sound, light doing what your brain thinks it should do, that sort of thing.

Using ‘User Stories’

I didn’t know that these had a real name, but it turn’s out that I use ‘User Stories’ to do most of the design work. I imagine playing the game and say something like ‘the player jumps over the wall while firing the small machine pistol at the mech in front. Black liquid spills from the multiple piercings that the rounds cause, forming globulous splatter patterns on the surfaces it hits. The player lands, quickly taking aim with the defensive measure he had in the other hand and throws it to the floor while shooting at the other threat in the room…’ There is lots of information there that would inform lots of different aspects of the design and would probably be enough to make a start on a prototype!

Bits and pieces

However, the above is quite high level and once you really start digging in, you can find that there are details missing that you really do need to know. This is where I might use a mind map and word association exercises. I really like a good thesaurus and I find it very useful to see key words or phrases expressed differently as they can send your thoughts of into places where there are more answers and ideas. Scope becomes the enemy here though as I often find that I am coming up with for too much stuff!

Other ways I could do it…

Theme, World and Story. This is not a way that I have explored design before as I think that I am much more naturally drawn to mechanics, so the user story suits me much better. This could satisfy an itch I have had for a long time though. I would like to write a little. I don’t know if I would be any good at it but as with most things, the more you do it the better you get. Now that I think about it, this really might be an opportunity to exercise that desire and see where it goes. I do have to be careful though as I am in danger already of creating a to do list that I know I can’t complete! I wonder though…

Slow boil approach. This made me smile because for me this is the ‘you don’t have time now because you have agreed to these other bazillion things you have to do, so when you sitting on the loo, you can thing about this one…’ Now I can rest knowing that there is a proper name for my lack of execution opportunity! Although there is that part about the research… I like my version.

Creating something based on an existing Intellectual Property. I have never done this so my opinion is just that about a relevant as a guy who is considering these things and reflecting on them… Wait a minute…

IP and trying not to get sued

The best ‘pro’ I can see is a ready audience and a very well defined set of expectations. Having tried already to make a game (and continuing to) I think that one of the biggest challenges is the ‘what is it’ one. With Batman for instance, we know what that is, we can relate to what a game about Batman should be like way before we see a single frame of the finished piece. This is reassuring to the money people too as they can measure customer interest in such a venture much more easily.

The worst ‘con’ is almost exactly what I wrote above. The customer has a notion of what your thing should do, how it should do it, what it should feel like and so on. As far as the developer goes, its not really ‘your thing’ at all. I suspect that when developers are working on title that are backed by an existing IP, the scope in which they can be creative is reduced so much that to some I can imagine that its quite a limiting and choking experience. But if you want to turn a con into a pro (and I like doing that) then if this kind of project is in the hands of developers who already are one of those customers, one of those fans, then they should know just what to do with it. Assuming that they are competent developers that is. Like me. Ha! Well, Im trying to be…

Its ok John, I didn’t just take the image, the link is here

I do have an IP based project in mind that I would love to work on. John Wick. I would love to (and probably will) tackle the puzzle of just how to make the player feel like John Wick. I would like to isolate sequences from the movie and come up control systems and mechanics that would allow the player to recreate them in game. It would be a huge project really but I think that it could be broken down into something that could be started… I have a couple of ideas already about how I might do about implementing this but that’s for me and little brain right now. Further to this, I have just come across the part of the presentation that talks about using a ‘Requirements animations’ or ‘Ripomatics’ where you take footage from movies, game, television or music to outline what the game should do or how it should feel while the player is using it. The movies are the obvious place to draw this from, its just nice to know that there is a term floating around to covers it.

Increasing the number of iterative cycles

This is a very important lesson I think. Making sure that all the areas of a game (as thats what Im here to make) need to be equally developed as much as possible. By that I mean that if the game has buying, selling, swapping and item storage as core gameplay mechanics then I really like to make sure that there is one single active goal in each one of those areas. In an ideal world, or development session, I try to complete the task in ‘buying’ and then move onto completing the task in ‘selling’ and so on. Sounds simple but how many developers struggle with ‘feature creep’ and in particular feature creep within some narrow scope? It used to happen to me all the time. The first time I tried to solve it was to list all the major areas of the project including the traditional ones like animation and audio and so on. Then I listed all the areas that were specific to the game I was making. So, in Serial Link they were something like

  • Shooting
  • Psi Powers
  • Soldier AI
  • Squad AI
  • And so on…

Then I had just one thing that I would want to get completed in that area to move the game on. Once all of the tasks had been completed I would move onto a second cycle. Any other ideas, and lets face it there are always ton’s of them, were recorded in a kind of Idea Dump. Then that could be used to populate the next cycles tasks in the various areas. However, there was the problem that you (the developer) could still choose what you wanted to work on in any given session as there were many, many active tasks. That lead me to Kanban.

Calm down boys… Image from here.

Kanban is the most complete development tool I have found that fully supports the idea of iterative development although I don’t think that it looks like that from the outside. I think one of the biggest challenges that I have faced and still do really, is making sure that I deliver complete features at a time. There is a version of Kanban that was presented here and its just a little different from the Kanban information that I had come across before in that there were three things that he did a little differently. The first is the Work In Progress (WIP) limits that stop work being pulled from the right of the board relentlessly, killing the boards ability to provide focus. The next is the inclusion of a ‘finished’ sub-column within each of the main column’s. This is a great addition as you more clearly see where the hold ups in the project are happening. And the last one is very clearly defined ‘Done Rules’. This is the part that makes sure that work does not slip through that is not to the right standard. Having the done rules stated clearly leaves no ambiguity when the team member is deciding whether a work item is done or not. Having a ‘build’ column with a small WIP is the key to making sure that the project is being developed in iterative cycles. That combined with making sure that tasks are being selected from across all the areas of development like I talked about earlier makes sure that the whole thing is growing and not just certain (using the developers favourite) parts. So that takes care of the ‘prototyping’. Having another column called ‘User Test’ with a small WIP (like one or two) will only allow a small number of builds to happen before the project must be tested by some defined audience. That audience would depend on what the project is and how far through it the developers are.

There isn’t a scrum part to this thinking… I just really liked the image and thought it close enough.

I have no other plans at the moment on how I can improve my ability to develop in iterative cycles aside from the constant refinement of the ideas and tools that I am already using. If I sense that they are not sufficient for some reason, or I inadvertently come across information that makes me question my approach, then I will respond to that.

My Personal Case Study

The theme for the Game Jam (I know it was an App Jam, but not to me) was the three words Guide, Opponent and Restricted. It obvious right from the start that the only thing that this could mean was Hostage Rescue. There was nothing else this could mean. Because of that, all the Personal Case Studies will be variations on Hostage Rescue. Just wait and see…

I started with a Mind Maps and just fired off an email to check that since I was already working on a combat game with Serial Link that I would be able to do this, but the cool fellas at that there Games Academy said it was fine. So, I pretty much just got to it.

Goals

To make an AI that could

  • Have some sense of ‘team’
  • Stack up on a doorway
  • Enter a room
  • Know that the room was ‘clear’

Taking the time

I tracked my time using a combination of my now traditional Nerd Chart and the website Tick Spot, the project management tool I already use. Each time I sat down (or paced around) on the project, I logged the time on Tick and then at the end of the day I would fill in the Nerd Chart. I really like having a visual cue to see where my time is going. Its a really good way to allow yourself to get carried away with something but recognise that is what is going on. You can then, anxiety free (for the most part) says to yourself ‘OK, that thing I was gonna spend one hour a day on is now four days behind, but I’m ahead in other things. I will do the four hours today’. Genius.

Development

Development was very fast really and I was on a roll with it and enjoying seeing just how much I had learned.

Then, when the project reached a sufficient level of complexity, my lack of formal software design skills began to show. This happened because of two reasons. I dont know any and I get very excited and want to just get going. No, I dont think there is anything wrong with that. There might be. There is. Read on.

I could no longer track what went where and which entities were making which decisions and so on. I soldiered on anyway holding what I could in my head and writing little diagrams when I needed to be clearer about what I was trying to do but I began to sense (not in an Oda Mae Brown sort of way…) that I could be working faster and smarter and harder and more completely and with less coffee and with more clothes on and … what the… ?

Then I had an absolutely spiffy idea. I would make a base AI Controller class that would implement an ISee interface. Then I would link the event that is thrown from the AI Perception component (On Target Update, or something like that) to the interface events. Then I would not have to cast to find out what I seed. Well, thats how my daughter says it? Take that Grammerly.

From there, the AI Controllers that descend from the base class like ‘Operator’, ‘Hostage’, ‘Bad Guy’, ‘Creepy Dude’ could just implement the event in the child class and viola! Seeing things! The base class says SeeClearanceNode, Operators love it, Hostages dont care.

It was all working beautifully and I felt very clever and even had a little moment where I thought ‘You know what, I think I could do this for a living’.

But then… sob… something went wrong. Im not sure when it started, but something to do with the Hostage started to just not work properly. I know, poor guys, there are just there so that the Bad Guys can threaten them and their lives are constantly on the line and something in their mind (ai controller) just… broke.

I decided to restart to project as it was obviously Unreal’s problem and nothing to do with my intermediate standard of producing game logic and my severe lack of formal planning. Well, that was the last I ever saw of that project as once I had put it to bed, it refused to get up, like a stinky teenager. It just crashed on start up and said ‘I hate you, life’s so unfair, but you dont understand, I love him!’.

But, I thought, I’m not having this. I am a determined sort of fella so I would have a hunt around and see what I could do. I found out that a lot of the classes that I had created were suddenly orphaned, with no parent class. Looking at the log, the worst offender was the Hostage and as there was a hostage in the level that Unreal was trying to load the moment the editor got that far, it was all very crashy. Another one for you Grammerly. I did manage to use Windows Explorer to copy all the assets over into another project file and open that. Despite the warning that unholy fire would rain down on my meagre household upon opening one of these orphaned blueprints, I did it anyway ’cause I ain’t afraid of nothin’. I then painstakingly recreated the project over the course of about 3 hours only to have it crash that moment I tried to put a ‘Room’ in the level. I still dont know exactly why this happened, but I had learned enough at that point. This was clearly something that I had done and I decided to explore a few things. Before we get into that though, here’s what I did have although I cant show you anything more than was already shown in the YouTube video.

What i was left with

  • Sense of Team and Team Element
  • Dynamically sized Team Elements and Teams using an array
  • Insertion and Extraction zones
  • Rooms that contained a Door and set of Clearance Nodes
  • Team Element stacked on the door
  • Each Operator was allocated a clearance node based on how close the node was to the door
  • The Operators then moved towards the Clearance node allocated
  • If they saw another node that had not been cleared, it would be set cleared in the Room actor
  • Once the Operator saw the node that was allocated to him, he would be allocated another unless all the nodes were clear
  • If the Operator saw a Bad Guy, the Operator stopped, turned to face him and after a delay of 0.5 seconds ‘killed’ the Bad Guy.
  • Killing was just ragdoll the Bad Guy and enable collision on the skeletal mesh and add a little force to the head bone to make it look like he had been shot.
  • The Bad Guys had the same logic only the delay was 1.5 seconds to represent the aiming lead time.
  • If the Operator saw a Hostage, they would inform the Team Element actor.
  • If they were all clear, the Operator would move toward to door until he could see it
  • He would then stop and ask if all the other Operators were in the same state.
  • If they were then the Team game the Team Element its next Room in the array and the cycle began again.
  • Once there were no more Rooms, the Team Element would go to the Extraction zone. Once all the rooms were clear the Hostages would travel from their location to the Extraction Zone.

What one learned from the Humbling project

Oh my God, Version Control.

I have learned the very hard way that version control is cool for kids. I wont go over it all here as I covered some of this stuff in another post. Just know that I know that I know that I need it. No, I’m not trying to kill Grammerly.

UML and proper planning

This one did make me laugh. I promise, and I know I talk a lot of rubbish sometimes, but I promise that I said these words when the complexity of the project started to get away from me a little: ‘I need some sort of diagram language or something, that way I could think all this through and make better mechanical design decisions’. I swear I said that out load without knowing that UML was a thing. So, I have already taken a short course on Pluralsight and know some of the more basic symbols and what they are for. I do need practice with this and I have yet to use it

Design Patterns

I found this guy on the Internet (its this interconnected web of computers the youths are using) who has blown my tiny mind with just how to think like an architect regarding object orientated software design. I feel so much more ’empowered’ as Oprah would say and I have already bought this book – Design Patterns, Elements of Reusable Object Oriented Design. Its a bit dry, like toast, but its very enlightening to someone like me who is keen as mustard on toast but doesn’t have any mustard or toast. Oh, the guys channel is here…

Lets get smart

Goal One: Version Control

I will become skilled with and fully understand Git, LFS, Git Bash and Git Desktop to the point where I can perform all the the basic and intermediate functions the system has to offer. I will know this is complete when I cant find any menu item or Git command that I do not recognise and could not explain in simple terms. This is appropriate as I am already working on projects that are valuable and require multiple development sessions and developers. I will be able to demonstrate how these features work on a live or dummy project. I will start with a course on Pluralsight and re-assess the requirement’s from there. I will achieve this in 4 weeks.

Goal Two: UML

I will learn UML theory and practice that is proportional to the programming skill that I have already. After that I would learn UML so as to represent the more advanced programming theory I would be learning at the time. This is appropriate as I have identified that I wish to be a generalist but with an emphasis on programming so as to be able to make my own games. I will know that this is complete when I can fluently draw UML with as much complexity as I can think with and make minimal mistakes. I will also measure this by making sure that my programming plans and thoughts can be communicated with other programmers using only UML. I will do this by taking a course on UML for beginners on Pluralsight of something similar and would intend to complete this in 2 weeks.

Goal Three: Design Patterns

I will understand each pattern presented in the book ‘Design Patterns’. I will create sample projects to illustrate each of them in action in simple console applications using C++ or C#. This is appropriate because Unreal and Unity are both engines I wish to use and they both use an object oriented approach. Its realistic because I have enough skill with Unreal to quickly create a complex project, but I need help to organise my thoughts and intentions in advance of the execution. This will be a long term goal and I would expect this to be fully completed in 6 months.

Catching up on Week Twos bits and bobs.

I am writing this post retrospectively as we are now in week 6. I intend to do something similar for weeks 3, 4 and 5 too as I don’t feel that I really got the value to be had from a lot of the material. I know that I posted a couple of things from the first time I looked through the material and I will painstakingly repeat them in this post. Ok, I’m not going to do that…

I had some other things to do at the time and then the app jam kicked off and things have been quite busy from there. I don’t like to leave things too long or the danger of slipping behind is quite real. Although I know that it’s not a requirement to write about each and every piece of information that comes through from the course, I feel that it really is the best way to extract what I need from it. However, when I do come across things that I just don’t find relevant to my personal situation, I will skip them.

All this talk about languages, platforms, frameworks and so on is an interesting set of content for me, as I have been in a bit of a bubble since deciding that I want to be a game developer and really nothing else. I have read both sides of the ‘focused’ argument (no references for that, you’ll just have to take me at my word…) that runs like this. One, you should be super focused on only the thing that you want burning all bridges behind you, setting fire to the villages and indeed the villagers you pass through and accept nothing but the realisation of the dream that you defend at all cost. Two, be so open that you barely know where your own eyebrows are most of the time and suck up as much information and knowledge as you can knowing that to have a direction is nothing more than The Man (even if that’s you) telling you what to be. I may have exaggerated a touch, but I tend to fall into the first category only less village and villager burning.

This weeks content then is a good opportunity to look around in spaces that are not a million miles away from the mission that I have already stated. Let’s get on…

Coding in what now?

I feel that I understand the content in this section well and there was nothing in here that was a shocker. I remember watching this for the first time in week 2 itself and thinking ‘ok, well, I’m keeping up so far…’. There was one piece of advice in the video that I will be acting on and that is that I need to learn more than one language. I am grateful that I have started learning C++. Having found out that’s quite a heavyweight language, I am comfortable that learning anything else will be a little smoother as a result. The next video talks about specific languages and I think that leads me neatly into the choice for language number two. The route that I have identified, with some help from some of the guys at the Games Academy is to start working in C++ for Unreal and reduce the use of Blueprint to as little as possible while also learning Unity and C#. I feel that this is the best choice for me at the moment as both of these languages are industry standard for games but are transferable to other realms of software development. If the dream does not pan out, I can always get work as a ‘regular dev’. The Wife will be thrilled. To do this I intend to complete small C++ exercises, making console games, migrate some of the functionality from Serial Link’s blueprint’s to C++ and download Unity. I need to find some good tutorials for Unity and just follow a beginners course for now as I have never even seen its interface. I’m sure I will pick it up though.

Architectures

Although talking about architectures is interesting, I feel quite far away from the need to really learn and deeply understand the differences here. The reason is something that the good Doctor touched on in earlier material. There’s just so much ‘other stuff’, so many layers between me, the budding coder, and computers that I work on. I really don’t feel connected to the limitations or benefits of the architecture at all. I wonder if I would feel different should I have had more experience with different systems or perhaps systems in which the differences were more obvious. I have only used Windows for desktop computing and through the years noticed only the speed of operation as a variable and the fact that things just ‘work’ more now when they are connected. I suppose that once I had gained more experience in programming or do actually manage to start making a living as a game developer, I may become more interested in how the leverage hardware which would, of course, require that I more deeply understand it. But, until then, it’s still all about shouting at the screen because of pointers and memory allocation…

Processors

I have heard of Moore’s Law before and what is really interesting now is how that relates to the reality of atomic computing. I don’t know much at all about this and frankly to research it is to take time away from things I already do know I need, but having watched the Atomic Animation video and heard the developers there talking about where we are going with processing at the atomic level, there must be a limit. There just physically must be a limit!

Read about this tiny IBM CPU here

The rest of the information is constrained by the same issue I talked about above, in that while it’s interesting, I just feel far away from really needing to learn about it deeply at this point. The only time I really catch up with hardware standards is when I am building a new PC and that is not often at all.

They are everywhere!

I don’t think I really appreciated just how prolific computer hardware is in our modern day lives. I say modern, but I remember the Furby toy the first time around! When the presentation began and was talking about the desktop PC and the laptop and so on, I thought yes, I can see all this coming. But, when considering tablets, smartphones, wearable technology, embedded systems, VR and the multiple flavours of all of those things, I suddenly realised just how far we have come. I still think that VR and AR have yet to show their best hand and I think that once the technology is more portable it will change the way we learn, interact, and relax. I hope that’s a good thing… There was nothing here to take me off the path that I have already decided on, although it was interesting none the less.

We better operate…

A very good friend of mine says that you can’t consider yourself a coder until you can write a driver in C. While I’m not sure that he is entirely accurate in that belief, I know what he is really saying. I think he means that it’s one thing to understand that words go in string variables and it’s quite another to have enough knowledge about how computer hardware and its operating system works to be able to control one with the other. While I understand what an operating system is in enough detail to explain it to the Wife, I don’t know how to do much more with it than that. I think that’s an error on my part and upon some thought, something that I would like to sort out. I think that the next stop there then is Pluralsight to see about an operating systems course or material along that line. I never really considered that before watching this presentation but, there is so much that I don’t know.

Frameworks

Ah, I think that this is my foot in the door then. So, frameworks are the ‘highest level of abstraction’. Or (now that I have read that back) is that exactly the opposite to what I think I need to do? I think that maybe a mix of both looking at a framework and taking a short course on operating systems would give me a better connection to how these things work under the bonnet. Unity is already on the hit list of things I want to learn, so to find out during the video that it’s based on a framework called Mono puts that high on the list also. I have recorded these things that I have identified and will be looking to make them into SMART goals shortly.

Git

Coming back to this material, Git is very high on my list of things to understand, experiment with and utilise in my own practice. We have already completed the Game Jam task and my disappointing outcome in which I lost my Unreal project served to highlight my lack of version control habits. I feel now that I need to put on my big boy pants and get with the program. The version-controlled program. I have at this time, set up an account with Git, downloaded and installed the software, downloaded and set up LFS and also the GUI, Git Desktop. I am pretty confident that I have Serial Link under version control now on a private repository. I listened to Al and set up and ‘development’ branch for the work that I am doing and I have made a couple of commits to that branch. It seems straight forward enough and I think like most things, once I have used it a while I will relax into it. I think that the best thing I could do from here is set up the Hostage Rescue project again and try to rebuild it as a testing ground for version control. Intentionally breaking something and then rolling the project back would be a good exercise for me and I’m still kind of nervous about what to do should things go all wobbly while developing.