Un-versity 2013 Blog

What I'm working on…

Startup Engineering Class – Week 3

So I have just finished watching and reading the lectures, this weeks material was a lot more interesting and engaging. This was mainly because the lectures moved on to show how the work can be done in a Linux environment. As I have only a little experience working with Linux, I found the material to be extremely helpful in teaching basic commands such as:

mkdir <foldername>   = to make a new directory
touch <filename>       = to make a new file
ls -alrth                     = lists all files info in directory with permissions etc.
Also how to installing files and also edit files through the ‘nano’ command, before making them into executable in the command line via chmod.

However I still found the homework assignment this week a bit useless, don’t get me wrong it was better than week one. (As the first homework only checked that accounts where setup.)  The second homework assignment didn’t involve any coding, instead it required the user to read a java script file and answer questions relating to the files code. (Most of which could have been answered without watching the lectures.)

I can only hope that the work next week will start to look more at making our own code and hosting it on a virtual server. Fingers crossed.  😛

Advertisements

Game Update: 2.

As mentioned previously in my first post, I am making an android based ninja game. Once finished I plan to release onto the game onto the android market (to hopefully gain some money for my work ;-)) and also use it as a new portfolio piece. So now almost 3 weeks have passed and I still haven’t posted any updates about the game, terrible I know but I have been making progress on it!

So now it’s time to actually write about my progress……. Should be fun 😛

Overview of the game:

OK so the game is designed to be a simple 2½ D game which incorporates 5 separate basic mini-games that are used to advance the ninjas skills. The user starts the game by becoming the new head of an old, failing ninja clan who live in a run down dojo. The aim of the game is for the user to improve the clan, making it more powerful and influential by completing missions. (which range from spying on, assassinating or kidnapping someone.) In-order to complete the mission the users must train their ninja students so that they are able to perform certain ninja skills (such as throwing a shrunken etc.), where the skills can only be learned and improved upon through completing a level on the relevant mini-game.

Once trained the students are used to complete the main missions. (Where the user gains an item upon completion) If a student dies on a mission, a new one is required to take their place. If there are no students left, then the mission fails and need to be retried once more ninja have been trained.

Mini-games:

Each mini-game relates to a specific ninja skill that can be used in the main game to complete a mission. There are a total of 5 games each designed to have 3 different skill levels. I’m only going to give a brief overview of how the mini-games will work, as I’ve now been writing for quite a while (and I could easily go on for another few pages describing the design etc. for each of the mini-games)

So each of the 5 games will cover a specific skill: ranged combat, close combat, stealth, evasion and disguises. Where each skill can become more powerful/ effective by completing the next level of difficulty in the mini-game. The aim of the mini-games was to reflect the particular skill they are meant to cover, for example the evasion mini-game involves the user having make the ninja dodge objects until they reach the finish line.

When a difficulty level is completed in a mini-game an item relating to that skill is unlocked. (e.g. tonfas or a samurai sword etc.). The items are used to equip the ninja so that they can do better on the main missions.

So that is a basic over view of my design, I’ll post my drawings detailing the game in my next post once I’ve scanned them. I should be starting the actual coding soon as I plan to create each of the mini-games before I start to develop the main game.

Stay tuned for the next installment! 😀

Coursera – Startup Engineering!

So, as I was surfing around the Coursera classes seeing what ones will be starting soon (I occasionally do this when I’m feeling bored or wanting to try something new) I found a course that sounded interesting “Start-up Engineering!” by Balaji S. Srinivasan & Vijay S. Pande from Stanford University. The aim of the course is to help enable people to start technology companies or labs and scaling them up.

Course Description:

The first part of the course will cover modern software engineering principles with a focus on mobile HTML5 development, taught via in-class lectures with online questions and programming assignments. Guest lecturers from top Silicon Valley startups (including Uber, Coinbase, Meteor, Square, Stripe, AirBnb, Twilio, Taskrabbit, Judicata, Counsyl, Twitter, and Asana) will bring these concepts to life with real engineering problems from their work.

