Shadowpuma @ Eurogamer Expo 2013

The Eurogamer Expo for 2013 ran over 4 days, Thursday through to Sunday. Out of those days I have been able to attend the Thursday and the Saturday. Both days were exciting but for different reasons.

Thursday 26th September 2013 – Day 1 – I was at Eurogamer Expo as part of the Train2Game exhibit, meeting other Train2Game students and telling them about the team I am in for the Microsoft Venture as GallantCloud Games. After we had done our talking bit and answered questions we mingled for a bit and then off to the show floor.
Walking around we saw lots of new and exciting things coming soon to existing consoles. We even got to see some of the latest consoles and technologies, PlayStation 4, the Oculus Rift a VR headset.
As expected, the queues for the games were long and frequent. Games such as Assassins Creed IV, BattleField 4, Wolfenstein and TitanFall all had queues that twisted and twirled up and down their area section floor. People queued for hours to have around 20 minutes worth of play for these games.
The game stands I wanted to see in action included Batman:Origins, Killer Instinct, Tearaway, Lightning Returns:FFXIII, Super Mario 3D World, Beyond: Two Souls, Destiny, and after seeing all these there were lots more. The Indie section had games that looked both good and average, but all were interesting to see.
There were lots of hardware stands around including Alienware, Razer, Turtle Beach, Intel, showing off and demonstrating their latest technologies.

The visit to Eurogamer Expo wasn’t just about seeing the latest games and enjoying myself, while walking around and looking at the games each one sparked an idea in my head to apply to the future game development. Along with that the GallantCloud team made a few contacts to use in the future.

Saturday 28th September 2013 – Day 2 – I went back into London Earls Court for my second visit. This time I took the family to the event. The main reason was to join in with the app development for Train2Game. We spent some time drawing assets for the various windows 8 app games being created, a rocket and some moons, we even got to meet Hugh Bonneville (Lord Grantham of Downton Abbey) who was really nice and got to hear about the Train2Game students of GallentCloud Games and their involvement with the Microsoft Venture. Then we headed to the show floor to walk the stands. Sam loved Lego Marvel Super Heroes (we went to that game twice!) And he also played Tearaway on PSVita and got on with it so well! We also met Sonic, a knight cosplayer, and lots of other friendly people. It got a bit too much for the non-gamers of the family so we left and got to spend some time with family members in London Waterloo before heading home after an exciting day.

Thank you Train2Game for getting the passes to the Expo. We really enjoyed taking part on both days we could attend, learnt a lot, and hope our participation added value.

We got some great pictures during the whole event. Below are some of them.

Castlevania 2 statue at Eurogamer 2013
Castlevania 2 statue at Eurogamer 2013
Lego Marvel Super Heroes
Lego Marvel Super Heroes
Paul and Maisie enjoying Eurogamer Expo 2013
Paul and Maisie enjoying Eurogamer Expo 2013
Samuel testing out Tearaway on PSVita
Samuel testing out Tearaway on PSVita
Samuel and Tearaway
Samuel and Tearaway
Lego Ironman
Lego Ironman
Samuel and Super Mario 3D World
Samuel and Super Mario 3D World
Samuel and Pokemon
Samuel and Pokemon
Samuel pointing out the Train2Game robot
Samuel pointing out the Train2Game robot
Paul, Samuel and Maisie testing out their rocket asset loaded into the Windows 8 app with the use of Rapid2D at EuroGamer Expo
Paul, Samuel and Maisie testing out their rocket asset loaded into the Windows 8 app with the use of Rapid2D at EuroGamer Expo
Sonic at Eurogamer Expo 2013
Sonic at Eurogamer Expo 2013
Samuel and Maisie showing off their epic loot
Samuel and Maisie showing off their epic loot

wpid-20130926_162613.jpg

