T2G Update : S1B Complete

Section 1 Part B of the Train2Game Game Developer course has been very exciting for me. It’s been through a lot of principles that I’ve used in my development, but instead of just teaching me what I know, It’s gone in to a lot more detail that has helped clarify things. Here is a quick overview of what the lessons taught and what I gained from them….

Lesson 4
I knew how to create functions and pass through variables to them, but I learnt more on the types of arguments used, passing by value and by reference and how powerful these different types can be. The other aspect of functions and loops is how to gain and release control using keywords such as break; and return;.
Another intersting thing was with default parameters and the order in which they need to be placed in the argunment list, making sure that and defaults are placed to the right and other parameters that have no defaults are first at the left.

For lesson 4 I obtained a score of 100%.

Lesson 5
I got a little confused in parts of this lesson and had to reread quite a few parts of it. And it turns out that I still didn’t have a full understanding of overloading and prototypes.
Overloading went in to having the same function names, but each function took different arguments, for example

void ResetPlayerLives(int playerLives)
int var1 = playerLives;

void ResetPlayerLives(float playerLives)
float var1 = playerLives;

And then the program works out which one to call based on what is sent through, eg.

ResetPlayerLives(2); // Will call the int version
ResetPlayerLives(2.0f); // Will call the float version

That’s it in the simplest form. You can then overload operators. This is where I got a little confused, but after receiving the comments back from the TMA, it made me revisit the information and understand it a lot better.

Looking at header files in C++ was useful. It advised how they are used and what the usual preference is for having them. Usually to put in prototypes and other global variables that will be used within the .cpp file. In theory all the code could go in a header file, but it’s not good practise.

And the last part of this lesson was on Recursion, the way of having a function call itself until a certain criteria is met. It’s still a bit puzzling, but I guess until I come to code something that uses recursion then I will not fully understand how easy or complex it is to use it in a solution.

For lesson 5 I obtained a score of 80%.

Questions and answers I got wrong:
Question 15: Overloaded functions must not use reference variables.
A True
B False

True (A) is the wrong answer. Reference variables do not factor. The key is that when overloading we now have two versions of the same function, each with the same name. The correct answer is False (B).

Question 16: If we prototyped a function like this, would it be legal?
void myfunc( int, float );
A Yes
B No

No (B) is incorrect. This is not illegal. The correct answer is Yes (A).

Question 17: Which of these function prototypes will overload the > operator successfully?
A void operator > ( highscore one, highscore two );
B bool operator > ( highscore, highscore );
C highscore operator > ( highscore, highscore );

void operator > ( highscore one, highscore two ); (A) is incorrect. No this is not the correct syntax. The correct answer is bool operator > ( highscore, highscore ); (B).

Question 18: Which of these function prototypes will overload the + operator successfully?
A void operator + ( highscore one, highscore two );
B bool operator + ( highscore, highscore );
C highscore operator + ( highscore, highscore );

void operator + ( highscore one, highscore two ); (A) is wrong. This example shows the incorrect syntax. The correct answer is highscore operator + ( highscore, highscore ); (C).

Lesson 6
This lesson was all about Classes. I understood classes previously from coding up the C# programs, but there were little things that I had either missed or didn’t understand that this lesson clarified for me.
How you can set parts of a class to be accessible by other parts of the program was also interesting. Setting sections to be private, protected or public, and how friends were setup and how they could override some of the accessible levels set.

For lesson 6 I obtained a score of 100%.

So far with the scores of all lessons I am averaging 92.9%. I’m really happy with this and still enjoying this course. Again, a lot of it has been theory and looking at code examples rather than getting stuck in and coding things up myself. But with the information I’ve picked up, it will certainly help with any coding I am doing outside of this course.

Awaiting my Section 1 Part C document to come through now.

T2G Update : S1A Complete

I have now completed Section 1 Part A Lessons 1, 2 and 3, with pass scores of 90% and 85% and 100%.

I’m now well versed in the understanding of variables, Initialisation, Numeric and String Types, Arrays, Structures, Unions, Typedef, Enum, Notation, Casting, Variable lifecycle, Variable scope, Program Flow, Loops, Decision-Making, and Operator Procedure.

When I look at the list again it seems I’ve covered quite a lot in a short space of time. The question is whether or not I will be able to remember everything. So far the lessons have made a lot of sense and I can relate to how things work with existing code I’ve done, either C++ basics, C# XNA games, or from code design concepts used with all languages.

I feel now like I’m getting in to the course and the theory stuff is kicking in. I saw one of the video blogs on the Train2Game website and realised that things get a lot more interesting when I get to Section 2, which at the moment seems a long way away, still need to complete;

  • Section 1 Part B (Lessons 4, 5, 6)
  • Section 1 Part C (Lessons 7, 8, 9)

