PrettyPrint

Sunday, 27 January 2013

Creating The Game - 27/01/2013

Today I will be showing some of the simple code that I have written within for the game, but first I will be discussing what was spoken about in the weekly group meeting on Saturday. This week Stephen had completed some of the tiles that I am going to be using within the creation of the game, the tiles we decided are going to be 32x32 giving Stephen a big enough space to create something that looks aesthetically pleasing yet still fits the retro genre that we are aiming for. Sam has given me a sample of the level music that he is creating and we decided that it did not fit the sci-fi style techno music that we decided that should have been created, because of this he is going back and changing this music slightly to give it that feel that we would like. Andy is progressing well creating designs for his flash animations and poster that he is going to be creating. Once again I feel the the group is progressing in the right direction with progress being made each week.

I have been playing around with the Slick2D package this week and have got the very basic layout for the games code setup now. This will allow me to keep the code nicely structured and cleaner, it will also allow the game to run once the code has been written and compiled. The code that I have written this week after reading the documentation and looking at some basic examples of game code is :

import org.newdawn.slick.*;

public class SlickTest extends BasicGame {
 
 public SlickTest() {
  super("Jetson's Journey || EPQ Game");
 }

  public void render(GameContainer gc, Graphics g) throws SlickException {
  
 }

  public void init(GameContainer gc) throws SlickException {

  }

  public void update(GameContainer gc, int arg1) throws SlickException {

  }

  public static void main(String[] args) throws SlickException {
  AppGameContainer app = new AppGameContainer(new Game(), 1280, 960, false);
  app.start();
 }


The code above, denoted by the bold and italics, is the basic structure of a Slick2D game, the render method will be used to render assets onto the screen once I have imported them into the project, the init method will initialise everything needed within the game once the game starts this includes all variables, art assets and sound assets, the update method will be the section of code that will update the game logic making everything within the game like movement, collision and collecting coins possible. The last section of code, the main method is what initialises the whole game creating the game window and starting the game code running.

Sunday, 20 January 2013

Game Features and Asset Lists

After another very quick discussion with the other members of the group we have decided to create a list of features and assets so that we know what each person will be creating and also what the game will be able to do. Below is the list of individual assets that we will each create and also a list of feature we agreed that we would like the game to have:

  • Ste:
    • Main Character Sprites
    • Main Character Animation
      • Walking
      • Jumping
    • Level Tiles
    • Level Backgrounds
    • Level Assets
      • Exit
      • Collectables
        • Coins (Most Likely)
        • Diamonds
  • Sam:
    • Level Music
      • Make repeatable so that it can be repeated smoothly within game
    • Sound FX
      • Jumping Sounds
      • Collecting Sounds
      • Death Sounds
  • Andy:
    • Marketing Products
      • Online Products
        • Flash Animation using the sprites from the game
      • Physical Products
        • Poster
    • Plan Testing
      • Beta Test
        • Group of players for when the game has been created.
  • Game Features (Me):
    • General Game Features
      • Gravity
      • Collectables
      • Death
      • Enemies
      • Collision
      • Exit
      • Pause Menu

Creating The Game - 20/01/2013

Today I am going to be talking about the very start of the games development. After talking with the other members of the group we have decided that I will be the one who will be creating the maps as this is required within the coding side of the project to be imported. Due to this I have looked around and found a very helpful tool that I will be using to help with the map creation once the first art assets have been given to me by Stephen. Sam has also started work on the music that will be played while playing the game and it is proceeding nicely, Andy has also started on designing what he will be creating as the Marketing section of the games team and like the rest of the group is also proceeding very well. As a whole I feel the group is getting on well and the work is getting done at a good pace.

I myself have started reading up on the Slick2D documentation which can be found at this link. This is the JavaDoc that contains all of the packages and classes that are contained within Slick2D giving detailed write ups on each method and how they can be used within the project that I am creating. This document is going to be invaluable to me as I can quickly lookup any method that I may need and see clearly how this should be implemented into the code I am writing. The Eclipse SDK that I decided upon has been fully setup on my computer with Slick2D and its dependencies linked with the project that I have created. By next week I hope to have a few very simple lines of code written allowing for a window to be rendered ready for the game to be displayed in.

Sunday, 13 January 2013

Java Games Packages

To help aid me with creating a game within Java I am going to be using the help of a package that I can import into Java that will include some ready made functions that will be needed for developing the game. These features may help to import textures, music and other assess or help with the rendering and updating of what can be seen on the screen. Below is a list of the Packages that I have looked at and why I have decided to use it or not:

1) LWJGL (Lightweight Java Games Library) - The Lightweight Java Games Library or LWJGL as it will now be referred to is one of the main Java libraries that is used within Java games development. It allows people to make commercial standard games by including access to high performance libraries such as OpenGL (Open Graphics Library), OpenCL (Open Computing Language) and OpenAL (Open Audio Library) all of which are using within many different commercial games today. This makes it a very viable candidate, but due to the fact that I am going to make a 2D game the LWJGL is not what I will be using as it is mainly used within 3D Java games, because of this I have decided to go for a different option which I have described below.

2) Slick2D - Slick2D is a Java games library that has been created to provide a simple 2D API for Java games development. Slick2D is a toolset that is based around the OpenGL calls of the LWJGL making the two slightly similar but the major difference is that Slick2D has been created with 2D in mind making it a lot easier for 2D games to be created with this library instead of the LWJGL. Due to the fact that Slick2D can help with rendering, updating the game code, importing sound. graphics and other assets that will be needed all while being focused on 2D games development this is why I have decided to use this within the project.

Starting The Project

Today I have started development of 'Jetson's Journey' the 2D platforming game that I am making for the extended project qualification. Below are a list of the others that are going to be joining me on creating a game and the contributions that they are going to be making to the project:
  • Stephen Hendrikse - Graphics and Animation
  • Sam Hignett - Sound Development
  • Andrew Blackburn - Online Marketing
After having a discussion with the people above we have decided that we are going to make the game a space themed game, this is good as now we can all start creating our assets with this theme in mind. As I am in charge of the games coding and general development I will be using this time to start some simple tests within Java with some different Games Packages available to see which one I will be using to aid my in the creation of this game. I will be doing a second post this week detailing which package I have chosen and why.

Sunday, 6 January 2013

Java 1.7 IDE Decision

After searching around on the internet looking at the available IDE (Integrated Development Environment) that are available for Java. First of all is the NetBeans IDE which seems to be the most used IDE within Java.

1) NetBeans allows for quick coding using predictive code, allows for quick access to needed folders using the folder browser and comes with a slew of debugging tools for helping find bugs within the code that has been written. This seems to be a good option for a Java IDE as it includes everything that I would need to use to create my 2D Game.

Next I will be looking at Eclipse SDK which is another highly regarded IDE for Java development.

2) Eclipse SDK is also a very good option for a Java IDE as it includes everything that I would want. First of all Eclipse is completely free is use, it comes with an easy to use folder system to allow with sorting resources and code within a project, a full debugging suite built in to the IDE with some nice features allowing you to look through whole variables while code is running and also allowing for code to be edited while running and then compiled on the fly. Eclipse also comes with predictive code popups allowing for code to be completed faster using these which is a very nice feature. Because of all of this I will be using this IDE for my project.

EPQ Game Introduction

Welcome to the development blog of Jetson's Journey, a simple 2 dimensional platforming game made using Java 1.7 and an IDE that I have yet to decide on. This blog will be a weekly update, that will take place on a Sunday, of the games development talking about the troubles and successes that I encounter during the process and also showing the development of new skills that I am going to be learning throughout the development of the game.