Wayne of GallantCloud showing off his Crysis skills on the 4K monitor
Wayne of GallantCloud showing off his Crysis skills on the 4K monitor
Eurogamer Expo 2013 from above
Eurogamer Expo 2013 from above
Wolfenstein
Wolfenstein

wpid-20130926_152201.jpg

Zombie Ben from GallantCloud exhausted
Zombie Ben from GallantCloud exhausted

T2G Update : Section 3

Train2Game - LogoIt’s been a while since I wrote an update about Train2Game, the Games Developer course. 1 year and 4 months ago I blogged about my Section 2 exam results. Since then, Section 3 has been the focus of attention.

For Section 3 I decided to complete the course as it was intended (instead of doing everything and then going back to complete the portfolio projects). So this meant the order of things went…

Section 3 Part A – Introduction to 3D games creation, objects, vertices, primitives, model skeletons, memory, materials, mapping, lights, cameras, to name the key elements covered.

Portfolio Project 03 – Creation of a simple 3D scene to include a player, some non-player characters, a floor, some walls, some terrain elements such as blocks, then add movement for all characters, collision detection, reset position, camera change and movement. Overall, it looked very basic and would never stand alone as a basis for a game (unless it was called “Crash my blocks”).

Section 3 Part B – This section went into more 3D elements of pathfinding and A* algorithms for characters. There was also information of picking and ray-casting, model animation, 3D pipelines for rendering, shaders, HLSL, and mixing 2D elements into a 3D environment (for things such as user interfaces), post processing and particles, shadows,

Portfolio Project 04 – This portfolio project was broken down into 6 sections. The overall aim was to create a 3D puzzle maze with multiple layers.
Part 1: Build the basic scene with a sphere for the player, non player meshes, walls, collision detection, key input movement, npc ai pathfinding, health reduction upon player/npc collision.
Part 2: Add the multiple floor to the maze game with ramp for the player to traverse, make the player and npc’s look different from each other using materials and textures, add textures to the wall and floor elements, give the npc’s some attack patterns, add in a goal post.
Part 3: Further development of the maze by adding in different terrain elements, add a list of destination points for the npc’s to pick from, camera changes to allow for 3rd and 1st person views, add a firewall for the player to burn themselves on, add a 2D/billboard background element, add a User Interface, add an end game condition, allow for procedurally generated levels, add pickups such as health and bonuses.
Part 4: Visual effects were added in the form of lighting, detailed textures on models, blur effects, surface properties added (lighting etc.), and some normal maps were added to the pillars.
Part 5: Particles – Explosions were added when the player loses all health and explodes, smoke was added to the firewalls, sparks were added to the player when colliding with the walls, Fire particles were used to replace the cube firewalls.
Part 6: The last thing to be added was shadows. Light sources were added to the scene, 3D volume shadows were added along with 3D shadow mapping.
At the end of the portfolio project there was the beginning of a game. Looking back now there are so many things I would change and do differently, but at the time using the knowledge I had from completing Section 3 Part B, the outcome was pretty good.

Section 3 Part C – This part of the whole course was probably the most revealing into how the advanced elements of games are handled. It covered areas such as dynamic environments, areas opening up upon key tasks being completed or areas opening up after time. AI (Artificial Intelligence) was revisited and knowledge about npc behaviour and logic was revealed and how to control such elements of a character. More aspects of route finding were touched upon. Player Profiling was explained, and how to keep track of players and their details such as games played, scores, loading/saving. Debugging and fixing errors was touched upon. If you hadn’t got the hang of this by this section of the course then there is little hope for your games to be completed without faults. Bug reporting was also mentioned and how systems are used to track them and fix in various versioning control systems. The section also went over how to enhance the game further with in game objects and the such.
Almost every part of Section 3 Part C was information and theory until the end where a near complete version of their Deep Sea Diver game needed updating.