Each Lesson requiring a submission of a TMA (Tutor Marked Assignment), so that’s another 6 Tests to go through.

I’m still enjoying the course and love learning all these new things. I take my booklet to work with me each day in a hope I will get some spare time to pick it up and get a bit further through it. Of course that doesn’t happen because work are keeping me really busy at the moment. But I am being persistent and have promised myself that I will work through this at my own pace and finish when I finish. Obviously being realistic and knowing I can’t take forever.

Personal Life versus Work

It is not always easy to split the two, Personal Life and Work. I go to the office and still my personal life continues while I attempt to do my working role. So maybe it would help me if I just put down here what is going on in each.

My role at the office has changed so much over the past to years. I was a web developer, coding web pages for the credit cards the organisation was marketing. I enjoyed it. Creativity, flexability to put my own touch on things, making quality improvements to make what I did the best. Working in a team was also nice, having people around that had similar interests yet they were their own person.
As people were made redundant and the team soaked up within the bigger organisation and the work dried up and outsourced to our collegues over in India, the only place for me to go was in to a role that demanded more of my communication skills rather than my coding, analytical, problem solving, quick response skills.
So now, I just sit at my desk, conference call after conference call, listening to others jabber away at what they want, what they do, sitting at their desks doing similar to me. In the end, the only achievement that is measurable is from the end result when a project gets deployed successfully. If it’s unsuccessful then everyone gets to know about it!
So that’s where I am, stuck in a dead end job with no where to progress to. I stuck with the role as long as I have to prove to myself that I can do this type of work. I can, but it certainly isn’t really what I want to be doing forever.
To keep me active, I do personal stuff at work to keep my skills and brain active. These include web development, blog updates, surfing websites, learning a new coding language (C++ / C#), image editing.

Personal Life
The biggest thing in my personal life at the moment are my children, twins, boy and girl, Samuel and Maisie. They are 9 months old, teething, learning, and most of all, waking up during the night. This has a big impact on everything. Both my wife Clare and I need sleep to function. Without it we are not at our best, far from it in fact – we argue, we fail to get a lot of things done, we are always looking for ways to help the children but at the same time wondering where our next bit of sleep will come from. To help with this we have rearranged our home lives. Clare will often sleep upstairs on the top floor, alone in our double bed listening out for Maisie during the night. I will either start upstairs in bed and as Samuel wakes take him downstairs to the bottom floor, calm him down and then attempt to get him to sleep down there while I sleep on the sofa. And then multiple times during the night react to his crying when he wakes up again and again. It is now starting to get to a point now where I wish our children would just sleep through the night so we as parents can get sleep and then be able to do a lot more for them.
If it’s not the children then I am either tidying up things as I see they need doing, or wishing for some time to relax and play games, or watch TV/DVDs. I started a course (Train2Game – Game Developer) back in September and have been attempting to study my way through the evenings so I can get a higher education behind me. So far it’s going well, but would love the time and energy to stay up later to either study that little bit more, or get an assignment submitted on the day of completing the module. There are other blogs on this site as to how I’m getting on with the course.

So far, the personal life has drifted in to my work. It is very rare that work ever gets in the way of personal life. But there have been moments, either an out of hours call has come at a time when babies need sorting, or personal life takes a bit longer to get done in the mornings when I’m supposed to be on my way to the office. There has also been an occurance where I was required to do a deployment on a Saturday which meant the whole morning and some of the afternoon was uneventful for the whole family. Clare couldn’t really go out on her own with the children that day, and I was pre-occupied with updates and troubleshooting.

So far it’s been about me, but there is also the personal life and work aspect of Clare. Since Dec 2009 she has been on maternity leave. This means a lot of personal life and not much work. Clare has done a fantastic job of bringing up our children. I’ve been able to see them grow from babies, to little people that can feed themselves, hold themselves up, and in Samuel’s case, crawling and pulling himself up on things. Clare however, has been there and had a direct response to them actually doing everything. Come January 2011 Clare will be having a lot less personal life and going back to work.

This brings me on to the latest dissapointment of home family life. Clare’s work called her up and told her about a new position opening up one level above her current one. The two people she knew for definite that were going for the position was herself, and the replacement that she had interviewed and accepted to contract and look after her current job position during her maternity period. Obviously being out of the role for a number of months meant that the preparation for the interview was done a bit blindly, but going through the material Clare had prepared I thought it was great and highlighted all sorts of points that were appropriate for the marketing role. The interview went well, and it was just a matter of time until the dicision was made and Clare would get that phone call.
It was today that she got that call. It was not good news, her replacement had got the job over her. The reason behind it was that the replacement had concentrated on areas that the company were looking to develop next period. She would have known this since being in the role for the last months while Clare didn’t have a chance unless someone had briefed her beforehand (which just didn’t happen). It’s as Clare said, companies just think of the now and who impresses them with flashy things, they have no consideration of interpersonal relationships and how Clare may feel working for her replacement that only had a few months left to work before Clare came back.

So at the moment we are at a low point. Both Clare and myself are low from the continued lack of sleep. Work for both of us isn’t so good. Clare now has to work under her replacement that she interviewed, has far more knowledge, experience and qualifications. And I just have to hold out until the end of the year when I can take my year out on Sabbatical and look after the children for 12 months next year watching them grow and develop.

How do you get out of a low? I guess my way is to just type my thoughts and experience in to a computer and post it up in to the void of the internet. Not sure on Clare though. I’ll need to think on that one and see if there is anything I can do to help. I’m sure things will improve but sometimes there is just a black cloud in front of you hiding everything that is still to come our way. Good or bad, we are still Team Rayment.

Interrupted sleep

Samuel (now nearly 9 months) has been waking up during the night. Nothing new there then! But this time it’s being caused by quite a few things I’ve noticed.

Sometimes it’s bottom wind. He wakes up screaming, wriggles around, ends up in the crouched position laying on his front and with a big yelp out comes a gust of air. Afterwards he doesn’t seem to calm down, instead he gets more wound up and crawls all over the cot. It ends up with me picking him up and calming him down, and then an hour later he’s asleep and back in dreamland. Someone mentioned that maybe feeding him less solids for his evening meal before bed may be an idea. That way there is less food to digest and should reduce the need to bottom wind. This hasn’t worked yet since he scoffed his face!

Other times, the waking up is caused by his teething. His bottom two teeth are through and healthy being brushed every day. It’s the top front two that are coming through at the moment and causing the trouble. Both have come through and are visible, but they are still growing. The bright red cheeks are clear signs that the pain is around the head/mouth area! When he wakes (again screaming) there isn’t much we can do apart from apply some calgel to his teeth and gums and hope it eases some of the pain. We’ve even tried giving Calpol along with the evening milk drink before bed in hope it eases the pain and gives Samuel a better nights sleep. There is also Nurofen to hand if an emergency dose is required when the calgel doesn’t do anything.

Maisie has also been going through a similar experience, but she has always been able to sort her wind out on her own from an early age. It’s the teething thing that is getting to her at the moment. There have also been a few nights where she has woken up and we have had to feed her so that she will go back to sleep. There was also a very strange night when Maisie went to bed after bath and milk around 7pm, woke up again around 9pm and refused to go back to sleep. Instead she stayed up in to the night with me and watched anime. I guess some times you just have to go with what they want and not force them.

With all this waking up, I have been downstairs a lot, me sleeping on the sofa and Samuel in the other cot, just so women of the house get sleep up on the top floor, hopefuly out of earshot. But this has not always worked since Maisie will wake up and require a look in from Clare.

It’s not easy at the moment but hopefully once these teeth are through then we can calm down and get a bit more uninterrupted sleep.

T2G Update : Intro TMA Complete

So I’ve now completed the Intro to the Train2Game course. Game Maker has done a lot of the work so far with what seems like little configuration and parameter changes from my part. The concepts behind a lot of the games created come across very well, the latest being a platform game with views so the whole level is not revealed from the start.
I took the Tutor Marked Assignment 00 and got 95% result, 1 question incorrect out of 20. This was really down to me not reading the question correctly.
Which of the following are commonly used within games to help steer player activity? A) Tiles, B) Adaptive difficulty, C) Collectibles, D) Cursor keys.
I selected D which I thought was there to steer players ingame. The response I got was

