[color=#ff8c00][font=arial]About me[/font][/color]
[font=arial]Before proceeding, a few words about me to get this out of the way. My name is Joao Farias, I'm from Portugal and I recently finished my B.Sc. in Computer Science. While I'm looking for a job in the games industry, I'm working full-time on this game.[/font]
[font=arial]Now that that's done...[/font]
[color=#ff8c00][font=arial]The Game[/font][/color]
[font=arial]H.A.C.K. has been stuck in my head since 2012 when I replayed Uplink. Needless to say, it's heavily inspired on it. If you've never heard of Uplink do yourself a favor and go play it![/font]
[font=arial]Set in a futuristic world, the player finds himself drawn into the hacking scene. He'll learn how to find and exploit vulnerabilities in computer systems, how to create virus, worms and backdoors, and, ultimately, how to control the world.[/font]
[font=arial]It features a live economy where companies can grow or go bankrupt, people have jobs and money changes hands. News stations keep the player up-to-date with recent events, not only about hacking but on a variety of topics like technological advancements or world catastrophes. Hackers are more active than ever and not even the player is safe. [/font]
[font=arial]I want to make H.A.C.K. a bit more realistic than Uplink while maintaining the same Hollywood hacking experience. Instead of tools that can be bought to hack anything, the player starts unskilled and will gradually learn how to find and exploit vulnerabilities. These let you access specific data from a computer without getting full access to it, which is much stealthier. This means the player has a wide array of options on how to perform any attack, giving much more diversity to the gameplay.[/font]
[font=arial]There will be a main story and a few side stories to entertain the player. He is completely free to do whatever he wants though, even ignoring the main story.[/font]
[color=#ff8c00]
[font=arial]Planning[/font]
[/color][font=arial]Although the first week of development is finished, long weeks of planning took place before that. I won't get into much detail. I'd just like to make some comments on what I did, why I did it and what tools I used.[/font]
[font=arial]In the last couple of years of my degree, I came across several projects that were too complex to execute without decent planning. We did UML, sequence and use case diagrams in order to understand exactly what the project required from us and how we should face it. I figured that games should receive the same treatment, for in their core they are software programs designed to entertain people. So I set out to plan my game...[/font]
[font=arial]Throughout the years I have been taking note of things that came to mind in text files or on the phone. I started by putting all these together and cut out what was not interesting anymore or felt out of place. I used XMind for this and, although I was expecting a bit more control on how things were structured, I wasn't disappointed and it felt like the right tool for the job.[/font]
[font=arial]After that, I created the Game Design Document. There is much controversy on the subject of its usefulness - especially for a one man team - and after scrolling through dozens of threads and articles on the matter and finding interesting alternatives, I still chose to create a GDD. And I feel I made the right choice. Creating this document made me ask many questions I wasn't asking before and I realized that some of my uber-awesome mechanics weren't that good. Now, I stand on solid ground and I'm able to move forward.[/font]
[font=arial]UML came next. I haven't gone to the lengths of creating sequence or use case diagrams, but a good UML diagram is indispensable for me. I created one online on GenMyModel.com, but it came out of beta yesterday and is now free only for open-source programs. I'll have to find another alternative so if you happen to know about a good free one, leave it in the comments please.[/font]
[font=arial]Last but not least, came the project management. I wanted to set goals and deadlines, specific tasks that I should follow so that all pieces come into place. Trello was what I had in mind, but I took the time to look for other options and found Asana. It has a bit more of a learning curve but I find it to be much more flexible than Trello. It also integrates well with Harvest, a time tracking tool - out of curiosity, I spent 30.07 hours on development this week. Speaking of time, I will be using the 5,1,1 routine. I read about it in this great article that I advise you to read if you haven't already. I decided to embrace this routine with a slight difference: Sunday will be my weekly update day. While I won't be entirely away from the project during those days, I won't look into code. I'll give you some feedback on how this is working for me in a few weeks.[/font]
[color=#ff8c00]
I had a ton of fun with Uplink. I'll be interested to see how you progress. Try to keep a robust quest (mission) generator in mind while you develop it. :)