Portfolio Project 05 – The final portfolio project of the course and of course the most in depth. The aim of this project was to take the nearly completed Deep Sea Diver game and enhance it!
Part 1: Player information was added. So a mission briefing when the player starts, a highscore table that saves and loads players scores, options screen, and an attract/demo mode that plays automatically to show the game off.
Part 2: Advanced enemies were needed so projectile attacks were added, electricity collisions were made when colliding with the jelly fish, and more detailed collision detection between player and enemies was added.
Part 3: Updates to the player character were made giving him advanced weaponry, heat seeker, rapid fire, three way, explosive harpoon arrows. A shield of invulnerability was also added.
Part 4: From here on out it was more about making effects to the game to give it more depth. So enemies had additional particle effects added. There was an intro flyby camera added to the level. The hardest part of all these changes I found was with the level lighting. It turned out I couldn’t turn all teh lights off because they were being processed during the HLSL effects meaning I had to search through all the effect files before finding which effect made all the characters and models light up! Once it was updated then the lighting of the level was changed so a darkness mode could be created.
Again, Post Processing effects was a bit tricky to get started. My understanding of how they all worked was great, but knowing where to put them in the existing code proved to be a bit tricky. After some direction from the tutor team (no exact answer mind you!) I was editing and adding Bloom and Depth Of Field like no ones business!
The potholes were changed so they made the player fly up into the air and back down again, harpoons were changed so they stuck to solid objects instead of flying straight through them.
LUA scripting was added so object position and level management could be maintained during runtime of the game instead of having to recompile the code each time.
And a rigid body physics manager was added to handle collision of boxes when the player collided with them.
Part 5: Controller configuration was added so the player could change the keys assigned to movement. And usb controller support was added so any controller can be added and used to move the player around. I only had a PS3 controller to test with, but it did the trick.
Part 6: First Person Mode added to allow targeting through a scope and better accuracy of aiming.
Part 7: Split Screen 2 player modes added. This wasn’t the hardest but was certainly the one that took the longest to work through. There were different modes for co-op play, treasure hunt mode, 2 player death match, and capture the flag.

After all these sections and portfolio projects were complete I sent them off at the end of May for marking.

I have yet to see the official results of my portfolio projects and determine where I did well (and not so well) since my 3 years of studentship automatically expired at the end of August (typical that it was the day the results came back). This is quite annoying since the system should have seen I was still doing the course and automatically extended me. Now I have to wait a few days/week(!OMG!) before I get my studentship extended and I can log back in to see the actual results. The person on Customer Services though was kind enough to advise I had passed all three portfolio projects!

What is left to do now??? Well, Section 3 has certainly been a learning curve to gain knowledge on how a game is made and the effects applied to the end result. It seems that every game I play now I don’t play it purely for the enjoyment of the game, I play and analyse how things are created and produced and what the coding behind it would be.

So when I get my access back to the Train2Game Student World section I can find out what the next steps are for taking the final examination of the course. Looking forward to it!

I have also created a portfolio website for myself.
http://games.shadowpuma.com/
It has details on the Deep Sea Diver project along with information on how to contact me.

Over the past weeks I have also taken up learning Unity. But that is for another blog posting.

Studies and Web development

My Train2Game Portfolio Projects 03, 04 and 05 have been submitted for marking. While I find out how long it’s going to be before they are marked I’m working on multiple projects.

Portfolio examples are something I’m going to need to put together so future employers can see my work. I’ve got a few ideas that are quick and easy and will give good impressions on my code along with enjoyable visuals.
I therefore need somewhere to host my files for these employers to view them. With my current and latest web coding skills I am putting together a personal profile website to collate my work together.

My other web projects include a new booking website for a rabbit kenneling company based in Farnborough. The Little Warrens basic information website is being updated to give information, allow online bookings, and account management.

With the Develop 2013 Conference in Brighton coming upon us soon (which I will be attending) then speed is of the essence at the moment to get a lot of this finished, or at least to a polished state.

Tombs, Crysis and Creed

