lunes, 9 de enero de 2012

"Cool Game" is the name!

For lack of a better title we have named our first game Cool Game. Because, you know, it's gonna be cool. And a game.


GENERAL

So what can you expect from this videogame? Well, these are the starting objectives we've come up with so far:
  • Coded in Java
  • 2D Gameplay & Graphics
  • Platformer side scroller
  • Entirely controlled by keyboard
  • Environment built box by box (not pixel by pixel).
  • Mobs are pixel precise
  • Different enemies mean varied
  • Various maps for each zone: forest, dungeon, village, lair...
  • Leveling & Skill through an EXP system.
  • Intuitive menu interfaces
  • Saving system
  • Classes, attributes, gold, items & equipment.
  • NPCs which gives place to:
    • Item trading system
    • Quest system
About the story, I must admit we haven't got any deep into. I have a basic idea of how it may go, but we're focusing on making the basic engines work. Nonetheless, here's some general info:
  • Magical medieval world
  • Classes / characters to choose from:
    • The barbarian
    • The magician
    • The archer
    • The priest
  • The 4 characters probably have a feeble backstory involving each other, and may be reflected in the gameplay.
  • Hero saves land from big bad dude. I think.



HOW?

So far we are making pretty much everything from scratch. Using OpenGL? Downloading the LWJGL? Forget all of that! We're hardcore.

We're using the MVC architecture pattern. As central as this may be classwise, as there's only one class to manage everything, we're thinking of implementing threads for every element for their calculations.

-----------------------
EXTRA INFO: THE MVC MODEL (Skip if you already know this.
For those unfamiliar with the term, here is a basic explanation. It structures your software (namely, your classes) in three different groups:

  • Model: classes that store the information of everything that is observed / used in the program.
    • Example: the hero belong in model, as it keeps their health and gold. They do not calculate the damage they take. They just keep the health.
  • View: classes in charge of generating screen output of the program
    • Example: The view will take care of getting the maps that are to be displayed and will paint them in a frame on the screen.
  • Controller: the big daddy. These classes will tell the View what to display, get the information from the Model and modify them if necessary.
    • Example: The controller will check if an Enemy attacked the Hero, if it hit him, how much it hurt, and if he's dead. He will also order the View to display every mob's action.



-----------------------


At the moment we have an UML planned and the classes are created, but we're missing the important part: the engines!

This is obviously the hardest part right now: without a graphics engine, or physics engine, etcetera, there's no videogame. We can worry about the NPCs and the RPG elements later. Right now we need to make this a side-scrolling platformer. And this is what we're doing: showing the platforms.



Next time, we'll show you what we've got so far. We'll talk about the graphics engine and how we paint and refresh the maps.


Out and over!

1 comentario: