Sunday 24 November 2013

Weekly Update 4 (18th November - 24th November)




Just a short blog post this week, with just a few updates as I am very busy hitting deadlines, and preparing for the mid-term presentation for Project Emperion. Also to be covered this week briefly will be the big news that the next generation is finally here! 

Whats been posted over the Week?

Again, only one update this week, due to work deadlines. This blog post called 'Project Emperion - UDK Basic Animation Example', included a short video simply demonstrating a few animation examples, and showing our flame torch particle effects. This video will be shown during our presentation, that we are having a test run on Wednesday for the final assessed presentation in a few weeks. This will allow us to practice our presentation skills in front of a large audience, and receive feedback on what we should change/improve over the next few weeks. After the presentation there will be a short Q&A, where lecturers and peers and ask questions about our game, which we may have not been clear during the presentation.

Another video that we will show during the presentation, which I haven't posted to the blog, is 'Project Emperion - Basic Combat and Level Demo'. This shows what we have got so far, in terms of map, camera and combat system. Its really basic and all of the assists are only placeholder so far, but its good to just show that we have actually started production and its not just words.

Finally, the group has decided on a official name for Project Emperion, which is SoulBound. Further updates will be titled SoulBound Update, instead of Project Emperion Update. Reasoning behind the name will come clear in future updates, when story/plot is finalised. 


What's going on in the Gaming World?

The next generation is finally here! Well for the US anyway, as the PS4 won't launch in the UK, and many other countries around the world this Friday. Both consoles have had various problems, which seem to be happening far to often. This is simply because of the internet, everyone who has a problem is likely to post about it over, Twitter, YouTube and forums etc… This makes it seem like a lot more people than there actually is are having problems with next-gen(now current-gen?) consoles. Sony announced that they only 0.4% of their PS4s produced and sent around the world will have issues. Microsoft has yet to confirm exact statistics, but lets hope its not widespread.

Personally I have got my Day One Edition - Xbox One, sitting at home awaiting my return this weekend, but I am planning on getting a Playstation 4 as soon as I can afford it, properly sometime next year.



Next week I will post about the industry lecture I attended last week, from the lead programmer at Codemasters. 

Saturday 23 November 2013

Project Emperion - UDK Basic Animation Example


This video below will be used within our mid-term presentation to showcase how our group will be using the animation tools within UDK (Matinee), to dynamically change our tech demo level during play. All the models within the scene are only temporary and will be developed over the coming months to fit our final level and art style. Finally the video also shows our torch particle effects and a basic cinematic camera in action. More project updates soon…





Sunday 17 November 2013

Weekly Blog Update 3 (11th November - 17th November)




Introduction

It's been another busy week at University, and its not going to get any easier anytime soon as we draw closer to unit deadlines! This week I will discuss whats been going on, with the blog and my course. I will also give a quick update to Project Emperion including, a few basic plot/story details which will tie into the games mechanics. Also a possible name for the game that the group has agreed on.

Whats been posted over the week?

Once again there has only been one update to the blog over the week, which was about the coursework section of the 3D Modeling unit on my course titled, 3D Modeling Proposed Artefact. This will be the first of many updates about my coursework progress to be posted on the blog since as mentioned in the post, I have to submit a reflective report with all of the problems etc.. I encountered during the creation of the model, which by the way is the ever popular, Boeing AH-64 Apache Attack Helicopter. In short post I introduced the unit, and the artefact I want to make, including some blueprints and reference images that I will be using extensively throughout the academic year, to make the model as realistic as possible. After the modeling process is complete, I will look at animating the rotor blades which I can include in the scene fly through video, that is part of the assessment.   




What have I learnt in this weeks lectures?