I’ve played my fair share of games over the past few weeks since all the latest ones have come out recently.

  • Tomb Raider (the new revamped version from Crystal Dynamics and Square Enix)
  • Crysis 3
  • Assassins Creed 3
  • Baldur’s Gate – Enhanced
  • TERA
  • DMC – Devil May Cry

Out of all of them I have completed just one from start to finish (admittedly you can’t finish some of the online games!) :: Tomb Raider!
The new Lara Croft is excellent. I love the contrast and amount of exploring and action. The skill level up’s have been done in a way it’s easy to understand yet complicated enough to make you think about what you level up. Love the bow and arrow feel. It was the first weapon to get and first to be upgraded to maximum.
The overall story is quite short and pretty linier, but I found myself playing just to find out which of my travel companions I would find in trouble next!

I’ve only briefly played the other games, but Crysis 3 and Assassins Creed 3 are both worth a look. Graphically they are amazing. Gameplay seems to follow on from previous versions of the games.
DMC – Devil May Cry I found myself not really wanting to progress much in it, rather just swing my big sword and blast things with the guns. A bit of a mindless game that appears easy. The intro was pretty cool though.
I have played TERA before, and picked it up again since it went Free2Play. Same old stuff. It has a nice anime feel to it, but Guild Wars 2 is still my preferred MMORPG around at the moment.
The Baldur’s Gate revamp is pretty much that. I loved the original and have played it many times. This didn’t seem to offer anything other than improved graphics.

And whilst attempting to play all these I still have my studies to do which is becoming really tricky at the moment. The final Portfolio Project before the final exam! And then there are all the other games I have on PS3 that I’ve yet to complete! I do love games, but it’s just the time to play them that seems to elude me.

T2G Update : Section 2 Examination Result

I PASSED!

I’m really happy that I got good marks because there were sections that I thought I needed to brush up on more.
A result of 87% is great. That’s 52 out of 60 questions correct with all questions answered.

I’m still waiting for the feedback from my Portfolio Projects 01 and 02 that I submitted.

Now on to Section 3 and all about 3D!

T2G Update : Examination #2 taken

Today I took my second examination of the Train2Game Games Developer course. I think I did alright but need to wait up to 4 working days before I get a result. I feel a weight has been lifted and only a few more months to get Section 3 done and a further Portfolio project complete along with a final examination. My plan is to get it complete by the end of 2012!

The questions that confused me most on the examination were on Binary, lots of 0’s and 1’s! Shifting places was a bit tricky and having to re-read the questions to get an idea on what type of answer was required. I went back to most of these after I completed all 60 questions within the 75 minutes. Other areas of knowledge I need to brush up on are audio channels, certain strncmp commands and such like, and resolutions and ratios but I think I was just having a dumb moment because reading the supplied answers to choose from made it clearer how to work out the calculation for how many pixels are displayed in a 4:3 ratio.

T2G Update : Portfolio Projects ready for submission

Today I have printed out all my Train2Game Portfolio Project documents and burnt the files on to CD. Now to get it all bound up in to a folder and posted off for marking. I feel like I have reached a great milestone on the course.

Looking back I can see that it has taken quite a varied time to get to the stage where I am. A breakdown shows it took 2 months to complete Section 1 of the course including taking the exam. For Section 2 it has taken just over 2 months to complete the parts A, B and C of Section 2, and it has then taken 12 months to complete Portfolio Projects 1 and 2. I think it took so long because I took a while getting an understanding on what was required, then I put too much detail in to the technical document to an over sized idea of a game. Once I had that document in a state of completion I went on to the 5 tasks of Portfolio Project 2 and I really got in to these and sped up towards the end.

With self studying you really have to be disciplined and be able to find the time to really get stuck in to the tasks. I feel I have managed to balance the studying, family, and personal life pretty well since September 2010 when I started the course.

