Assignment 3

For this assignment, I was matched up to two start-up companies in the Nexus Innovation Center, so that I could learn more about what they do and ideally leverage my skills to help them in some way. The two companies were Widger Financial Planning and Bundlbee, who are closely related, with one having grown out from the other. Another student was also assigned to these companies, someone from the Digital Media and Design course. We met with the companies on the first day and discussed potential projects for us to help with.

Widger Financial Planning, as the name suggests, provide financial services such as investment advice, retirement planning and general financial advisement. We met with Carl, the founding member, who proved to be an innovative and creative man. He was very open to our suggestions and ideas but also had his own solid plans for improvements that could be made to their website. They currently have an embedded video that explains what the company does and how they operate. Carl was hoping to update the video and improve the quality a bit. So Simon (the other student) set about producing this video and filmed the requisite footage. To give you an idea of what the video should get across, here is the current version:

Simon needed someone to put together some graphics to for the transitions, title screen etc, so I mocked up a couple in Adobe Flash. I had some previous experience using the animation software but it was interesting to learn the newer version. I found it much easier to use that the version I had long ago. It didn’t take me too long to mock them up, show Simon and then make the changes needed. The video isn’t quite ready yet, Simon is putting the final touches on it at the moment.

Overall, it was very interesting to see how these companies operate and what they were working on.

Advertisements

LampTree Applications: A Business Plan

As part of an assignment for college this semester, Ray, Luke, William and I came up with a business plan for a start-up company. We had to choose a product/service for our company and then develop an executive summary of our business. We all came up with a few ideas and then had our first meeting to decide on which product to develop further. We settled on my suggestion of providing a bespoke tablet application/operating system to coffee shops. My idea was inspired by the talk “How to open a bar in Python“, presented by Edward van Kuik. Edward had opened his own bar and developed his own software instead of purchasing proprietary Point Of Sale systems. His bar also has a cool novelty feature whereby each table has its own telephone which can be used to call other tables, the bar, access a talking clock etc.

We saw great potential in this idea and developed it further, tailoring it more to the lucrative coffee shop market. Lots of people use their smartphones to catch up on email, browse the web etc while having their coffee. Others can’t avail of the free Wifi provided by most premises these days. Why not provide tablets to every customer so that everyone can enjoy the benefits? The software could handle ordering, menus and deals as well, saving valuable time for the business and cutting down on wages. We also thought we could develop a gamification aspect to the app, encouraging user interaction and establishing a stronger sense of ownership of the cafe to customers.

We worked quite well as a team, everyone contributed and made their own input. We used meetings in person, email and google drive to collaborate. We used Powerpoint to make slides for our presentation to the rest of the module. We feel that we came up with a plan that has great potential and gave a good presentation, proving that we could pitch the idea well to potential investors.

The presentation slides are available here. The executive summary is available here.

Gaming and War

War is a common theme in games, and always has been. As long as there is war and conflict in this world I expect games will continue to emulate, simulate and idealise the methods, machinery and nature of it. It is a sensitive topic, for very good reasons, but I fail to see why war games occasionally generate such fuss in the media. Anders Breivik hopped on that media bandwagon in an attempt to garner more attention for his manifesto, focusing on how he played Call Of Duty to train for his horrific massacre. Does that mean that Call Of Duty is a dangerous training tool which should be controlled? Of course not. Anyway, I digress from the purpose of this post, namely to discuss some examples of classic types of war game.

My favourite example of a Real Time Strategy war game is probably Medieval 2: Total War. I must concede that it does also have turn based elements so it is not strictly comparable to other pure RTS games like Age of Empires. However, it is the real time battle simulation that really stands out in this title. Few other games really make you feel like you’re in tactical control of an army, fighting large, desperate battles set in the Middle Ages. The turn based campaign mode provides important context and meaning for every battle, making the valiant defense of your last stronghold on the continent all the more vital and of strategic importance. The campaign mode also introduces layers of economy, diplomacy and even politics, preventing the gameplay from stagnating as bloody battle after battle. It even managed to be educational, the story being campaign scenarios based on real history. The game also provides factual information about any given unit and their tactics. The engine was very impressive for its time, with individual unit animations and particle effects really adding to the chaotic realism of the battlefield. In my opinion, the Total War series provides the best simulation of historical wars and the strategies involved therein.