I can understand your selection here although we are specifically looking at something used within games to help steer player activity. Cursor keys are external to the game. Have a read through the information under the Platform Game Summary heading. The correct answer is Collectibles (C).

So not far off 🙂
The next part of the course, Section 1 Part A, has arrived already through the post and I will be starting that very soon.

T2G Update : S1A Intro 1 Complete

I’d say I’ve worked on and off the first part of the course (intro 1) for around 9 hours. In the 9 hours I’ve learnt the items in my previous blog, created 3 different games using Game Maker, and picked up various techniques on how to get a shoot em up working correctly including scrolling, enemies, bullets, collision, health, scores, events, time lines, views, and an overview of power ups.
I found some of the instructions in the course notes were a bit open to interpretation. I ended up having to revisit a few of my objects to make sure they were doing the right thing. At one point I had too many objects creating an instance of the player object and so created a bug. After some retracing of instructions I managed to work out where I’d gone wrong and quickly corrected it. I guess that’s why you need testers!

T2G Update : S1A Intro 1

I’ve started! Section 1, Part A, Intro 1 – Intro to Game Creation. So far it’s going well. The course notes are easy to understand and follow. Everything appears to be relevant.
So what have I done so far? I’ve read up on how to make a basic design document so everyone understands what is going to be achieved. Game Maker is installed. I’ve got a clown bumping around the screen and being caught by mouse clicks while the score increases and a new instance of the clown is created. And I’ve started working on the technique of reusing existing code, changing it to become something new (a space game) and not having to code everything again. Makes sense really, why start from scratch when you have most of the code and functions already there.
So far, so good. I’ve tried to put a study plan together but wonder whether I’ll be able to stick to it as work load increases, and holidays are coming up. I do hope so since I’m enjoying it so far.