In the second part of the course, you will run a crowdfunder to attract pre-orders and/or social media attention for your startup product. Specifically, over the course of the homework assignments, you will progressively develop a node.js-based crowdfunding application and populate it with your own startup idea, which you may have brought with you at the outset or else developed over the course of the class. Your crowdfunding app will be prototyped as a simple command line application, exposed as a webservice, and (at your discretion) integrated with other students’ webservices to create a simple crowdfunding site. This site will be designed for a mobile HTML5 target via use of Twitter Bootstrap, will support basic social sharing functions, and will optionally accept Bitcoin for payment.

What’s happened so far:

Week 1: The first week of lectures only covered the overview of the course and some general background of web based engineering, such as the history, how its been used, methods of implementation etc. It was interesting but to be honest it was also a bit boring as there was nothing else to do. (No programming work, just more background information to read.)

Week 2: This week became a bit more interesting as we where introduced to the software that will be used as well as signing up to them. We will be using Amazons Web Services to create an e2 virtual server to act as a cloud computing platform. The next piece of software is Cygwin, like Putty it creates a Linux like environment for windows. We where also required to set up a Github account, which is used for software development projects, where the user can get, modify and share code with others users. The final site that we had to sign up to was Heroku which is a cloud application platform which deploys your app, manages your processes, and routes traffic etc.

After all accounts where created, we where then guided through creating our first online application, using the traditional Hello World program! You can see it here: http://evening-oasis-8982.herokuapp.com/ but it’s just what it says: Hello World!

That is as far as I have got with the class at the moment, however the work for week 3 has just been released. So now that all the software has been set up, and everyone has created their first application, the class work should now become more fun and interesting!

I’ll post another blog about this in a week or two (depending how eventful the class work is!) Hope you enjoyed reading the post and let me know if you are also doing this class. Till next time! 😉

Portfolio.

After years of listening to lecturers expressing how important portfolios are, and classes explaining how to make an effective website portfolios, it finally sunk in that surprise, surprise you do actually need to have a good portfolio if you want to get a job as a games developer. (A wee bit late, but better late than never! 😛 )

So now that I’ve finished my degree, and realise how important it is to have a GOOD website portfolio, I thought its about time to get the finger out, and get down to some work. And with me being a poor/ cheap-ass programmer who has just graduated, what better way to save some money and clear the dust off my old HTML and CSS skills in one go, than by putting them to use in creating a new professional looking portfolio from scratch.

Now I’m not claiming to be an expert or even that I know exactly what employers are looking for, but I thought that it may be useful to share what I found from my experience in designing and building my portfolio. So after a bit of googling, asking advice and some common sense, I found that the following pages should be covered in some form when creating an e-portfolio:

The ‘Home’ Page – The home page is in my view the second most important aspect of any portfolio website, where the only thing more important is the portfolio work itself. This is because it is the first page anyone sees when they visit your site, and lets face it, first impressions still matter!

Because of this I thought that the home page should have a clean and clear look, so that the user will not be overwhelmed by large amounts of text and images when they first visit. So for my home page I decided to only included a brief statement about me and also a small list covering my general programming skills. But in my view the most important aspect for any home page, is the image slide-show, which cycles through images from a portfolio. I think this is important, as the images that are shown will be the key to make the people who look at your site think “Wow, I want to see more of this!” making them want to look at your work and site in more detail.

The ‘About’ Page – At first I thought that the about page should explain who I was as a person such as my hopes and interests etc. However I later found out that I was wrong, employers do not care who you are as a person, well that’s not completely true, however from what I have been told by some working developers is that, employers only want to read about your skills and abilities through your website and only if they like the look of you and your work will they then invite you for an interview, so that they can find out what your like as a person and if you would make a valuable contribution to their team.

So the main point here is: talk a little about yourself, not your whole life story but explain why you want to be a games programmer, highlight all your skills saying what your good at and what your not so good at. But whatever you actually do write, just make sure that it conveys the fact that you are enthusiastic and eager to learn!

The ‘Education’ Page – Pretty self explanatory, like on your C.V this should ONLY contain details about your educational achievements and awards (such as the title, grade and date awarded) including where you studied. Just make sure that this part is formatted nicely so that it is easy to read and search through.