The other classic bastion of war games is the First Person Shooter, recently riding on a wave of success. It seems that every other AAA title released these days is a first person shooter, often attempting to simulate modern infantry warfare. My personal favourite in this genre has got to be Battlefield 3, which has distilled everything that is great about the Battlefield series into one seminal title. The gameplay attempts to simulate most aspects of the modern battlefield, notably including direct vehicle control, something missing from most other modern war fighter games. While being as realistic as is reasonable, the game also tries to ensure that the ‘meta’ gameplay is fun and enjoyable, at the cost of some realism. The focus is largely on team work, with different classes of soldier all performing different roles to benefit the whole. The Frostbite 2 engine that the game is built upon is just spectacular, making for incredible immersion in an ultra-realistic environment. The graphics, physics and audio elements all combine to make for an adrenaline fueled gaming experience. I think it is the realism provided by the engine that really makes this game stand out from all of the competitors.

To summarise my thoughts on War Gaming, I must say that I find it to be quite an engaging and exciting genre. While I personally would not like to fight in a real war, I think these games capture the rush of modern warfare quite well, without the real life risks. The genre may be doomed to repeat itself for as long as war exists in human society but I think there will always be room for innovation and unusual viewpoints to be expressed. I’ll finish with a quote from one of my favourite authors, Rudyard Kipling;

War is an ill thing, as I surely know. But ‘twould be an ill world for weaponless dreamers if evil men were not now and then slain.

Konane AI Agent

For a module called Intelligent Systems, that I did in second year, I had to implement a recursive Minimax driven player for the board game Konane. Konane is a Hawaiian board game quite similar to checkers. We were given a framework for the game in Java and had to implement a player abstract class to create MinimaxPlayer agent to play against randomPlayer.

The challenging part was that our solution had to be adjustable to compute different numbers of ply into the decision tree. This meant that it essentially had to be a recursive algorithm traversing tree, which was a difficult thing to program for me at the time. I put a lot of effort into making the code readable and documenting it properly. I left in a few debug statements for clarity as well because I wanted to make the code straight forward to understand for the teaching assistant’s sake.

KonaneAgent

I think it was an important individual project that I undertook and I felt that it was a nice challenge to my Java skills. It isn’t the nicest code I’ve ever written but it works and is pretty well documented. I enjoyed seeing the logic I had written beating randomPlayer and SimplePlayer consistently. All of the class’s bots were then put in a tournament together and placed to determine their relative ability. I was pleased to see that my simple but robust solution performed well and placed in the top ten, despite my misgivings at its simplicity.

It’s a Frog’s Life: XNA Challenge 2011

The XNA Challenge is another event that takes part in the annual Games Fleadh in LIT Tipperary, aimed at second year students and above. The challenge has a theme of a classic game every year and contestants (either solo or in a team) make a related game using the C# XNA framework platforms.

Myself and a friend, James, decided to enter. However, we made this decision very late with only two weeks before the deadline because at the time I had been working on a contracted project that fell through. We were very busy with college at the time so James could only lend a bit of time towards the project. He very kindly managed all of the artwork. I had a concept and idea in mind so I just got stuck into implementing it. My previous XNA experience from Open Emotion Studios and a college module meant I was fairly comfortable with how to go about it.

I did manage to get a complete working version together in time through hard graft and late nights. It lacked polish and the visuals were basic but I was proud of our achievement. We did end up getting a category prize for ‘best original story’ due to my concept of dealing with the three life stages of Frogger, which was a nice bonus. The learning outcomes and the sense of achieving a difficult goal I set for myself was more important to me though.

