Oh hey there.
It’s a well known fact of life that sometimes you just don’t get around to finishing things. I for one should know, I’ve got 3 projects sat on my computer waiting to be finished, but yet I started another one. Why? Well, this particular game was an idea I’ve wanted to make for a while. It’s not a huge project, it’s not a groundbreaking project…it’s an achievable project that’s going to scratch a massive itch I’ve had for the last 18 months - to get something out onto mobile stores.
There’s nothing like a deadline to get you working, but we all know that self imposed deadlines are too easy to move. This project has a self-imposed deadline, but it’s one that was decided based on the fact the game has close ties to a sport, and an upcoming sporting event would be the perfect time to release it. I don’t want to spend days/weeks doing promotion, I want there to be some ‘natural’/cultural reason that would lead people to it without me asking. A sporting event is the perfect opportunity for that.
You see, I’m making a rugby game. Why a rugby game? Well, I’m a massive fan of rugby, and there’s a distinct lack of rugby games currently available, so why not?. This particular project started out as an experiment in creating ‘flick kick’ style controls, which very quickly turned into a prototype, which then turned into an experiment in different game modes. I quickly realised that this could be a project that could very realistically be achieved…so I decided to finish it.
I set myself a goal of finishing it by the end of January, which is what I’m working towards now.
Because it’s supposed to be a ‘one-man’ project in a short time frame, I’m doing 90% of the game myself, including art and UI, which admittedly isn’t something I’d every apply for as a job, but I can manage! The only area I’m getting help is with the stadium model, which is being created by Chris Pope.
90% of the code base is complete, and I’m now in the process of completing the art side of the game, and beginning playtesting and bug fixing. The initial launch will be iOS, and depending on whether it’s worth it, I’ll look into doing a build for Android at a later date.
Here’s where I’d like a little extra help, from you.
Sports stadiums have sponsor boards running around the edges of the pitch. Now, I’m obviously not allowed to use REAL sponsors, and I don’t have the tim to come up with incredibly witty puns on well known sports brands, or the time to dedicate to doing the art.
So I thought, “why not populate it with games?”. I want those to be indie games, and I’d like them to be your indie games.
You know what, it doesn’t even have to be games, it can be anything you’re working on.
What do you need to do?
A 512 x 128 banner image.
Send me a link/email (therussmorris[at]gmail[dot]com.) to where I can get hold it (whatever format you prefer)
Send me a website and or twitter account
Do it by Jan 31st.
What will I do?
I’ll put it in the game. The banner will appear on the adverstising hoardings, and a link to your website/twitter will appear in the credits.
If you create something, you can send it to therussmorris[at]gmail[dot]com.
If you do, that would be awesome. Super awesome.
Have a good day!
You can see the video here…. LUUG 9 Video
Continuing on from the initial ‘Highlights from LUUG…’ post last month, here’s the latest version!
It’s difficult to write a highlights package for an event you presented at without making out that you’re bragging, but luckily there was lots of other stuff to talk about, including our most successful ‘open mic’ session to date, which is something that we are looking to build on for the future. I’ll try and give as much detail for those that talked, so for those of you that were present, it gives you a chance to follow up on any ideas that you had about the things that were discussed.
I’m going to start with discussing the open-mic slots… so here’s what happend with those.
Open Mic sessions
We had our most successful open mic sessions since we began to introduce them, clocking up about 30 minutes of showcasing and general chat about what people were planning on doing.
Bertrand Nouvel showed off the upcoming ‘True Type Text For Unity’ package, which is likely to be available on the Asset Store very soon! You can find out more about it through the website.
Rob Stringer opened up discussion about his ideas of rewarding those that want to contribute to his Galaxy Seed project based on their contributions. The idea is that people will be rewarded credits, the amount of which depends on the work contributed. If the game makes a profit, they are rewarded their share of the profit based on the number of credits that they hold.
You can find out more about Galaxy Seed by either looking at the previous ‘Highlights Of LUUG…’ post, or by contacting Rob directly via email (rob dot stringer at parabolicgames dot com)
We were also treated to some musical compositions from Ben Macdougall. Ben has worked on several commercial projects, and is interested in working in video games in the future. The demonstration he showed offered a great insight into the diversity of Ben’s skills, and I have no doubt that he’d be able to contribute something to whoever is looking for a composer. You can contact Ben via email at benmacdougall AT gmail DOT com , and you can check out his portfolio HERE.
I decided it was time for me to step up and provide a talk this month, and I tried to deliver something that focussed on those areas that aren’t discussed too often. Namely, xCode provisioning profiles, iOS distribution through TestFlight and internal profiling using xCode.
I tried to make everything I talked about in context with the development of Spring Break Hero, a game I had been working on PLA Studios over the last few months.
I’ll outline each section here briefly, but I’m hoping to document some of the sections in a bit more detail, particularly the TestFlight stuff…
Spring Break Hero for iOS.
I went over porting the original Super Spring Break Speedboat Hero SD Beta, a web game that we developed, and decided to port over to iOS. The talk focussed on how, even under the challenges of porting a project that wasn’t entirely optimised for Unity, we were still able to get a build of the game running just over 2 days.
After working out the differences between dynamically typed and statically typed variables, and using the life-saving #pragma strict, I went ahead and started statically typing all those problem areas.
When it comes to Unity developers, like myself, who have come from a design background and have learnt to programme and code through Unity, you might not understand the more ‘technical’/’proper programming’ things, so this is one area that you might have an issue. I know I certainly did.
This is a huge area that people really struggle with. Even the most seasoned veteran can have issues when it comes to setting up certificates, provisioning profiles, and the different between development and distribution profiles, so I tried to focus on the 3 steps you need to take, and the importance of doing these in exactly the right order.
The most important thing you need to be able to do is get everything done in the correct order.
The main three steps involve creating a certificate request form on your machine through Keychain. You then use that request form to create a certificate in the provisioning portal, which is then used as the certificate for your provisioning profile. Doing any of these in the wrong order just messes things up. It sounds obvious, but when you’re in the web of provisioning profiles, it can really mess you about.
Xcode internal profiling.
Getting your game running on an iOS device is one thing, but really understanding how it is running is another. There are two main things that you can do here; one gives you information about how the device is dealing with your game, the other looks at how your game is dealing with the device.
The first thing to look at is Activity Monitor, which can be access in Xcode after you’ve built your game. Using the toolbar, you can use Product > Profile, which will build your game and open up a window, in which you can select various tools to profile your game.
For the most part you can get away with using Activity Monitor. This will allow you to take a look at memory usage, CPU usage, and system loads. It visualises areas of high memory usage, which is useful. For a general look at how the device is dealing with your game, it’s useful.
The other side of things, is the internal profiling, which can be enabled inside of Xcode.
You will need to ‘ENABLE_INTERNAL_PROFILER’ inside the iPhone_Profiler.h class in xCode. It will then send out detailed information to the debug window.
You can see detailed information on how your game is performing, which is the main key difference to something like activity monitor, which allows you to see how the device is dealing with your game.
Getting the stats for how much time is being taken with rendering, physics, or even checking if the CPU is waiting for the GPU to finish. It’s incredibly useful when looking at improving performance, and the general areas that your game might be causing issues.
Test Flight distribution.
The third key issue with iOS development, is how to get around distribution and testing.
Simply the best way to deal with this is to use TestFlight.
TestFlight is free, and offers over-the-air distribution of the games you are making. It handles most of the fiddly stuff, mainly the UDID retrieval from the user’s device, meaning that all people really need to know how to do is respond to an email.
Once you have the UDIDs, you are free to create distribution lists, so you can supply specific builds to specific users. For example, you can have a list purely for clients, so you can make sure they get access to the games that are nearing completion/ specific milestone builds, and you can send the builds that might not be considered ‘reliable’ to your dedicated test team.
Emails are sent to users on lists when new builds are uploaded, and as the developer, you can check to see what builds users installed last, or whether they’ve bothered to open the email.
Installation is handled automatically, with users just needing to click an icon of the games they have access too, and they will be on the device, ready to play. I’d love to know how this actually works…but for now I’ll just assume it’s magic.
As previously mentioned, I’m aiming to write some detailed documentation on how to get this running with very little fuss…
So that was about it for LUUG9! Thank you all for coming. Incredibly excited for the next one, and I’m VERY excited for the quickly approaching 1 year anniversary!
See you soon.
What better way to see out January than to reconnect with the Unity community.
It was our eighth London Unity User Group last Wednesday (at the time of writing!), and whilst I can’t speak for Jasper, I’m sure he’ll agree that we didn’t think that LUUG would be the success it has been so quickly. From the very first meeting we’ve seen a steady increase in attendance, with the regulars that sometimes can’t make it having their seats filled with new attendees.
The biggest news over the last month has been the release of the developer preview for Unity 3.5, which includes our first look at the Flash exporter. The clever folks at Unity HQ decided that the best way to get us testing this new feature was to make a competition out of it. Over the Holiday period. Excellent.
So, we took time out from our time out with the families and leftover turkey to create something for ‘Flash in a Flash’, which is what we made the main topic for this months LUUG.
We sent out the call to invite those who had entered the competition to show their projects and offer their experiences, and the call was bravely met by LUUG regulars Cat Burton, Mike Renwick and QuickFingers.
Cat Burton - Find Heidi.
Cat did an excellent job of explaining the iterative nature of game development and design. Sometimes the initial ideas, whilst on paper might seem the best way of marrying form and content whilst taking into account strict time constraints, can sometimes come crashing into the brick wall of logical gaming sense. A hamster in a ball is a great way to get around the need for any complex animations, until the player needs to jump that is.
A quick redesign and a favour from a friend later and Cat was well on the way to creating a cute game of love, cats and mice.
We also got a nice insight into the importance of testing and user feedback during the early stages of game development, which might be one of the most important messages delivered on the night.
You can read an in-depth blog post into developing ‘Find Heidi’ as well as links to playable builds HERE.
Follow Cat on twitter here.
Mike Renwick - Spitfire.
Mike took a different approach to working with Flash, mainly by ripping apart an older project and shoe horning it through the Flash exporter, piece by piece. It might not have been a complete success, but what we saw of Spitfire looked very interesting. A comic book inspired player feedback system, supported by controls that look tight and fun. The real shame here is if Mike never goes back and finishes it off, because I for one would love to have a go!
Follow Mike on twitter here.
QuickFingers - Covert.
Born out of a love for Deus Ex key code systems and reading mundane emails for subtle clues, Covert is a remarkable piece of work for such a short development period, which isn’t surprising really, coming from QuickFingers.
Play Covert Here.
Follow QuickFingers on twitter here.
Jasper Stocker - Hot Wheels
Jasper discussed how the Hot Wheels game was built, the lessons learnt and how much fun it was making it. Covering the basics of implementing analglyphic 3D in Unity and using Flash with Unity to allow the game to use AR binary markers to steer the car.
Many of the challenges facing the project involved allowing it to be fun while easy enough for a kid to play it with the AR marker. He covered the physics, setup and tricks he used in implementing a loop the loop, jump and wrecking ball. Along with useful tips on building racing games in Unity, putting experience before simulation.
You can follow Japser on Twitter here.
You can play the Hot Wheels game here..
Open Mic Sessions
We also had a couple of ‘open mic’ presentations from members of the group. One in particular was Rob Stringer’s ambitious ‘Moon-em-up’, ‘Galaxy Seed’. I’d promised I would update you all with the details for Rob, and he wanted to extend his thanks, as well as offering contact information…so I’ve pasted it below.
I want to say thanks for the positive and honest feedback that many of you gave after LUUG, I really appreciate it. Here are a couple of links for a more cohesive idea of what Galaxy Seed is and the game’s story:
You can also play the current version in it’s glorious (but ugly, buggy and short) form here: Windows - http://bit.ly/x4pGAo Mac - http://bit.ly/wwqJmI
If you want to help in the production of the game, or just have some questions about it, feel free to get in touch firstname.lastname@example.org.
Since the event, and the original writing of this blog post, Unity have announced the winner and runners-up of the Flash In A Flash Competition. Huge congratulations to Cameron Owen, who’s ‘Tail Drift’ claimed first prize. Our very own ‘quickfingers’ was amongst the runner-up awards, with Covert, which you can play by following the link further up in this post.
You can see ‘Tail Drift’ and all the runner-up games by clicking here.
- Posted using BlogPress from my iPad
I’m incredibly lucky.*
It seems that whatever I’m doing, it’s something that I love.
Over the christmas holidays I went to visit the various branches of various families, most of which don’t have a clue what it is I do. Among one of these families is a 13 year old boy that is pretty much a replica of myself at that age. Whilst we spent a good few hours over that time playing Skyrim, Halo and Call Of Duty (age restriction issues are for a different day), the most fun was had showing him what I do, as it’s something that he’s very interested in. He’s asked a few times about doing work experience at a game development studio, so I figured I might as well just show him what I do now, rather than waiting a couple of years. We downloaded the version of Unity and spent a few hours messing around.
Now, I’ve taught Unity to a fair few students over the last couple of years, all with varying degrees of competency of 3d modelling, game design and game development, but never a 13 year old with no experience of game development, the intricacies of game design and not a GCSE to his name (not really his fault, he is 13).
The amazing thing was that the process of teaching a 13 year old and a final year game design degree student was no different. The straight forward nature of creating content in Unity is self explanatory, you just point the users in the right direction and let them do the rest. After the initial explanation of how Unity combines game objects and components together, the main thing we focussed on was where to find the cool stuff, and how it can be used to make games.
There’s a big different between how to DO the cool stuff and where to FIND the cool stuff, but even with the basic packages that come with Unity, it really is a case of where to find it.
The most important observation I made though is that within about 30 minutes of explaining Unity’s UI, game object and component based systems, I was already talking about how things are done within the game industry. I was talking about the little tips and tricks to speed up development, rather than how to get the software working. We were playing with physics and coming up with ideas of games through playing with the software, rather than battling through it’s labyrinthine network of menus and stacks to do something, to do anything.
After an hour we were walking through hurriedly painted mountains and pushing down walls of blocks with giant bowling balls. Two hours later we were back fighting ice trolls on Skyrim, but at least he can go back to school in a few days and say that he made a *game* over the holidays, as well as playing the shit out of them!
Happy New Year.
*luck really does come down to hard work and putting yourself in the right positions though.
Last Thursday was the 7th London Unity User Group.
Each month the attendance is increasing, and we’re getting new members signing up to the meetup page on a daily basis.
The success of the event so far has been purely down to the fact that there are so many talented people that can potentially talk at these events. There is a also a broad range of topics that can be covered. It allows us to provide you with a varying degree of talks and complexity.
All credit for the latest event needs to go to Jasper, he pretty much organised the whole thing.
Whilst we had the highly anticipated Unity 3.5 preview from Will and Chris from Unity Technologies, we were also treated to fun and informative talk from Iestyn Lloyd.
I first met Iestyn at one of the first meetups for the previous Unity group, organised by Tim Whitlock, about 18 months ago. I liked his style, it was a no-fuss approach to development, built on his former experience in game development, but without the air of snobbery which can sometimes come from experienced developers looking at new technology.
His talk, “Why I’m not even slightly worried about this whole Flash thing”, was a show and tell into some of his previous work, as well as a peek into future projects. The most intriguing of which was based around Gyroscopic Camera controls with Unity iOS.
He showed a few prototypes using the tech, and his honesty when answering the question of how it was put together was refreshing. “I got it from the Unity forum, someone had already done it. If you want it, I can send you the link”.
No lengthy explanation on the intricacies of effectively moving the camera based on the gyroscope data, just the facts. Even one of the prototypes used to the Unity FPS Tutorial environment.
I did a little google search…and here’s the link to that forum post.
Thanks to the original poster for this! All credit goes to them!
I then played around with it for about 15 minutes, and these are the results…
(The environment is just a bunch of assets I took from our Super Springbreak Speedboat Hero SD project at PLA Studios.)
It’s incredibly easy to set up. You pretty much just drag and drop the script onto your camera.
I did some extra work with the FPS character controller and iOS Joystick script to allow walking with onscreen controls and direction dictated by camera movement, which can be provided upon request.
Hope you have fun with it.
This is where I work.
When I graduated last year , I had a plan; get a job.
I got work pretty quickly, and whilst it was very good work, it was freelance or short term contract work. I was looking for something permanent, something that would really give me an opportunity to test myself. I applied at numerous large studios, but making rocks and barrels wasn’t what I wanted to do. The dream was to join a startup studio, one where I would get a real oppertunity to design.
A few months ago I got a call from PLA Studios and it was obvious that the opportunity I wanted had arrived. I’m one lucky SOB.
please check out our website www.plastudios.com
Follow us on Twitter @plastudios
I’ve always been a believer that the early days of learning game design and development should be like learning a musical instrument…you practice by playing the stuff you listen to. So why not practice game development by making the stuff you play? Then, when you’re good at the basics, you can move onto your own stuff… I really think one of the worst mistakes you can make in the early days is to get carried away and try to make ‘Left 4 Dead’ when you don’t even know how to make Pong…
On the flip side to that, it’s always fun to have small pet projects when you’re bogged down with all the difficult stuff. Creating something basic, with a quick turnaround is a good way to give yourself a quick pat on the back.
So, In order to help some of the newcomers along, I’ve attempted to show how easy it can actually be to create a game in Unity…by recreating one of my favourite games, Elektroplankton.
I loved Elektroplankton on the DS. It was a great mix of quirky and retro-chic…with a nice bit of music generation thrown in. So, for a few hours over the last few weekends I’ve been playing around with recreating the core mechanics. I don’t really have enough time to create proper beats and hooks, so it’s just placeholder sounds. Anyway, Here it is, and it’s called ‘beatLines’.
In order for it to be of any use to people, I’ve provided the source code, so you can see how it was made, and go about making your own changes. I’ve commented on most of the lines to give a good idea of how it all works, so hopefully you can work it all out.
Whilst the game is under 200 lines of code, which is a 1/3 comments, it still isn’t the best way in which to make something like this…why? Well, I wanted to cover some things that might become useful in your future developments. The main things that are covered here are…
Turning scripts on or off
Assigning objects to GameObject variables at run-time.
Setting min/max int values
Basic input from left and right mouse buttons
Referencing static variables from scripts attached to other objects
So, for example, each time we click on a waypoint, we change the position it faces. We are in fact loading a new texture. We would be better off actually using one texture and rotating the object to actually face the desired direction. If you want to experiment with optimising the code further, then it’s all setup for you, otherwise it can act as a nice reference point to see how you can do certain things…
It’s desperately crying out for some really cool beats, because at the moment it’s just placeholder sounds. If you want to add your own stuff, go ahead. Alternatively, if you’d like to contribute some sounds, then give me an email.
Sounds provided by http://www.superflashbros.net/as3sfxr/ (thanks to @iainlobb )
After a year of on-off development, I’ve decided to make the playable prototype version of Starlings available for download. This build represents around 4 months of development, from late January to late May, and is what I handed in for my final year university project.
Whilst it’s not everything I want to put into the game, it represents everything that I initially set out to do, which in turn is actually everything that was realistically possible with a one-man team.
Starlings is available for Mac and Windows platforms.
Move mouse to adjust flight direction
Left mouse click to reduce flight speed
Right mouse click to take screenshot (screenshots are saved in the games root directory)
Hold C for change to cinematic camera
No input from keyboard or mouse for 5 seconds will activate the auto-flight and pause menus.
Loading Starlings for the first time can take a while, please be patient…there’s no progress bar on the splash screen, but it is working :)
What is Starlings?
Starlings was my final year university project for London South Bank University. The aim was to create a game that put into practice core game design theory concerning player rewards and immersion, as well as creating a game that aimed to be unique within the industry. Whilst Starlings was predominately a one-man project, a special mention must go to the Unity community that supports the engine and it’s users.
The music was created by Christopher Chong, who also created the awesome jazz-fusion soundtrack for Beatnik Games’ ‘Plain Sight’ which was released on Steam earlier this year. You can find out more about Christopher on his website, www.majorc.co.uk
One of the core components of the game is the way in which the player is rewarded for playing the game. The goal is simply, collect birds for your flock. The obvious reward for the player for doing this is the increased visual experience of the flock growing in size. However, as I believe that audio plays an incredibly important role in creating the overall experience, I wanted to also reward the player through audio. What I decided to do was to have a soundtrack that progressed along with the player, so that it not only matches the visual experience, but builds along with it. Christopher brilliantly describes it as a ‘gameplay-adaptive orchestral score’.
Immersion is one the ‘buzz’ words of the industry at the moment…pick a handful of reviews from the big AAA games of the last 3 years and I guarantee that 80% will have the word ‘immersive’ in it. The strict definition is something that provides stimulation to a number of senses, as well as sound and sight…however in terms of video games, it’s usually applied to those times where you get completely drawn in by the experience and forget your even playing a video game at all. Despite how much effort is put into creating an ‘immersive’ experience, it’s always over in an instant when the player decides to press the start button and pause the game. This is something that I wanted to explore in Starlings.
The first point of contact when playing Starlings is the Start screen, and I felt that in order to quickly draw the player into the experience, then I didn’t want a simple static image, where the user simply presses start. By placing the title and options in the game play environment allows the user to become familiar with the surroundings. The next challenge was transitioning from the menu to the game play… By having the camera fly through the environment meant that I had an opportunity to also introduce them to game controls without having to hold their hands. The idea is that by the time the camera has made it’s way to the start of the game the player not only knows the controls, but has a good understanding of the environment.
The next challenge was maintaining the immersion whilst dealing with the user-interface and pause menus. As previously mentioned, a player is always one button press away from removing themselves from the experience. The challenge isn’t stopping the player from pressing start and removing themselves from the experience, it’s doing it in a way that is in context with the game itself. In order to achieve this, I decided that all the player needs to do to pause the game is stop moving the mouse. If there is no movement of the mouse for 5 seconds, the flock will go into an auto-flight mode, and the camera will automatically change to a cinematic viewpoint, and the options menu is displayed. The aim of this method is to allow the player to gradually remove themselves from the experience, like a feathery come-down…rather than an abrupt wake-up call.
As previously mentioned, there is a lot that is possible with Starlings, but I think at this point the most sensible thing to do is move onto a new project. One that isn’t so ambitious. I’m using this opportunity to upload the prototype build as ‘closure’ on this project, allowing me to move on from Starlings.
Whilst working on some freelance work, I’m also currently working on a more traditional, puzzle based game, which I’m hoping to show very soon…
Thanks to anyone that’s ever show the slightest bit of interest in Starlings, I really really appreciate it….If only even 1 person gets some joy out of it, then it’ll be very much worth it.
PS…I get a lot of ”isn’t it just Flower?” questions….well, isn’t Quake just Doom?
It’s important to be honest with yourself and highlight the errors that you make when trying to develop something. Some of the biggest errors I’ve made is in the ‘marketing’ of Starlings up to this point.
For my dissertation I looked at blog marketing, and how it can be used to market indie games at low cost. I learned a hell of a lot from that and used that to increase the visibility of Starlings and myself as a developer. The way in which I handled this increased visibility led me to forget what the overall goal for the project was, and because of this I decided to move those metaphorical goal posts from a lovely rural field and put them slap-bang in the middle of Times Square.
To cut a long blog post short , I’m reverting back to my original design document for Starlings and I’m sticking to what I originally wanted to create. Why? Well, importantly, it’s well within in my means; and a well executed, small project is 100 times better than over-reaching, reach for the sky idea…which has a high probability of never being completed.
Neil Holmes, from Blitz1Up told me that it’s rare for a developer to finish a personal project like this one, but when it is, it really counts for a lot when applying for jobs within the industry.
You can get the full Starlings blog post here