Sunday 26 February 2012

Iteration 1: Getting out that first working implementation.

So now the implementations start.

The aim for iteration 1 is to get out a working MMO.
I have to warn against any expectations of it being something someone might actually want to look at. It won't.
It will be a very rough, crude and unappealing implementation of some of the core concepts of the game.

Iteration 1 will consist of the following:
 1.1 - Basic Environment, Moving and Camera system.
 1.2 - Networking (on local LAN)
 1.3 - Menus menus menus and HUD: Game menu (for now just LAN), Game lobby screen, and other player context menu, player Health, maybe even other player health, and action bar with clickable action(s) in.        
 1.4 - Player interactions on another player (My thoughts for now is simple attack actions, creation of a party, and friendly actions). I might just use the MVC pattern here.
 1.5 - Hosting the game server:
I got a nice article on the IBM website: http://www.ibm.com/developerworks/library/ar-powerup1/ on this.
I am not sure that I will implement this for now, I will most probably do away with it for now due to a discussion with bigbadwofl on whether to create an MMO or implement something smaller (player base wise). I agree with his sentiments and decided I will start out with a smaller size, like, say that of Giants: Citizens of Kabuto and Savage. The MMO idea is still there for the end product. I will make sure that the concepts I develop for the game will be convenient for a MMO as well.
This would probably help this game to get to alpha faster.

I will be very busy this week, but I will attempt to complete iteration 1.1 -  Basic Environment, Moving and Camera system.
(I kept this iteration so small due to time constraints).

9 comments:

  1. Good to see you're moving ahead! The way you've broken down each iteration is good, though to me it seems like more than four weeks worth of work (I'm really not that fast haha). It's probably a good idea to get the core stuff working before tackling the MMO aspect, though like you said it's a good idea to keep the MMO aspects in mind when working on different features.

    You might have mentioned it in your first post and I forgot, but what type of game is it display wise (first person 3d, top-down 2d, 2d platformer, etc)?

    ReplyDelete
  2. The camera angles will be adjustible, It will probably start out as only 3rd person, but first person will be an option to play in later as well. It will be 3d.
    It is 4 weeks worth or work :), I'm not at all that fast either. I only have some Fridays and Saterdays to work on it.

    I probably weren't too clear about it, but each major iteration leads to a workable game, I subdivided this iteration in smaller ones, 1 per week. I'm a bit worried about next week's one, networking could be a LOT of work, at least I have next to none gaming implementations to adapt to the networking.

    ReplyDelete
    Replies
    1. I'm interested to see how well a two-day-a-week schedule will work for you with that kind of goal in mind.

      In all honesty, I don't think you'll be able to pull it off. I would suggest starting with a simple cubes-and-code type game, and don't scoff, because it's about the only way you'll get things done at first. Trust me, I had some pretty lofty goals at first, but it only took about a week for me to realize how silly it was.

      Delete
    2. Hi XWolfHunter,

      Thank you for your feedback.
      The 2 day schedule didn't really work out. I will probably start one day again when I managed to cut back on my schedule.

      I was told I should start simpler by a couple of people.
      The idea on a iterative driven project is that you start simple with lets say, a cubes-and-code type game, and iteratively expand on that, each big iteration being being a complete working product.
      This is the idea behind an agile development process, which suits me well for creative input and changes from myself and others.

      So: cubes-and-code, a bit more cubes-and-code, and more, till I decide this thing is done.

      But as I said I am currently inactive :(

      Delete
    3. How much have you gotten done so far? I would suggest using math on this: Take what you have done, find out how long it took you to get it done, and the estimate what fraction of iteration 1 you have done (1/10, 1/20, or whatever you guess it to be). Then multiply the time by the denominator and find out how much time it will take you to get it done. My guess is many many hours (Weeks worth of hours) to get what you have planned for iteration 1 done, not to mention the learning time where you'll be doing research on what exactly it is that you're doing.

      Just to put it into perspective, look at my own "game:"

      http://www.renaxs.blogspot.com/

      What you see there is maybe ten hours of total development, and a learning period of three or so weeks to get to that point (From absolute nothing). I am guessing that you're not a professional developer, maybe even having no experience at all, so getting to the point where you'll even be able to do iteration 1 will take many months of doing.

      Look at Rylod, for example (I know that you've been there before). That took a year plus to make, and it's nowhere near anything resembling complete (That's probably why he stopped; it's a very big project).

      Again, I say this: Don't even consider starting with something like what you've got. It'll lead to too much frustration and demotivation. You don't have to start out with something as simple as what I have (Rylod and Zombox - www.zombox.net - are both first games), but you should choose a happy medium if you're still feeling particularly ambitious.

      Good to see you still pay attention to your blog!

      - X-WolfHunter

      Delete
    4. Hi WolfHunter,

      Your advise is very sound advice, It is clear that you gained really good wisdom.

      I should have presented some background information on myself somewhere in this blog, something to note in the future.

      I am lucky enough to be a professional developer.
      I have a Bsc Computer Science degree, this is my 6th year of professional developing.
      The coming ludum dare (create a game in 48 hours) will be my 3rd ludum dare. I am making use of C++ with no frameworks in the ludum dare's. The games I made include everything in this iteration (with the exception of Networking.) and some other extra cool things.

      If I had your passion for game making and my experience, this project would most probably not be sitting in idle state at the moment :(
      I am working on my overloaded schedule so that I may have time to build on my game development passion again.

      Thank you very much for your feedback. It helps too keep my over ambitious nature in check.
      I am looking forward to your next blog update.

      Delete
    5. I wanted to make a new comment on your blog, but I have to supply an email address, or log in with google (or facebook/twitter):( . I am reluctant to sign up at new places. Would it be easy to add blogspot accounts to the options to log in with?

      These 2 articles gave me a nice refresher when I wanted to implement A* again:
      http://en.wikipedia.org/wiki/A*_search_algorithm (yes wikipedia)
      http://www.policyalmanac.org/games/aStarTutorial.htm
      The later is quite easy to follow.

      Delete
  3. I really need to bookmark your blog; I'm using the link you posted in the comments a week back still haha.

    Okay, I understand now. So once this major iteration is done you move onto 2.0?

    ReplyDelete
  4. :)
    Yes, so once iteration 1 is done (1.1 - 1.5) I will plan my next iteration, which is iteration 2.
    During the planning phase I am going to make changes the game concepts most probably as well. Bigbadwofl gave me a cool idea on my implementation phases, I'm going to start out with an arena based game, but Ill discuss that in Iteration 2 talk.
    I was going to first include this link in my next post, but I made a site to keep track of my project's issue list (I still have to add issues) and the design plan (outdated, but I will attempt to keep it up to date on each post).

    Back to working on iteration 1.1 for me.

    ReplyDelete