I got a good measure of my programming skill and ability to work under pressure. I was mostly applying the skills I had developed over the year such a systems design and object orientation. Taking part was definitely a beneficial experience for me.

Splash screen for the game.

Robocode Ireland 2010

In my first year of college I took part in the Robocode Ireland programming competition for third level students. Teams of first year students from various colleges around the country take part in the event which involved programming a virtual battle tank AI to compete with others. Robocode is a Java based programming framework designed to provide an engaging way to improve coding skills but also provides for complex machine learning study.

Our lecturer Chris mentioned the competition in a lecture towards the end of first semester. At the time I was bored with our college labs which were not challenging me, so I decided to look into Robocode. Several others were interested so we set up a challenge match to decide the official three man team. So we each built a bot over the week and battled. William, Ray and myself went on as the UL team to win the competition that year.

Tipperary Institute Games FestPicture Credit: Brian Gavin

Myself, Ray, Will behind Pacman and Blinky. Chris Exton our mentor is on the right.

The project was an important step in my learning to program, it was my first proper team coding experience and taught me that teaching yourself programming is straight forward. It was my first experience of an event driven system and I had to learn several concepts we didn’t cover in lectures. Working with Will and Ray was great, an interesting experience in group programming and debugging. I think that winning the competition helped me to get the internship at Open Emotion during the summer following first year.

My Dream Job and Career Goals

Personally, I find the concept of a dream job to be a naive idea, narrowing your options to one particular job seems silly. Instead, I prefer to consider a number of criteria that I expect a job to meet in order to be perfect for me. That way, I can have my ‘dream job’ in many different roles and individual workplaces. I’ll outline these criteria later on, for now I’ll focus on my choice of career. At this stage in my life, I’m pretty set on a career in software development, for several reasons; it is growing industry with plenty of lucrative opportunities, I seem to have an aptitude for the requisite skills and finally, the subject matter genuinely interests me. Specialising in game development would be a bonus incentive that would serve to keep me motivated, as gaming is my favourite pastime.

While I initially thought that I would like to be a game play or level designer, I feel pretty certain now that I’d be best employed as a programmer. Perhaps my career will eventually lead in another direction but for now I want to ‘sling code’ as they say. What I want most from my ideal job is to be respected and appreciated as an employee i.e be fairly compensated for my time, have flexible hours, good perks and a pleasant working environment. I also need to be interested by the work I am doing in order to be properly motivated so I intend to find work in an area that truly engages my interest. Another factor that I find very important is the social atmosphere within the company, working alongside similarly interested and motivated people is a large part of what makes a workplace enjoyable for me. I think that there are many companies and studios out there in the industry that satisfy these requirements so it’s just a matter of finding them. I think the benefit of this is that I can fit my career around my life choices rather than vice versa. Regardless of what country I want to live in, I should be able to find suitable work.

Having said this, I think that Bungie Studios stand out as an ideal place for me to work. They stand out as industry leaders in their field, having invented many staples of modern computer gaming, and everyone at the company is clearly extremely passionate about their work.

Bungie Crest

The company is well known for being in touch with it’s customers and also giving back to the industry by sharing it’s publications and interviewing their employees with a view to help people breaking into game development. I found these resources most useful while deciding on a career path and throughout my studies at university. The other thing that attracts me to this company is that they independent which mean they are only concerned with their own interests and not those of a global corporation’s headquarters.

The last thing I feel is worth mentioning on this subject is that the company where I did my cooperative placement, Demonware, certainly satisfied my criteria as regards an ideal job. So even my very first job within the industry could be considered a dream job for me! The work was interesting and engaging, the compensation ample and the working environment was incredible. There were numerous perks on a daily and weekly basis, amazing coffee, pastries, fruit, juice and beer to name a few. As a full time employee, there are even more great benefits such as medical insurance. The atmosphere at the company was so pleasant with everyone working hard together. Everyone there was very friendly and helpful towards each other. So I am very hopeful that my career will provide many opportunities that I will enjoy thoroughly.

Predator, the other interns and me in the lobby of Demonware