Last week I was fortunate enough to finally release my very own football manager app! 5 A Side Legends.
More details can be found on our website.
Another Successful App Launch with Dubit,
With my work on the prototype and some feature/bug fixes, the whole experience working on this app was amazing. A brand and client as big as Bob the Builder doesn’t just happen by mistake. The whole team here at Dubit worked our socks off for this one, good job everyone!
It was a great journey to be a part of, it was my first project when I started at Dubit and it’s great to see the final product out in the world. Some great stats/data coming out from the stores and users about the app. Long may it continue and hopefully we get to make some updates!
Made over the period of 8 months or so, it was a great joy to be a part of. I was tasked with:
Great work by all the team at Dubit.
Recently at Dubit Limited I got the chance to demo a product for a client. The prototype was a 3D city navigated via draggable vehicles. A player could interact with the world, complete objectives and play in the car mat demo scene with 10+ vehicles. Great fun to make and lots of different problems to overcome. Made in Unity 5.1 and below is a video made from that prototype.
Today’s topic is about how to automate your development process. At Dubit there are strict coding standards, large development teams/structures and constant development of products. My old development style would have not kept up to the pace that Dubit expects. I had to change my process and one way of doing this was via automation.
When I write automation I mean making computers do tasks you shouldn’t be doing as it wastes time. I am going to pick on three things: Building, Code Standards and Asset Editing/Unity Tools.
I like to walk but going over to the office development mac and creating an IOS build was becoming a chore. Not the walking itself (which is at the other end of the office) but why all the hassle of creating a build manually. After doing an IOS build then the android build and a PC build thats roughly 30 mins of wasted loading bar watching and walking. The solution is to have someone else build my projects and let me know when it’s done.
Unfortunately I cannot afford to pay an assistant to sit at the PC and wait for my signal, I settled for using the Unity Cloud Building Service. It was easy to set up and free. It can do the builds I need as I work on my projects without having any interact with me during. I get a email letting me know what has built and the change log to go with it.
While it does remove the much hated waiting for builds issue the biggest issue it removes is me. To clarify it removes me as a dependency for the project. The project can swap me for another developer and the build process is the same and no human error because I’m no longer there. What’s great is currently on my way home I can get a build email on the bus, install and test the latest version on my way home and so can everyone else on the project. Free Quality Assurance/Testing.
I spoke in my last post about code reviews and this process can eat up loads of time. It eats up time on both ends the reviewer checking everything and the publisher fixing issues. I wanted to remove as much reviewing time as I could on both sides as a reviewer and as a publisher. One way I came to was to have something check the code for the strict code standards for me. This is achieved via StyleCop an editor extension for Visual Studio.
It will scan code for any rules that are broken which I have defined prior. This helps reviewing code by opening the project in Visual Studio and scanning it for any code standard issues. Then on the publishing side I know my code is adhering to those standards via the scan performed on my own project. Before I publish my code for review one quick scan and I can stop the reviewers picking up on small tiny problems in the future.
This is just one developer solution though, a more comprehensive solution is to use pre-commit hooks to check code before pushing to the repository which makes every developer adhere to the standards.
This is more conceptual and not a specific tool like the last two. I currently work in Unity and many Unity developers will know the engine allows access to a wide range of editor functionality. I have found these to be of great use in the past. For example we had a large game with hundreds of audio files in the project then we were required to edit all of the audio files (compression settings etc). Manually this would have taken days if not weeks and we would have most likely missed some or done some incorrect. A quick search online and I find out how to change the settings of an audio file via a window in Unity then another quick search for how to get all files of a particular type in Unity.
After combining the two and making a nice little window of the tool we have a automated audio settings editing tool built in our engine. Was fun to make and a great learning experience as well. Any number of tools like this can be made to help your game development from behind the scenes and stops you wasting valuable time.
These three automated tasks have reduced human error, time and dependency which in turn improves the project as a whole. The more tasks a computer can do the more time I can spend perfecting the code base, structuring and code development. I highly recommend trying to automate more jobs you might do a daily basis as the fun in making a tool might also teach you something and help you in the long run.
Thanks for reading!
Good day Reader,
I have left my last company (Route One Games), which was a great experience and I wish the team we had there the best of luck in the future. I joined Dubit Limited in May of this year and it has been amazing so far. Dubit have helped me develop my coding skills and learn some new things while working on some interesting products. I am hoping to update my blog with some interesting knowledge gained from my work here at Dubit and to kick it off I thought I would start with the biggest change I have encountered to my workflow.
The Devil You Know – Code Reviews
My biggest fear for a long time is people looking at my code and for good reason. Past projects haven’t had code reviews and most of the time the only person to look at my code is myself. So coming to Dubit was interesting when I found out there was standards and strict code quality that all developers follow. Dubit keeps these standards adhered to via the use of code reviews.
This leap into a (virtual) room full of people looking/commenting on my code has been the best thing to happen to my development. It has helped me see where my coding standards should be better and not just in performance or structure but general coding we take for granted sometimes.
I have enjoyed code reviews and I really enjoy reviewing other people’s code to learn why they choose particular methods. I would encourage other developers out there to try it sometime even if it’s with just your peers, everyone here at Dubit help no matter what skill level you are at. It can sometimes bring your morale down when you have missed some things you thought were fine but it boosts your confidence for the future knowing when people use/look at your code it is understandable, readable and efficient.
To finish off this section off some useful tips I have for doing/experiencing code reviews:
I hope this helps you towards doing code reviews or given you some ideas for next time. I hope to also have some videos/pictures of my work from Dubit up here soon but we shall see. Thanks for reading!
Recently I joined a team in Sheffield, Route 1 Games. Contract based work creating games/apps/software for clients. Released in August this year we completed the Blue Chip Poker Club game on Facebook for a client.
Link to game: https://apps.facebook.com/bluechippokerclub/
I was a developer on this project in charge of:
The front end client was created in Action Script 3 using Adobe AIR and we used Smart Fox to handle the back-end side of the project. Learning both of these technologies has helped me have a better understanding of programming when undertaking a server-client based project, something I have never done in my time as a programmer.
After releasing a poker game earlier in the year with Route 1 Games this product had a great flow to the project and we aim to improve the product further.
I have just completed my final year at University and my results are in. I came out with a 1st, I am very happy to achieve this grade after a long four years. It has made my family and friends very proud of me and I enjoyed my parents faces apon learning my grade. On top of this I am currently six weeks into my new job at Route One Games as a Graduate Developer.
My role at Route One Games includes:
-Using Action Script 3 to develop Facebook applications for clients
-Tracking/Updating bugs using mantis
-Managing my own time to create new content and features for clients
-Using graphics editing software to prepare assets created by clients
-Using subversion to maintain the source project
I hope to continue the great start I have had at Route One Games and can not wait for my graduation any time soon.
Route One Games Website: http://www.route1games.com/
For my final year project I chose to investigate the development process surrounding creating a product for the Unity Asset Store. The investigation was intended to examine processes needed and issues found when developers created packages for Unity.
Using experiences gained on my placement year I decided to create a tool that improved users speed at creating objects inside Unity. The tool allows precise creation of shapes or drawing of objects into the world or scattering objects around randomly.
The project allowed me to improve my documentation skills, improve my knowledge of Unity and gain more experience in creating tools for a game development software. If I was to improve the product:
– More shapes for the Shape Tool or allow users to define their own.
– Improved preview of creations to give users a better understanding what is about to be created.
– Create a Rubber Tool to improve the speed in which assets are deleted in the editor.