Jonny_S

Members
  • Content count

    155
  • Joined

  • Last visited

Community Reputation

149 Neutral

About Jonny_S

  • Rank
    Member
  1. A bit of background I'm a professional developer specialising in anything .NET who has recently decided to take up game development as a hobby again. Up until the start of the year I hadn't actually touched any code out of work for a long time and hadn't done any kind of game development since the age of about 14 (that's around 11 years ago). However, recently I found unity3d and it's opened my eyes to what is truly possible and so after a couple of months playing around I committed myself to my first game idea. Planning Planning Planning The reason I think I failed so miserably in my younger days was that I just wanted to get stuck in and I had no plan of attack or implementation strategy. I have to admit this hasn't really changed; I'm a do-er, I like to see results and I'm motivated by witnessing my own achievements. This is great in work where I am regularly tasked with quick delivery and juggling multiple projects but in a hobby project with limited time to commit I realised motivation would be the greatest challenge. At the same time I didn't want to over do it, this was supposed to be fun and so what and when I finish a project shouldn't be of the greatest importance. With this in mind I firstly came up with 3 key milestones I new I had to hit: Develop a prototype - Focus on core functionality and game mechanics; Develop a polished demo - Focus on how I want my game to look and refactoring code from step 1; Deliver the *final version - Focus on level design and tweaking features already implemented in steps 1 & 2. [size=2]*Final being a first stable version Now these are fairly high level goals but they are the key phases of my game as I see it. Between steps 2 & 3 there will about a month gap where I unleash my creation on the world, acquire feedback and build that in to the next step. At the end of step 3 the process becomes a more iterative cycle of alpha / beta testing until I'm happy enough to unveil v1.0 to the wider world. Each of these goals then get broken up in to their own sets of milestones which I manage via trello (https://trello.com/) Above is a screenshot of my trello pad for the development of step 1. As I venture further and further in to development these are going to get bigger and less maintanable but for now trello is awesome. I have set my trello up as follows: 4 lists To Do, Doing, Done and On Hold. The On Hold list allows me to think up a feature that is nice to have but doesn't really fit in with the scope of what I am trying to complete to achieve my goal (as an example above, adding audio was a nice to have but not required for the first proof of concept). Eventually all On Hold items get completed or moved to the next step, this way none fall by the wayside. The cards are roughly in the order that I want to do them in. I don't put all the easy stuff in necessarily first because it is good to scatter "quick wins" throughout development to keep motivated. The cards are labelled with various combinations of colours - green means I can complete as of now red means the card is dependent on the completion of another card and the in between colours are different severities. Blue and Purple are reserved to mark a card as requiring an asset that I have not yet either purchased/downloaded or found. Due dates - These are very loosely set and are more to ensure that I achieve something in the little time I have to dedicate to the project. Pushing back a date on one card so I can complete another card for me is not an indication of failure. Sitting at my laptop and watching youtube videos is. The important thing here is that the level of planning I have undertaken gives me structure but everything is subject to change. If something takes me an entire day when I expected it to take a couple of hours it doesn't matter if I've achieved a goal and I'm happy with it. Progress? So this is all great on paper but how is it going? Well I have just finished step 1, I have a working prototype a good amount of base code and something tangible to talk about (which is why I have begun blogging). In terms of timescales on weekdays I can devote approximately 4-6 hours to development, I also have mammoth weekend sessions a couple of times a month meaning I probably dedicate 18-28 hours a month to the project. Step 1 from starting up unity to now has probably taken 2 months, so I'll get to delivering an actual final game just before I retire. In my next blog I'll discuss lessons learned from the first phase of development and share some more tips I picked up along the way. Final Note I'd like to think people will read this "series" and find it somewhat useful; however my real agenda is two fold 1) It's a great motivator, especially if people comment and show interest (otherwise I am talking to myself) 2) I have been out of the developer community for a long time despite being a developer full time; I used to be very active and I'd like to become more active again. I look forward to seeing you all again for part 2 (which will be much more exciting I promise).
  2. Thoughts on Development

    Where I work the turnaround times can be as little as a week, so coding standards and good design often goes out the window. In my previous job however the development of a product was long and drawn out and we stuck to very strict methods of development. However, once the product was finished and handed over to the support team they basically hacked it to pieces. So really my point is that it depends on the environment you work in :).
  3. Visual studio / Sharp develop 4.0

    Yes, you want the express edition.
  4. Development Studio

    Getting in there before Tom Sloper! Have a look at the FAQ on his site.
  5. Retro Text-based games

    Quote:If portability isn't a concern, is there any reason you can't use C# and System.Console? I imagine it's a lot more pleasant to work with than straight Win32 :). Have people still not heard about Mono? C# and the CLR are not Microsoft specific and so this shouldn't be seen as a limiting factor. In fact for a text based game I doubt you'd have to do any recompilation whatsoever to run on Windows/Linux/Mac**. **This statement comes with no guarantee and may actually not be as easy as I've made out :), but would certainly be no different to issues that could occur from cross platform C++.
  6. Java as a second language?

    As much as I disagree with how Antheus attacked the situation, the truth is pretty much all of what he said is how we were taught at uni, lucky for me I taught myself correctly way before going to uni :p.
  7. Visual Studio only?

    There are purists who claim when learning you shouldn't use an IDE, you should just use command line & a text editor. I'd say the opposite. Just to reiterate what others have said, having used all 3 of the above, if you're on Windows I genuinely don't believe there is a better IDE than Visual Studio, the Express editions are a thing of genius! If you're on Linux I'd suggest Codeblocks or Eclipse but I believe you could also investigate KDevelop (I'm not a linux user so correct me if I'm wrong). If you're a Mac user you could use the two either (Eclipse or Codeblocks) or I think you can use XCode, however I've only used XCode for Objective-C/IPhone dev. Hope that helps, there are loads of free IDE's but I'd say they are the most user friendly.
  8. Player Manager for iPhone

    I remember it! I'm very excited about this :). I wish you all the success, you've got one person buying the game already :).
  9. Quote:Original post by Saruman Quote:Original post by Jonny_S Apple haven't specified that you must use C/C++/Object-C. They have stated you must use the tools officially supported by Apple. This statement is incorrect. The developer agreement explicitly states that Obj-C, C, or C++ must be used. Also javascript is allowed as long as it runs through the webkit component. My Apologies, it's been a while since I read up on the subject. I got my wires crossed, what Apple actually state are that you are allowed to use any of the above but only with the documented apple api's. Just out of interest does this mean 3D engines such as Ogre and the already mentioned lua for scripting aren't technically allowed to be ported under the new developer agreement?
  10. Apple haven't specified that you must use C/C++/Object-C. They have stated you must use the tools officially supported by Apple. My take on it is this, Apple made modifications to the IPhone Developer agreement to prevent Adobe from releasing the "flash to iphone" conversion tool (can't remember it's name) and thus prevent a flood of crappy, potentially inefficient and non standard apps being released on to the app store. From what I've read apple don't want to allow the use of 3rd party tools or runtime environments onto the iphone for quality control reasons. The MonoTouch/Unity argument is that the binaries created use standard apple libraries and require no runtimes, effectively producing a binary 100% pure as if compiled using apples own suite of tools. I don't see apple going after MonoTouch or Unity because as stated there are already so many apps on the app store that use these tool sets. Having said that I'm not going to fork out $100's for a product that could be canned whenever apple feels like it. The reality is, with Apple's Iphone SDK and the wealth of tutorials anyone can create a crappy app relatively quickly and from my experience as long as the app does not break any terms of the developer agreement apple will approve it. So realistically I think it defeats the purpose Apple have specified and further proves it was more of a measure taken to prevent newly emerging tools (such as Adobe's). So the short end is you're best off just learning objective-c :).
  11. A degree is preferable and a portfolio can be beneficial, you also need to be self motivated, passionate, be willing to work long hours, good team player, blah blah blah. It's no different to any other job. Why don't you look at some game programmer job ads to get a good idea?
  12. Huge world and cities

    Why do people always want to start huge? I think the reason you are not getting a straight answer for your question is because your question shows that you are thinking way too far ahead.
  13. Google's Go vs. C++

    Let's give the guy a break now, he gets the idea I'm sure. This Go looks interesting but it's clearly early days. I'll be keeping my eye on it though.
  14. I'd say keep writing stuff in C#/ASP.NET. Learn some web design skills and create some web templates and/or try and get some web development work as a freelancer but most importantly remain as active as possible. Employers like people who are enthusiastic and are actively contributing outside of University. A degree only gets you an interview, you then need some experience to draw from during your interview.
  15. Quote:Do you want to learn sex from books? No. You want (and can only) learn sex in the real life. A brilliant analogy. I actually laughed out loud.