Now to get these projects marked and then the Section 2 exam out the way before getting section 3 completed and off I go looking for work along with my updated and completed Portfolio of games I’m creating.

T2G Update : Portfolio Project 2 – Created a running installer and exe

I just did a silly dance in front of my PC to celebrate the fact I have just learnt to create an installer for my application I am building! I feel I’ve managed to accomplish something great in my learning of creating a game. Just a few easy steps and the code has an installer setup wizard.

This has also helped with debugging purposes since the application will need to be distributed to the memory management PC for checking and verifying the memory leaks are not too bad!

T2G Update : Portfolio Project 2 – Update #1

Hello Blog. It’s been a while since I’ve posted anything on you. Sorry to be away for so long. Lots has happened since I last posted. I’ll start with a post about my studies and the Train2Game course I am doing, at the end of which I plan to be a games developer!

I have been working on Portfolio Project 2 which has proven to be a little trickier than originally thought. Since September 2011 I have come to a finishing point for two of the five tasks. Sprite Blitting and Pathfinding.

I tackled Sprite Blitting to start with and really had to get my head around what it was that was being asked of me. I decided that it was to create a class that could take one image of sprites all various sizes and split them up as required, for example the image would be 100 pixels wide and 20 pixels high and within that would be 20 by 20 pixels of character animating making 5 animations. The code would split the big image up and put the smaller images in to an animation sprite. I had about three attempts at getting the starting point right, but in the end I managed to identify the necessary classes that needed to be created and the files I needed to make the sprite blit animations work successfully. I guess this means a cut down on the number of separate images that need to be supplied for an animation, and the amount of processing required to access the files and store them in memory each time. But I got the code to function and run and now I have four images appearing on screen where only half that amount is image files. The documentation still needs fleshing out a bit, but I felt it was time to move on to the next task.

Pathfinding was the harder of the two so far. I had an understanding first off of what was required, it was how to get the desired result that was the problem. I created a map file that would be loaded and then displayed. At points on that map were start and end positions along with obstacles in the way, and then the player character would be loaded and go from start to end positions avoiding obstacles. Easy!? hahaha.
Getting the Tiles mapped out in to a text file and then having them load to appear on screen was easy enough. The start and end position images were loaded correctly, the player character was loaded and animated just fine. Getting the player character to move from start to end checking for collisions and avoiding obstacles was also fine without any path checking, just trying to go the .x+1 and .y+1 route. What was tricky was implementing the A* algorithm to then work out which tiles the character was best to use to get to the start and end with the least cost involved and avoiding obstacles. I don’t think I had thought hard enough in to the tiles and how they are stored/referenced so I had to do addition workings within the A* code to figure it out. At first I managed to get the character to work out the route, but that was a simple go down three tiles and right 5 tiles. Anything more complex seemed to make the character wander off in all sorts of directions without stopping! I eventually worked out that the heuristics were causing problems and working things out the wrong way round. Values were lower when they should have been higher. So I changed from a Manhattan heuristic to a Euclidian heuristic and managed to get the right result, the character would go from start to end avoiding obstacles perfectly on a semi-complex map. But when you add in major path finding obstacles and paths then the character just seemed to go up and down until it got stuck and then jumped to the goal over everything. Since I had spent a long time getting to this stage I put it on hold with comments in the document of all the improvements I want to make if there is more time, but the overall algorithm works fine.

I’m now on to the third task of Data Serialisation. At first I thought this would just be a case of using the example code supplied and getting it to save as binary, but there seems to be a lot more involved with creating a serialiser and a serialise aspect to the whole thing. It gives examples of XML, YAML and JSON as file type examples that are read and written. I understand what it is saying with regards to these files but I need to research a bit more in to what it is I am to create.

That’s it for now on my studies. The Portfolio Project 2 is coming along (somewhat slower than I’d have liked) but at least I have a schedule in place to help get me back in to the flow of studying more and more. Usually 2 days a week uninterrupted as well as a few evenings.