This looks cool, a free informal networking event for game devs, be they CEO or student on 9th March '13.
There's been talk of a games dev meetup in the Midlands for years now, so it's good to see one in the diary!
occasionally subtle
untitled
Three Goblin Art
"I'm Dorothy Gale from Kansas"
Keni
todays bird

PR's Tumblrdome
No title available
Jules of Nature
$LAYYYTER
Mike Driver
NASA
noise dept.
hello vonnie

@theartofmadeline
Aqua Utopia|海の底で記憶を紡ぐ

Kaledo Art
Sade Olutola

❣ Chile in a Photography ❣
YOU ARE THE REASON
seen from Philippines

seen from Malaysia
seen from Argentina

seen from Singapore
seen from Brazil

seen from Malaysia
seen from France

seen from United States
seen from United States
seen from United States
seen from United States
seen from United States

seen from United States
seen from United States
seen from United States
seen from United States
seen from United States
seen from United States

seen from United States

seen from Singapore
@gamercampuk
This looks cool, a free informal networking event for game devs, be they CEO or student on 9th March '13.
There's been talk of a games dev meetup in the Midlands for years now, so it's good to see one in the diary!
Here's a pic of our very own Oliver Williams being interviewed at Eurogamer by Gamespot on the Gamer Camp stand.
...Some examples for different formal models for understanding games. One of the most famous and most simple is probably Sid Meier’s: 'a game is a series of interesting choices.' Here’s another one: 'anything in a game that a player has no control over is bad.' Some more just off the top of my head: 'Multiplayer games are contests of skill, and any significant luck in a multiplayer game is bad'. Or 'games are a set of interlocking systems or games are large, ambiguous math problems or a game is a set of rules and a goal.' I like that last one a lot, and I want to talk about it in another post at some point.
It's surprising how little serious critical or journalistic writing is published about video games.
So it was a pleasant surprise when we stumbled across this article, which touches on how mathematic tools such as game theory can impact on how games are designed and developed.
Formal Games Writing | In Machinam
Getting Into the Games Industry with Gamer Camp: Nano (July 2012 Student Interviews) (by Gamer Camp)
We're currently playing Renga, a 100 player coop game that uses laser pointers on the IMax screen at Millennium Point, Birmingham. The game was made by Birmingham indie studio Wall Four and seems mightily impressive.
Game distribution platforms seem to be launched almost on a daily basis of late, but a new one, Goko, has taken a slightly different approach, distributing games only built with HTML 5.
The advantage of HTML 5 is that it enables gamers to play games across any smartphone, tablet or browser-based platform.
In fact, some of you (yes, you at the back) may not have realised that we here at Gamer Camp have already built an entry-level, 3 month, distance learning course all around building games in HTML 5. It's called Gamer Camp: Canvas.
Still, this video gives a nice quick overview about what all the fuss is about, and here's a snippet from the article in Escape Magazine:
"Goko CEO Ted Griggs is aware of HTML5's limitations. "If you're looking at HTML5 to do 3D WebGL-enabled games on every platform, then you're going to be very disappointed," he said.
That's why Goko is focusing on card games in its initial releases; they fit the HTML5 format much more comfortably. It certainly helps that they have Rio Grande Games and Reiner Knizia on board, both of which are very well regarded card game makers.
Goko's open beta for Dominion, played on iPad, has been mistaken for a native Apple app, Griggs claims."
(via The Escapist : News : New Game Distribution Service Goko Will Be HTML 5 Only)
Our friendly neighborhood games festival, Launch, has announced it's speaker line-up for this year's conference on 13th and 14th November.
Taking place at Birmingham Science Park (a mere 15 minute walk from our own humble Gamer Camp Studios), LAUNCH is now in it's 3rd year, with tickets via Eventbrite (http://launchconference.co.uk/register/) starting at £125+VAT.
Watch our new video in which students from the latest Gamer Camp: Nano course talk about their experiences. More can be found on our Vimeo channel.
This looks like an interesting deal. OnLive already has a large back catalogue of games like Deus Ex: Human Evolution, so the deal with Kickstarter-funded console Ouya will presumably make those games are live at launch.
Courtesy of Sony Computer Entertainment Europe (SCEE), Gamer Camp's exclusive PlayStation Academic Scholarships are back for 2012, with four lucky students - who apply before 9th August 2012 - having their student fees cut in half by £4,000!
What's more, two of the students awarded a scholarship, will be offered a paid position at a SCEE studio upon graduating from Gamer Camp.
We really spoil you here don't we?
Check out the link below for more details.
Play a 100 person multiplayer game at the same time, Find out more now!
LAUNCH: Giant Screen Games Meetup | LAUNCH: Future Gaming & Digital Conference 2012
This looks interesting...
Gamer Camp Video Game Arcade
As you may remember we were recently at the Mailbox in Birmingham as part of the Birmingham Made Me expo. We just wanted to say thanks to all the people who came to see us and enjoyed playing some cool games and extend our gratitude to Sony for their on going support as well as Codemasters and IndieCity without whom there wouldn't have been any games to play.
Here's what we got up to!
Gamer Camp Mailbox Video Arcade from Gamer Camp on Vimeo.
For those of you who haven't already found it you might like to check out this series of blog posts on C/C++ Low Level Curriculum on AltDevBlog by Gamer Camp Tech Director Alex Darby. Alex recently loaded part 8, C/C++ Low Level Curriculum Part 8: looking at optimised assembly.
Here's a link to all of Alex's AltDevBlog articles, - they are (as Alex would say) Rad!
Video Games Arcade comes to Birmingham Mailbox powered by Gamer Camp
As Part of the Birmingham Made Me Expo 2012 (15th – 22nd June) Gamer Camp has a shop at the Mailbox in Birmingham and is filling the unit with video games from some of our game development partners and gamer camp students.
If you come along you’ll be able to play the most recent racing titles from Codemasters Racing iincluding the adrenaline fuelled DIRT Showdown and the BAFTA award winning F1 2011
We will also be showcasing indie games development talent in store with an indie games showcase of the best titles on IndieCity. As with indie music and indie films indie gaming thrives on innovation, taking risks and doing things differently, if you are looking for new gaming experiences grab a controller. IndieCity staff will be in store to advise would be developers on how to make and release their own video games title, if you are interested in starting your own games business, read on you’ll be interested in the opens day on the 16th and 17th June. As well as those awesome games to play you’ll also be able to sample some of the work produced by Gamer Camp students and play some of the games they have developed.
And finally there will be a new mobile game announced during the Birmingham Made Me Expo , can’t say too much now, if we do we'll blow the big reveal. What we can say is, as well as announcing the game there will also be exclusive art installation from this exciting new mobile game. Whilst in store come and say hello, in between setting lap times and sampling indie game gems we’ll be advising aspiring game artists, programmers, producers, entrepreneurs and designers how to get into the games industry. In store there will be plenty of information about the games industry backed Gamer Camp courses, so if you want to work in the games industry come and meet us and we can advise you on your next steps.
Demand for our acclaimed development course for artisits Gamer Camp: Pro (MSc/MA in Video Game Development) has been high. If you are considering applying we recommend you get your application in ASAP as we have nearly offered all available places on the course.
Open Days in Store at The Mailbox on Saturday 16th June & Sunday 17th June
Saturday 16th
On the first day the shop is open, Saturday 16th June we will be running an open day to help potential students understand more about the Gamer Camp: Biz, MSc in Video Game Enterprise and Production course. There will be a course presentation, guest lecture by Guy Wilday and practical exercise taken from the Gamer Camp: Biz course so attendees will be able to experience and sample the course. This event is shared with another excellent post graduate course we run, Future Media The event will run from 1230 to 1730, for full schedule and to book onto the event please see our Eventbrite page.
Sunday 17th
The day after, Sunday 17th June we will be running an open day for Gamer Camp: Pro, MA/MSc in Video Games Development. This session will be led by Iain Harrison, Gamer Camp: Pro Course Director and Studio Manager. Again there will be a course presentation telling you everything you’ll need to know about the programme and there will also be an opportunity to try out one of the exercises from you course, its great fun. The event will run from 1230 to 1630, for full schedule and to book onto the event please see our Eventbrite page. Hope to see you next month
Iain Harrison's Favourite Mod
My favourite Mods
Game modification or mods for short, come in all shapes and sizes. They can range from the simple which just change say, player stats, to the hugely complex that quite literally give you a new gaming experience. The modding community is generally both passionate and dedicated, and normally consists of the most hard-core of gaming fans.
In this article I’d like to talk about my two favourite mods, both of which took their initial basic game to new and dizzying heights of brilliance. It is a testament to each Mod team’s talent and cleverness that these two games, although rather long in the tooth now, still rank as the ‘best ever’ in my opinion.
Silent Hunter 3 ‘The Grey Wolves’.
Silent Hunter 3 (SH3) hit the shelves in 2005, and it was greeted with excitement and immediate praise by the ‘Naval Simulation’ community. (Yes, there really is a ‘Naval Sim’ community, as any regular reader of Subsim.com will testify!) SH3 put the player into WWII as a commander of a German U-boat, and featured a fully dynamic campaign, and a completely immersive 3D world. The game was critically praised, receiving a score of 8.8 out of 10 from IGN, an 8.9 out of 10 from GameSpot, as well as a 5 out of 5 by GameSpy, and it was the highest-rated instalment of the Silent Hunter series. Amazing praise indeed!
http://www.youtube.com/watch?v=UlyP-KQ_2wY
At the time I thought it was truly brilliant, and I considered the title the epitome of what a good simulation should be. They’re never going to top that I thought! It’s just too perfect! Eventually, after playing the game constantly for what seems now like months, it ultimately like all games, became just another title on my already heaving shelf. Only good for collecting dust and making the room look just that little bit messier.
Whilst I was away from the 3D rendered seas of WWII, the SH3 modding community got to work. Where I was busy with the mundane day to day of life, the forums buzzed, patches were created, code was tweaked, assets were created, and sound effects were collated. Through the combined efforts of some incredibly committed and talented individuals, SH3 was getting an extreme makeover. That makeover eventually became ‘The Grey Wolves’ mod, and believe me when I say, it is probably the greatest game modification I have ever seen.
The Grey Wolves comprised a team of programmers, tweakers, 3D-modellers, artists, designers, testers, team managers and other contributors from the thriving international sub-simming community.
From the moment Silent Hunter Three launched in 2005, The Grey Wolves team fixed, improved or added new features to virtually every aspect of Silent Hunter 3: realism, gameplay, models, graphics, sound, historical accuracy, interface, music... Anything they could throw their collective talents at.
Timeline
March 19, 2006: The first release, simply entitled 'The Grey Wolves', launched.
December 16, 2006: GWX ("Grey Wolves eXpansion") released.
December 24, 2007: GWX2 released.
April 17, 2008: GWX2.1 released.
December 24, 2008: GWX3 GOLD released — the result of over 3 years of ground-breaking modding work in one single installation.
So what was so amazing about the Grey Wolves Mod? Well it took the initial game, forever now doomed to be called the ‘Vanilla’ version, and improved upon it to such an extent, that it was hardly recognisable. Suddenly you had submarines that looked better, not only had they been entirely retextured, in some instances they had be entirely rebuilt. The ports had gone from being quiet ghost towns in the vanilla game, to busy, thriving centres of commerce. Featuring tug boats, trawlers, cargo ships and naval patrols. The environments were vastly overhauled, with some of the most beautiful sky domes and weather effects in any game to date.
The sound effects had been improved, and now you even had the ability to listen to real news reports that corresponded to the actual day you were playing. For pure immersion it was incredible. The physics had come under some close inspection, and now your boat rocked and rolled in heavy seas, really giving you a feel for the power of the ocean.
More importantly for a simulation fan and history buff such as myself, the GWX team had taken the time and effort to ensure the historical accuracy of the game. Whereas before you could sail only as far as your fuel allowed, now the game sported the ‘Milk Cows’ of history. Converted cargo vessels, docked at secret locations to give you a refuel. Not only had these been included, they were even in the correct locations from history! Furthermore, the Allied convoys were now bigger, and more historically accurate, and events from the war occurred when they were supposed to. For instance, if you happened to be around the English Channel in June of 1944 in the original game, not a lot happened. In GWX, the D-Day invasions took place, meaning it was a rather dangerous place for a German U-boat.
http://www.youtube.com/watch?v=MUpHIxcOi7s
Unfortunately the GWX team disbanded on the announcement of the Silent Hunter 5 game, as the game promised to fulfil everything the team were planning on trying to achieve with a Mod of Silent Hunter 4. Amazingly, Silent Hunter 5 ended up turing into a damp squib, and can’t stand up to its much better predecessor. With some luck, the team will reform, and do something about the lacklustre experience that is Silent Hunter 5. Until then, Ill stick to my favourite version. The Grey Wolves Expansion of Silent Hunter 3.
I’ll end with this comment from a fan of the GWX Mod, from the Subsim forums,
“Thank you, for everything you guys have done…You have left a lasting impression on what it means to play a game in the Silent Hunter franchise. You can't go very far without seeing GWX on any forum or sub-forum in this community. Thank you for giving new life to Silent Hunter 3. Without GWX, SHIII would be nothing but a speck in my registry, a game I do not play.”
http://www.youtube.com/watch?v=-AGZiAJ6r54
I couldn’t have put it better.
http://thegreywolves.com/
Part two of My favourite Mods to come…
Supermono Studio use art talent from Gamer Camp
Over the Easter break two Gamer Camp artists, Emma Douglas and Isaac Barrett worked at Supermono studio delivering new levels for Forever Drive. “I found the experience of being at Supermono to be very much like the experience on Gamer Camp and I was able to fit into the development team very quickly, I was used to daily scrum meeting and check in procedures and I was able to contribute confidently and effectively in team meeting, even on issues relating to marketing and production. I enjoyed having to work within the already existing art style, nailing art styles is something we’ve all really practiced hard at on Gamer Camp so it was great to have a chance to show that I was able to adapt to yet another art style. I realise now that before I came on Gamer Camp I was a good artist, now I feel I’m so much more, I know the language of games, the development culture and processes, I feel I can be a useful member of a game development team.” Isaac Barrett, MA Video Games Development 2011-12
A Brief History of Graphics and Rendering
Alex Darby our technical lead initially sent this to all of the programmers on the current Gamer Camp: Pro course.
It was so good that we thought those following our blog would be interested in what he has to say.
Hello all,
I need to make sure that, as a group, we have a more level understanding of the graphics side of things.
Let's start at the beginning (note this may not be 100% historically accurate, but I've explained it all incrementally).
Models in a "standard" real time 3D graphics engine are all built in Maya or 3DS Max or some other similar 3D modelling tool.
These models are fundamentally composed of vertices positioned in 3D, each with a position of the form [x, y, z].
Vertices can be rendered, but they don't look very fancy :)
We covered the maths involved in rendering vertices (i.e. transforming them from the model's space in 3D onto the 2D screen) in overview in module 3. Each vertex is transformed as follows:
from "model space" (where it is defined) into "world space"
from world space into "camera space" (the frame of reference of the camera)
from camera space into "projection space" (also often called "clip space")
from projection space into "screen space" (this converts the 3D [x, y, z] point into a 2D [x, y] point)
To make 3D graphics with high visual fidelity using just vertices is not simple. If you render them as single pixels, it requires a number of vertices large enough that there is at least one vertex in the model for each pixel on the screen when it is rendered at its maximum size.
The Death Star plans in the original star wars film were done as just vertices, as were computer graphics in Alien (they were done using vector graphics displays, which is a whole different thing to bitmap graphics though... google it if you're interested)
Each vertex requires 3 values [x, y, z] to describe its 3D position (and a colour value if we wanted to do coloured graphics) and must be transformed from model space into screen space; so this is both memory AND processor intensive. This is basically the same as using "voxels" ( a voxel is a "volumetric pixel" - i.e. a 3D pixel look it up on google for more information).
In order to reduce the memory and computational expense, less 3D points must be used. People started research into using 3D surfaces to describe models since they can use only a few vertices to describe large areas of model surface. There are lots of different 3D surfaces that can be used, and lots of research has been done (and no doubt still is somewhere) into the various options.
The simplest 3D surface that can be described is a planar polygon, and the simplest planar polygon is a triangle, it is also one of the simplest to render in 2D so it was an obvious target for hardware acceleration and so eventually became the standard way to do 3D models.
When a model is made out of triangles, the vertices are grouped together into 3s.
The maths for rendering triangles is not that much more complex than for rendering vertices. The three vertices are transformed into screen space, and then all the pixels contained within the 2D triangle described by these points are rendered to render the triangle (determining the specific pixels that are within this 2D triangle is a process called "rasterisation").
Assuming we were doing coloured graphics, the data for each triangle we wish to render must now include the 3 vertices and its colour.
Flat coloured triangles by themselves don't look that great, and so someone invented the idea of "lighting" them.
The most simple way of lighting a triangle is to adjust the colour of the whole triangle based on the angle between some light source, the triangle, and the camera.
This calculation is done in 3D before converting the triangle into 2D (usually in camera space, or world space) and the colour stored in the triangle data is modified by the lighting clculation and stored so it can be used to fill the pixels of the 2D triangle.
It is often called "faceted lighting" because it makes 3D models look like cut gemstones. This produces graphics that look like Starfox on the SNES.
Obviously, a surface that was supposed to be smoothly curved (like a cylinder) doesn't look very good when it's made of faceted triangles. The next advance was in smoothing the lighting of surfaces to remove the "faceting" effect. To accomplish this, rather than lighting the whole triangle with the same light value as a flat surface, the lighting value must change across the surface of a triangle so that it appears not to be flat.
The simple "light the whole triangle" technique can use a single "surface normal" vector to describe the direction the face is pointing (or it can be calculated in real time using the cross product from 2 adjacent edges of the triangle).
To achieve smooth lighting across adjacent triangles, each vertex that is part of a "smooth" surface of adjacent triangles must store its own surface normal which lies between the actual face angles of the triangles it is part of. This averaged (or "smoothed") normal gives the contacting edges of adjacent triangles the same lighting value amd so the boundaries between them become invisible.
Additionally, the 3D lighting calculation must now be done once per vertex rather than once per triangle, and the lighting value applied to each 2D pixel that lies within the triangle must be adjusted (interpolated) based on where in the triangle it is relative to each of the 3 vertices.
See below image "FacetedVsSmoothNormals.jpg" for a visual representation of how this works.
So, we're looking a lot better, for example this technique could be used to render a car pretty convincingly.
However, the limit of a single colour per triangle means that this doesn't look great for anything organic (i.e. with high surface detail) unless each model is made up of so many triangles that each one is approx. the size of an onscreen pixel when it's rendered.
This lead people to research ways to get better visual fidelity with less triangles, and the next advance was texture mapping - to put images (or "textures") onto the triangles so that large triangles can have lots of visual detail.
With texture mapping, the data required to render a triangle includes a texture, and each vertex rendered requires an additional 2D coordinates that defines its position in the texture (rather than [x, y] texture coordinates are typically referred to as [u, v]).
When the triangle is rendered in 2D, the base colour of each pixel in it is now derived by calculating the [u, v] coordinate of that screen pixel within the texture based on the [u, v] coordinates of the triangle 3 vertices (modern "correct" texture mapping includes other factors too - check out http://en.wikipedia.org/wiki/Texture_mapping).
See Below image "UvMapping.jpg" for a visual representation of how this works.
Ok, so now we're more or less at the level of graphics as they were on the original PlayStation (but the PSX didn't have perspective correct texturing...), so let's review where we're at.
A 3D mesh for real time rendering at PSX standards contains the following data:
1) a texture
the texture (or texture map) is used to render all triangles in the mesh
2) vertices
Each vertex has a position and a normal
Let's assume they're in an array and we can index them.
3) triangles
Each triangle has a colour, It also refers to three vertices by index and stores a corresponding U and V value for each vertex, specifying its position in the texture.
If you wanted to have more than one texture you'd end up with more than one mesh in your 3D model.
See Below image "PsxStyleSingleTextureMesh.jpg" for a visual representation of a 3D mesh with a single texture.
Since the PSX the changes to the data needed for real-time rendering, and the pipeline iteself have largely been incremental improvments rather than fundamental changes.
Let's leap ahead to modern graphics pipelines such as those in the PS3 or X360 GPUs (i.e. ignoring the relatively new concept of the "geometry shader").
The first and most major difference relative to our simple, single texture model is that the vast majority of the computation work involved in rendering is now done on the graphics card either by "fixed function" hardware or by "programmable" parts of the Graphics Processing Unit (GPU) called "shaders".
The model data is exported from the 3D package and then the exported mesh is loaded by the game into memory accessible by the GPU.
This mesh data contains references to all the data needed to render it - typically at least the same amount of data as would have been required for a PSX mesh - vertices, triangles, and a texture.
When the game side code wants to render the model it tells the GPU which mesh data to render, and supplies:
a "model matrix" (model space to world space)
a "view matrix" (world space to view space (view space == camera space))
a projection matrix
The GPU then steps through each vertex in the model data and passes it to a program that runs on the GPU called a "vertex shader".
Vertex shaders are entirely customiseable and can be used to do per vertex lighting calculations, generate extra data needed for rendering etc. In its simplest form, a vertex shader program processes the vertex data passed to it from model space into view space by multiplying its position by the model and view matrices.
Once the vertex has been processed by the vertex shader it is multiplied by a "projection matrix" (also supplied to the GPU by the code) which projects it from 3D into Projection (or "clip") space. This is where perspective is applied to vertices, so vertices further from the screen (in their Z coordinate) have their X and Y coordinates scaled down so they look smaller.
In projection space is where vertices outside the viewable area are discarded. Any triangle with one or more vertices outside the viewable area must be processed so that the part of it that is viewable is still rendered. This processing is done on the GPU, and involes creating extra vertices to replace the ones removed.
See below image "ProjectionSpaceClipping.jpg" for a visual representation of clipping a triangle (n.b. red dots are vertices, the clipped triangle has more vertices).
Once the vertex has been clipped it is converted to 2D "screen coordinates" (via "device coordinates" on PC where the view may be windowed). Once the vertices are in the correct 2D space the triangles can be rasterised to produce the final pixels output to the screen.
The GPU steps through each pixel within each 2D screen space triangle and passes it to a program called a "pixel shader" (also known as "fragment shader" on the PS3). The pixel shader's job is to calculate the output colour of the pixel that is passed to it.
Pixel shaders have special operations they can do to look up their colour in a texture and so forth. The real power of pixel shaders is that the textures they can use do not have to be images, they can also be clever things like normal maps (http://en.wikipedia.org/wiki/Normal_mapping), ambient occlusion maps (http://en.wikipedia.org/wiki/Ambient_occlusion), or specular maps(http://en.wikipedia.org/wiki/Specularity).
The colour value output from each pixel shader is then written into the screen buffer by the GPU.
So how does this change the data we need to render something from our previous simple PSX model earlier? The answer is, again, incrementally rather than fundamentally.
Now each mesh has:
1) a material
The concept of a material is that it represents a physical material like concrete, rusty metal, or brushed aluminium.
A material may have multiple texture maps, but it definitely has exactly one vertex shader, and one pixel shader.
The vertex shader is run once by the GPU for each vertex in the mesh the material applies to.
The pixel shader is run once by the GPU for each pixel in each triangle the material applies to.
2) vertices
Each vertex has a position.
Let's assume they're in an array and we can index them.
Each vertex may have other data associated with it as required by the vertex shader e.g.:
a normal
a tangent for normal mapping
a specular power for specular lighting
3) triangles
Each triangle refers to three vertices by index.
Each triangle may also have other data associated with each vertex in it as required by the pixel shader; typically one or more pairs of [u, v] values, specifying the vertex's position(s) in the various texture(s) used by the material.
Whew! That's (broadly) how real time graphics works on PS3 and X360.
So, in general you should at least have a fairly good idea of what data is pushed about in the average real-time graphics pipeline, if not precisely how it's pushed.
If you have any questions or want to know more, ask each other, google it, or ask me :)
An excellent place to get a more full understanding of the modern graphics pipeline is chapter 2 of Real-Time Rendering 3rd edition (with Sack-boy on the cover). They should have this in the library.
Whilst I cannot condone finding .pdf versions of this book on the internet you will probably find it a very cost effective way to read just the 2nd chapter (the rest of it is pretty maths heavy and full of squiggles and won't be of much use to anyone not interested in GPU programming).
The best book is (I now I go on about it!) 3D math primer for graphics and game development. This explains all of it in a bit more of a beginner friendly way than the 1st book, and has more diagrams. Best. Book. Ever.
Alex Darby Technical Course Lead @ Gamer Camp