In this weeks programming lecture and seminar we covered what pointers are in C++ and how they are fundamental in games programming, especially console programming (which is a optional unit in the second year) because of extreme memory limitations. Pointers are used in C++ to store temporary data in memory known as the 'free space', and once that data has outlived its usage, such as an integer variable (typically 4 bytes in memory, doesn't look like much but mounts up when building a game!) it can be deleted and the memory will be returned to the 'free space' so that it can be used later in the program. The important thing to know and understand is that to declare, lets say a integer variable, a * symbol must be used to tell the compiler that this new variable is a pointer. This then pulls memory from the free space, exactly the right size for the data type and puts a virtual bookmark where this data begins. This bookmark/pointer can then be referenced anywhere in the program just like a normal variable. We can also use the & symbol with a pointer to assign another variable to use the data from that bookmark/pointer.


Project Emperion Update

This week the group has spent the majority of the time during group meetings, developing the plot and revolving game mechanics around it. Also we have decide give our game a official name, Soulbound. This will become clear when I update the blog in the future when the plot has been fully discussed and confirmed. 

   




Thursday 14 November 2013

3D Modelling Proposed Artefact




What's the Unit About?

In this post I'm going to cover what I have decided to model for my core 3D modelling unit at University. The task is to create a 3D Model with basic animations, which demonstrate what has been learnt throughout the course of this unit. This model must be completely made from scratch, and not downloaded pre-made (obviously), also we cannot use tutorials found on the internet, as it will be identical to the tutorials model. At the very least the model must contain:
  • Mesh Edited Objects
  • Lofting
  • Spline Surfaces (NURBS)
The model must be made within 3Ds Max, and should be shown to the examiner in the form of a 30 second video, demonstrating animation etc… In addition to the artefact, we will have to produce a 1,000 word reflective report, which will be about how you went around creating the model, all of the problems you encountered along the way and how you got around them, to produce the finished model. 

My Proposed Artefact

We had a lot of freedom on what we could choose to model, but it had to be real, man-made and couldn't be character models, or weapons such as knifes or guns, since they are too simple. After searching thin internet extensively for possible models, I came across a model, that I thought would be both challenging but possible for me to produce. This is an Boeing AH-64 Apache attack helicopter, very famous in both the military and gaming world, as seen in games such as Call of Duty. I have included Below are a few reference images and blueprints that I will be using, and I will be updating the blog with my progress up till the hand in date which around March 2014. 















Saturday 9 November 2013

Weekly Update 2 (4th November - 10th November)


In this weekly update I will cover what has been posted on the blog, which actually isn't much this week as i've been quite busy with University work, but I still have a few things to cover from this week that haven't been blogged about, namely an Aardvark Swift industry recruitment lecture I attended on Wednesday. This week I will also give an overview on what has been covered in lectures this week, namely programming and 3D Modelling. Finally I want to cover this weeks top game industry headlines, which like the past month has obviously been dominated by next generation news covering Microsoft's Xbox One and Sony's PlayStation 4, leading up to their launch later this month!


Whats been posted over the week?

Other than the delayed weekly update for last week, there has only been one post. That focuses on what I have been busy with over this week, Project Emperion. 'Project Emperion - UDK Third Person Camera' is a small post containing the embedded first video uploaded to our projects YouTube channel and a short description of what it shows, which is our complete 3rd person camera working in UDK, that has been completely scripted within Unreal Script. On a side note, when working with UnrealScript I have been using the Unreal X editor (can be downloaded here) as it seems the easiest to use and get running the quickest, also the free licence can be used for commercial use, compared to alternatives such as within Microsofts Visual Studio, which would be preferable as this is what we use in the programming unit of the course. But for it to be compatible with UnrealScript which is a variation of C++, Visual Studio requires a extension to be installed called nFringe that can only be used for non-commercial use on a free licence.


Aardvark Swift Industry Recruitment Talk


On Wednesday this week we had a representative from Aardvark Swift come in to the University to give students who are interested in getting a job in the games students a lecture on how to beef up yourself and be attractive to potential employers who you may apply it work for in the future. The two main ways that he covered were your CV and Portfolio. 

It was really interesting to see how to change my bog standard generic current CV which is suited for every industry, to focusing on whats important to include for getting noticed in the games industry, by making your CV stand out as much as possible on the employers desk. This includes adding a short 'Profile' section at right at the start of the CV which should be the first thing the employer sees underneath your name and basic contact details. This profile should be a short and simple section spanning just a few sentences, written in a 3rd person perspective giving the reader a summarised version of your covering letter, including your best traits, to help make it easier to see if you fit the job description. It is important to change this for every employer and/or job you apply for to make it more personal for the employer, so that they can see you are perfect for the job and the company. With this he also discussed that its incredibly important to do research on the company you are applying to work for, as many graduates don't do this and look stupid in the interview when asked on what games they like, that have been made by the company. Also some graduates don't even research where the studio is located!

It is vital to get your portfolio looking amazing, since this is the only way that employers can see what your capable of, and see if you can really 'walk the talk'. Its best to make your portfolio online, so you can also build a online presence and get feedback from viewers, who could be not only employers, but people already in the industry. It is important to join social websites such as Linked In and twitter, as you can find game developer groups and post a link to your portfolio website asking people to give their opinion on it. He also noted that employers may not even use recruitment agencies to look people, but instead only post them on their website and social networks such as twitter, so its important to follow as many games studios that you are looking to work for in the future as possible. Your portfolio  should be aesthetically pleasing and easy to navigate to where your work is and how to contact you. You should only include your best work within your portfolio, or at least make this the most visible, also for programmers its important to possibly include a snippet of code that you are most proud about from a specific project, such as a inventory or camera system. Employers do like to look at how you layout your code and the style in which you write, such as camel case and adding comments where appropriate, because studios like to keep to a specific convention set by the lead programmers. Comments are good to include as it is important to show that other members of the programming team could easily understand what a specific piece of code does.

Finally he covered that a great way to get noticed in the industry is to take part in events such as game jams, which are usually sponsored by developers or publishers, and judged by developers, many graduates get offered a job after taking part in a game jam and making something good. This is something I will look at doing next year and beyond, once I know that my my game development ability is good enough to make a game from start to finish. 


What have I learnt in this weeks lectures?

In my programming lecture this week I covered what are and how to use functions. Which I already knew a bit about after coding a few projects in Unity C#, but they are slightly different to implement in C++. Functions are used to break down tasks into smaller tasks, such as respawing a player, that would call a function similar to resetPlayerPosition() and resetPlayerHealth(). Including functions in long complex programs is vital, as it helps clean up your code, by writing less in the main() function. Repeating long sections of code is very time consuming and problems could occur due to miss typing. Also if you wanted to change a simple element of these long sections of code, you would have to go though each one and modify them individual. Functions are your best friend in this situation, as all you need to do is write out the section of code once when initializing the function, and then declare it with a simple line of code wherever you need it within your program. When you modify the initialization code it will automatically change for everywhere you declared it. You can also initialize a function with parameters, which are data types used within the function, this is shown below. Finally you can make the function return some data for the rest of the program to use, such as a result of a multiplication, this is also shown in the example below. 

// Initialize an integer answer container to 0

int theAnswer = 0;

// Initialize a new basic function, to return an integer and have two integer parameters

int nameOfFunction(int x, int y)
{
       theAnswer = x+y;

       return theAnswer;
}   

// Declare the function within main and output the return value 

main()
{
       nameOfFunction(5,5);
       cout << theAnswer << endl;
}

This simple function would result in the program displaying 10 in the console.

What's going on in the Gaming World?

The first story I would like to talk about, is one which has been going on for weeks now, the xbox one 720p fiasco. This story has fired up the tension on the internet between the xbox and playstation 'fanboys', this is due to the revelation that some games, i.e. Call of Duty: Ghosts will be running at full native 1080p while the xbox one will only get 720p native. These numbers may not sound interesting, but the level of detail between them is defiantly noticeable, so I can understand the outrage. The fact this is for Call of Duty is irrelevant, its a real problem if many titles in the future display this difference between both consoles. Now this could either be difference could either be laziness by the developer, porting to different consoles and not individually optimising them. Or it could be far worse, and due to the fact that the xbox one cannot handle it, even though Call of Duty isn't known for its graphics quality, if this is true, then we may never see the xbox one match up to the PlayStation 4 in this aspect, which is a real downfall, not just for Microsoft but for the industry as a whole, as it is great to have healthy competition. In my opinion, this is due to the developer not spending enough time with the console to be able to properly optimise it, I still think they were focused on getting the current generation consoles looking as good as possible, since they have the largest install base for the foreseeable future. Some other games such as Forza 5 will be running at 1080p native, so its defiantly possible. Also both consoles won't be able to reach 1080p, with Battlefield 4. Anyway, I'm sure we we will learn  all of the dark secretes about the next generation consoles once the embargo has lifted and we get our hands on them later this month.

The last story I wanted to mention another next generation story about someone who managed to get an xbox one early from the retailer Target. Before he's was eventually banned until release he managed to get enough hands on time to give out some interesting details about the console, these are listed below and can be found in the original story here

  • A cold boot (from off to operational) takes 17 seconds. It was timed with a stopwatch.
  • loading an installed game (Call of Duty: Ghosts) takes between 15 and 20 seconds.
  • The console “looks solid, feels heavy, great quiet fan, good ports. Doesn’t look flimsy at all like 360.”
  • The controller “is very interesting. The triggers are firmer and don’t go down as much as 360, LB and RB are bigger, thumbsticks grippier.”
  • Downloading the day one patch took 2 minutes with Moonlightswami’s internet connection that features 65 Mb/s downstream.
  • The update started as soon as the console was booted up.
  • Clothing options for the avatar transferred over from the Xbox 360 seamlessly.
  • Both the console and the power brick are very quiet while operating.
  • After a few hours of operation the console was “a bit warm, but not hot,” still quiet.
  • The power brick itself was “barely warm” after three hours.
  • It took about 30 minutes to fully install Call of Duty: Ghosts, which is a 49 GB installation.
  • Games are playable after they are past 50% installation.
  • Installation started automatically as soon as the disc was inserted.
  • Kinect voice commands are very responsive. Moonlightswami had to repeat them only when they were uttered too quietly or there was too much noise.
  • Apparently it even detected correctly the voice of a friend via Skype on Moonlightswami’s PC.
  • Holding the Xbox button on the controller pressed brings up options to turn off the system or the controller.
  • There’s only Online and Offline status available, no busy or away.
  • Music and TV Apps available are: Audio CD player, Hulu, Skype, Blu-Ray Disc, Netflix, Skydrive, NFL.
  • Power brick label: Input 100V-127V 4.91 A, 50/60 GHz. Output 12V 17.9 A 5VSB 1.0A.
  • Video options: Resolution: 1080p or 720p, HDMI or DVI, Color Depth: 24 30 or 36 Bits per pixel, TV RGB limited or PC RGB full
  • Audio options: HDMI: Stereo uncompressed, 5.1 uncompressed, 7.1 uncompressed, DTS digital surround. Optical: Stereo uncompressed, DTS Digital surround.
  • Kinect’s cord is 6 feet long, HDMI cable is 5 feet, the power cord is quite long as well.
  • The start dashboard has three tabs: Pins, Home and Store.
  • The customization options for the tiles of the dashboard have “every color in the rainbow and more.”

Notification of his console being banned from xbox live. Microsoft later informed him and the media that his ban would be lifted on the consoles official release. - Image Source

Friday 8 November 2013

Project Emperion - UDK Third Person Camera


This is the first of many development updates that will be first uploaded to our YouTube channel, then posted to the blog. This video is just showing off our 3rd person camera, that I managed to do within Unreal-script, by studying a range of tutorials from different sources, such as the official UDK forums. I also used what I have read so far from 'Unreal Development Kit Game Programming with UnrealScript - Beginners Guide', and some C++ elements learned so far in my programming unit at University, including Arrays and conditional statements.




More coming soon...

Monday 4 November 2013

Weekly Update 1 (28th October - 3rd November)


Welcome to the first of many weekly blog updates! Firstly, I have posted this a day late since it took a bit longer to write than I expected! Anyway this is the place where I sum up all the goings on over the past week, including whats been posted on the blog. The biggest event of the week is the fact that this blog was created, but there are many other topics that need to be covered such as my trip to London to go test out the Xbox One, lets get started!


Whats been posted over the week?

As this is the first week that the blog has been live, most of the blog posts have been introductory to what i'm planning to cover over the coming weeks, such as 'Beginner Game Development Books' that will cover a few books that I recommend to game development beginners/newbies. Each book will be posted in their own blog post, containing all of the vital information they cover, and what I thought of the book. 

The first real important and proper blog post that I have posted was yesterday, called 'Introducing Project Emperion'. This is the first in a long series of blog post covering a particular unit on my University course, which is about making a technical game demo throughout the first academic year, and presenting it in March 2014 to peers, lecturers and industry VIPs, who ask intensive questions and give vital feedback. My group have come up with a simple game idea, which we have been discussing in group meetings, which is a 3D Third Person, action adventure game, with the closest game relative being the Zelda games. More details can be found on the blog post.


Xbox One Tour Event, London     

   


Also this week I got to go to the xbox one tour - #xboxonetour event in London on Friday, to get the chance to get my hands on the console and a number of xbox one games a few weeks before the big launch on November the 22nd. This was a brilliantly organized event as it was invite only, therefore only around 50 other gamers were there which meant no queues! Unlike the other gaming related event I attended this year which was gamescom, where a lot of the games were not actually playable like Dead Rising 3, but still had long queues just to attend their presentations.




The games playable at the event included, Forza 5, Kinect Sports Rivals, Fifa 14, Ryse: Son of Rome, Dead Rising 3, Killer Instinct and last but certainly not least Battlefield 4. I played all of the games listed except Killer Instinct as it didn't really interest me that much after playing it at gamescom, but I got to have a good look at it, and I have to say it looks fantastic with great visuals and a buttery smooth high frame rate. Since the limited numbers of people there I got to play each game multiple times, which was fantastic as I was able to get a feel for each game to confirm which ones I will be buying day one. There were also a few concerns which I had, that I hope will be sorted at launch later this month. I will go into more details later.


After a short wait outside and a quick introduction to the event, I got my hands on a xbox one, and first game I had the pleasure of playing was Forza 5. I had already played Forza 5 before at gamescom in Germany earlier in the year, so it was intresting to see if there were any noticeable changes, I was able to play it around 5 times during the event so I was able to completely analyse it. It does seem mostly the same from gamescom except when I looked in the rear view mirror in cockpit view I was able to see some horrendous low res details and object pop ins, that I hope will be sorted by the final build, as they are able to optimize for the final system specifications which were only finalized a few months ago after Microsoft did a last minute CPU upgrade. Other than that the game looked pretty good, with a constant frame rate without any noticeable dips. I hoped that they would be showing off a new range of cars and another one of the race tracks from their gamescom build, since its so close to release date, but no luck. 




Since it was first announced and shown off I always had doubts about Cryteks new IP Ryse: Son of Rome, just because it looked more like a cinematic experience with little interaction apart from the occasional button press, and this seems the view of many people over the internet. Well these expectations were well and truly smashed when I got my hands on it, they game looks fantastic and also had a great smooth frame rate throughout my time playing it. The demo I played was one of the game modes which was set in a Roman coliseum with waves of enemy's that you had to put down in a spectacular fashion to both complete the waves and entertain the crowd. The combat definitely reminded me of the sword combat in Assassins Creed and the melee combat in the Batman Arkham series, as its a matter of waiting for an enemy to attack and then hitting the counter button to then inflict damage, once the enemy's get a bit tougher and start using shields etc... you need to start dodging their attacks and using 'B' to roll behind them to preform a fatal slice. The real good looking cinematic part comes in when an enemy is weakened and a skull icon appears above their head, this is a sign that you can preform a finisher move by pressing the right trigger. This is when it gets interesting as it sends the game into slow motion and makes the targeted enemy glow in a certain color corresponding 'A','X','Y' or 'B' colored buttons. I love this way of informing a player what to do, as its simple and effective, unlike in the game play trailer which showed a button icon above the enemy's head. After playing it a few times and getting used to the controls, as this arena level was not a tutorial level, I was able to complete the 'round' of enemy waves. I must also add that each wave also had a sub objective, such as destroy the catapults and enemy spawn points. 




I then moved onto the highly anticipated Dead Rising 3. The demo was again very smooth, but I did have some real concerns after watching the live game demonstration of the same level by one of the developers at gamescom as it looked very slow, with constant frame rate drops which were very noticeable. Luckily it seems that all of these issues have been ironed out in this demo build, and I hope its the same in the full game, I suspect the fact the hardware in the console was still changing back then, it would be very hard for developers to optimize it. In the demo I was able to free roam around medium sized map, which included interior scenes as well as outside. I experimented with combining a number of different objects together to create super weapons, and tried out the new technical combination which worked well. Finally I got the chance to play Battlefield 4, but only got one game on it as throughout the day the developers had been updating the game builds, which apparently took 1 hour per console! Therefore only 6 could be setup within the time I was their so 3 v 3 battles were setup. This was the first time I was able to but the console and the controller to the test handling a FPS, which was as expected very good, I was just disappointed that the developers didn't make use of the new rumble trigger in the xbox one's controller. I will say that overall I walked away with good expectations of the xbox one, and have kept my pre-order, but the biggest issue I saw in all of the games I played was the load times, which were very noticeably long. I also saw one of the developers power up a xbox one console which hung on the title splash screen for a good 5 minutes before loading the dashboard. These were beta consoles, but if this is still apparent in the final version, then that could be a serious problem for Microsoft.       





Saturday 2 November 2013

Introducing Project Emperion




Project Emperion is my first game project at University, which will be completed by the end of the first academic year in March 2014. Throughout the development cycle I want to be updating the blog on a regular basis with in depth details and analysis on the progress that me and my group are making.

What Does the Unit Involve?

This unit on the course will be the biggest this year as it requires all of the knowledge that you learn within all of the other units, and a huge amount self study to be able to make a respectable game tech demo. This unit is also heavily dependent on group working skills, project and time management skills, which are both essential when working in the games industry. We were all put into groups of around 5, each with a mix of designers, programmers and artists. Each group is tasked with designing, planning, pitching and making a technical game demo containing all of the core game play features that the full game would contain if it was funded and developed. We will be assessed in the form of two presentations. The first will be before Christmas, which will include a thoroughly thought out game idea, programs that will be used for development and planning/project management, unique mechanics the game will have, research into your decision behind your game idea, team management skills, planning, concept art, and problems encountered so far etc... The second presentation will be in March 2014, in front an audience of peers, lecturers and industry VIPs who will ask questions and give there opinion on the demo and presentation. As well as producing a tech demo and presentation, we must also individually produce a reflective journal. That's where this wonderful blog comes in, as I want to be able to post my progress over the course of development, including problems and milestones made. I have included below a list of ideas that our group has come up for so far for Project Emperion, including our first level design draft. 

What's Project Emperion?  

Project Emperion is a third person 3D action adventure game, with the technical demo level being set within a ruined Aztec temple themed courtyard, surrounded by a central American forest. Gameplay within the tech demo will demonstrate player vs environment arena based combat.

  • Cartoony Art Style
  • Some elements inspired by the Zelda games
  • Basic looting with inventory system to be included
  • To be built in the Unreal Development Kit (Unity does not allow their engine to be installed on University computers without paying the full commercial fee)
  • Models to be built in 3Ds Max and textured with Adobe Photoshop
  • Wave combat with boss battle at the end
  • To include level interactions, such as leavers
  • Basic sword combat implemented first, then during the Christmas presentation we will ask peers to vote on what else to include, such as ranged combat or magic
  • Potential enemy monster types, Skeletal Aztec Warrior and Armored War Troll
  • Include weapons, scenery and Armour which suits the current setting (Aztec)   
Here is the first draft of the tech demo level:


This is a very ambitious project, but all involved are dedicated to making it a success, so we have made a detailed plan with goals to be completed each week, up to Christmas, and then the final presentation in March 2014. By the Christmas presentation we want to have a basic level built, a player character fully modeled with basic walking animations, fully functional 3rd person camera, basic sword combat system and finally NPCs to attack.