The ‘Work’ Page – Again this is the same as the Education page but about all your work experience if you have any. (Both programming and non-programming jobs should be included!) Any job that’s listed should state the company, dates you worked there, your job title and details about the role. (descriptions should be succinct!)

The ‘Portfolio’ Page – As mentioned earlier this is the most important aspect of any portfolio as this is the corner stone in which you build your career on. Because of this, you should only show off your best work! I can’t stress this point enough, you should only have a few of your best pieces that show your skills, rather than having lots of mediocre pieces of work. There is one simple reason for this, if an employer only looks at your best work, then they will only see your skills at your best, however if you put up your best work with all your other work (some may be good but lets face it, most will be mediocre!) Then the mediocre projects will drown out the great ones leaving the employer thinking your only an average programmer.

On any piece you decide to add to your portfolio make sure that you cover the following points: Include the projects title, have images and/ or videos of the project working (use the correct aspect ratio on any images, don’t squash them!), explain what the project does or how it works, explain what YOU personally done in the project (in clear detail, but also keep in mind that not everyone reading may understand programming stuff, so try not to use too much techo babble!) And finally you should have a link to any project files that you want to show off, like source code files or an installation file etc.

The ‘Contact’ Page – Seeing how it is pointless in creating a great website, that makes people want to hire you, if they can’t contacting you through it. Your contact page should contain any information that can be used to contact you, such as your e-mail address or links to your social networks (Twitter, Facebook and LinkedIn etc.) Contact forms can be useful as a viewer can fill out the form on your site and the message can be sent directly to you. Some people include photos of themselves on this page while others don’t, it is just a matter of preference.

General points – When designing the web pages, it is good idea to have a link on every page that can be used to contact you. Also your site should have a copy of your C.V. In .doc format so a viewer can save it and looked over it at a more convenient time. Also pay attention to the layout and colour scheme of your website, because having a poor layout or using the wrong colour scheme can make your site to look uninviting, cause viewers problems when reading text and generally making the site look unprofessional. If you decide to add a blog onto your site make sure that you only use it to discuss relevant topics like your progress on a project, not a personal rant about why the Xbox One is better than a PS4 etc. Lastly remember to keep your portfolio up to date!

As I previously stated I am not an expert, I just thought that it may be helpful to share what I found/ learned through my experience in creating my e-portfolio. I only hope that someone actually finds some use from this post so feel free to share if you find it helpful.

Here’s a link to my site as an example: www.mpypeters.co.uk

Feedback, comments and suggestions are always welcome 😉

Progress Update 2.

Ok, I know I haven’t updated this blog in a while but that is only because I have been working on a few different things. Because of this I’m going to write a few separate blog posts covering what I have been up to these last couple of weeks. But here is a brief over view of what I have been doing, first of all I got my results through! 😀

I got a 2:1 which means that this September I will be moving up to Dundee to study for an M.Sc. in Computer Games Technology at Abertay, because of this I have spent a lot of time applying for different grants and loans etc. to help cover my costs as there is little to no financial help for people who are trying to get a post-graduate qualification! I have also needed to do actual work in real life such as painting rooms, clearing the garage, general spring cleaning! 😐

So the first blog post will be covering the work that I have done on my e-portfolio… That’s right, I now have an e-portfolio! The second post is going to cover the Coursera class I’m taking: ‘Startup Engineering’. The final post will be covering my progress on my Android project, so feel free to read any or all that interest you and next time I’ll try not to leave my progress update off for so long! 😉

The Beginning…

In my view being able to designing and create a new game from scratch is the best part of any project and also the reason why I love making computer games!

So this summer I am going to improve my portfolio by spending time, designing and creating a new android game. To mark my progress when creating the game

I will be using this blog to monitor and display my progress with this project so to that end I will be using this blog to note my ideas, thoughts, plans and any progress notes that I have with this game.

The game is a ninja inspired idea, where the player is the head of a poor failing ninja clan. The player must train and improve the skills of the clans ninja students by training them and also sending them on missions to improve the clans status.

The end goal for this summer project is to release a complete version of the game onto the android market. Where it will hopefully make millions!! 😀