Prince of Persia – The Sands of Time Movie

I get the chance to watch movies every now and again. It was time to watch Prince of Persia. The reviews I had heard on this movie were not so good, but I thought I’d watch it since I loved the original Prince of Persia games on Gameboy and SNES, and the latest ones on PSP, PlayStation looked nice but I’ve yet to play them.
After watching the movie I came away feeling that the reviews hadn’t given it justice. It was a pretty good movie. Not one I’d watch over and over again, but worth a look.
I noticed that there were various scenes that were taken from the video games to give the movie some tie ins. For example, having Dastan standing up on top of a pillar, the camera panning around him showing the city in slow motion, just before he jumps off (rope attached of course!). It reminded me a bit of Assasins Creed rather than Prince of Persia. Another example is when they are running through the streets and their using the building struts to run up and bounce off of, and swinging from the wooden poles that stick out of buildings as a way of progression away from the guards, again making me think more of Assassins Creed instead of Prince of Persia.
The Princess is also worth a mention. Not the typical Princess that gets herself kidnapped and needs saving, Princess Tamina gets stuck in to the action swinging daggers, swords and other items at unsuspecting evils that chase them down in an attempt to obtain the dagger holding the Sands of Time.
I won’t spoil it for those that haven’t seen it, but the scenes towards the end where there are a lot of sand falling, it didn’t really look fantastic, but it did have me on the edge waiting to see what happened next.
The soundtrack wasn’t anything special but certain had the Prince of Persia feel to it. And again, the colours throughout the movie were very yellow and sandy with bright reds jumping out.
And that’s it from my mini review of this movie. I liked PoP:TSoT

Weaning – 8 months troubles

Our two little ones are 8 months and various things have happened. At 6 months we began the weaning process, giving them puree of various things to introduce them to the art of eating from a spoon. We also added in finger foods so they get used to textures. Soon after the process started it stopped, Chicken Pox came and put a spanner in the works. But once the Pox had gone it was back on to weaning. Everything was going well. Samuel loved his fruits and yogurts along with handling everything in front of him. Maisie was also doing well. She preferred to put the things into the mouth herself, but was getting through the food. Then recently, we went on holiday to the coast and they both came down with a vomiting bug. It’s now a week later and problems have happened. Samuel is back to eating, but there just doesn’t seem to be the enthusiasm there any more, and Maisie has clammed up tight. She won’t even open her mouth for a spoon.
We’ve put it down to the bug and them getting over it, but they just don’t seem to be making much progress. It’s very disheartening to see two babies that once loved their food to what we see before us now, two little ones that struggle to eat their normal quota.
And that’s just the feeding side of things, the sleeping is another things that has a major impact from the bug. Samuel was just starting to sleep through, but now, he wakes up multiple times between 7 and 11, and then again between 11 and 6. He just can’t seem to be settled.
On the other hand, Maisie has always been a fantastic sleeper. She would sleep through from 7 to 6 without waking, all from the early age of 3 weeks. But recently, the slightest thing will wake her and it takes forever to calm her down and get her back to sleep.
Could Teething also be behind this strange behaviour? It doesn’t seem like it, but with so many things going on and not all for the best, it’s hard to reassure the babies that they are safe and they don’t need to worry about anything.
Will see how things go.
For latest pictures and movies of the twins then check out their website, www.raymentfamily.co.uk

Train2Game Learning Begins

I’ve signed up for the Train2Game course. I am on the road to becoming a Games Developer. I decided it was time for a change. My current role with “The Bank” has become too much managerial but without the progression route. I want to go back to my roots and code, create, develop, …
The Train2Game Games Developer course appears to be ideal to what I want to do next. With experience in BASIC from the early age and through school, then progressing to Visual Basic, and then in to the web design and coding industry, that is where I’ve been for what appears to be too long without the development and payment requirements.
Train2Game - Logo
I’ll be blogging about my experience of the course here for anyone that may want to read about it. But then in the vastness of the internet who searches for “Shadowpuma” and ends up here???
For now, enjoy links to the Train2Game website.
New posts will be coming soon.