Skip to content
December 14, 2010 / sguergachi

Development Diary #1

Hello World!

Aurora logo

This is a simple blog where I will be posting information regarding the progress I’m making on the Aurora Project, an ambitious project dedicated to enhancing the PC gaming experience for the hardcore and casual gamers out there.

This post will be long. That’s only because I’m going to start blogging halfway through development and it’ll take time to get everyone caught up.

To start of, let me explain what Aurora is and why you should be as exited as I am.

In brief, Aurora aims to be The Ultimate Gaming Application, its Everything a gamer wants in a single application, a single experience.

This is of course very ambitious and obviously won’t happen over night, but with some luck, passion and a whole lot of work, this might just work.

The Aurora project is split into two phases or two versions. The first version is basically the foundation, its the basic client with little to no online components. The second version will be a revision of the first version by building on top of the foundation with the online component. From now on the Client portion of the application is called ‘Aurora Game Manager’ and the Online portion of the application will be dubbed  ‘Aurora Net’.

Lets dive into what the Aurora Game Manger actually does.

The game manager contains the most basic of game managing features:

  • Add and Remove games from your library
  • Run games you added from the application
  • Automatically Detect Games on your computer
  • See high resolution game case icons to represent each of your games
  • See the amount of time you spent on each game
  • See the last time you played that game and the number of times you played a game
  • Set a number of games as your favorites
  • See what the recommendation engine recommends you play based on your tastes and your tendencies to play certain games (improved with Aurora net)
  • Run all of this on a sleek awesome GUI

That’s pretty much it, looks simple right. Well feature creep is usually the death of awesome projects such as this one. It looks simple on the surface, but since I am building pretty much starting from scratch, there is a lot of work that needs to be done ( I don’t know how many times I’m going to repeat that), this is when we get to jump into the technical stuff behind Aurora Game Manager:

First off, Aurora is built from ground up entirely on the Java platform, it uses Swing as its back-end for the UI, and as for the database, I’m still looking into it, could quite possibly be Java DB but I still need to see how easy it will be to add and remove components from the database.

For Aurora to have some slick UI components, I had to go ahead and make my own custom components by using Swing and sometimes even Java3D, each component is placed in a separate class for modularity purposes. I also wrote a multitude of other class to easily allow me to add .wav Sound Effects or to allow me to easily implement a login procedure in the project. All of these components are separate from the actual Aurora Game Manager codebase, its actually on a separate codebase called ‘Aurora Engine’, this huge collection of reusable components allows me to quickly create and build some interesting GUIs very quickly, and since none of this is third party code, I can manage and use it to the best of my ability. the Aurora engine is currently split in two packages, one for LOGIC, and one for UI, I’m planning on adding a third one for Data Bases, but we will see.

I decided to make ‘Aurora Engine’ a separate component from the actual core of the Aurora Game Manager for multiple reasons. Firstly, I knew if I was going to create some good GUIs, I needed to spend a lot of time perfecting and implementing each UI component, and I also knew that because I was investing so much time on these components I needed to be able to use these components on other projects without having to extract it from within the entanglements of the Core Aurora Game Manager codebase, so a simple module would save me a lot of time in the future. Second a separate modules is one of many ways to reduce bugs and problems from occurring in the future, it also simplifies patching, so that if a component is causing a problem in the main app, all I would need to patch is the actual engine part of the app. Lastly, if this Engine mind set works well, and I am able to vastly expand and document this engine, I could use it to my advantage and sell it to other developers looking of an easy yet flexible way to implement great UI in their app with speed as Game Studios do to their own Game Engines (i.e. Unreal, CryTek etc.)

 

The last technical thing I must talk about here is the actual database and what it will be used for. Right now for the Game Manager, there are two databases I must implement the first one is GameCoverDB, which is a database containing the name of each game cover we have access to, it also contains the actual link to that Game Cover icon. The second database the Manager will use is the name of every game the user has added onto the Game Manager as well as the .exe file of each game. right now I am undecided for the GameCoverDB as to whether I must implement the database online to be accessed by the program, so that each time a game is added, the game cover icon is downloaded from that database and added to the local directory of the app or should I have all the game Icons shipped with the app. I think we all know the answer is to implement an online solution, especially since there is over 2200 game cover icons that need to be placed in the database, however I will need time to learn and understand the best way to implement this into the Game Manager, because remember this is supposed to be the foundation of the whole Aurora Project, not the online component.

 

Here is some UI drawings I made prior to coding:Login_Window1Login_MainAurora_GameWindow1

 

Aurora_GameWindow2

So that it for the description of Aurora Game Manager actually does, now Ill give a quick preview as to what I am planning for Aurora Net which is the secret to what will make the Aurora Project successful.

 

Aurora Net will have the following features:

  • Show Game reviews and Game related news powered by RSS from GameSpot and or IGN in a clean and simple way
  • Allow for purchasing games on a website like Direct2Drive
  • Show YouTube powered Game trailers And Gameplay for games you are all currently playing, or searching for
  • Improve the Aurora Recommendation Engine, by also showing games you may want to purchase
  • Add Twitter And Facebook integration
  • Add awards/achievements for the Gamer Profile picture

That’s it for now, I will inform you more on some more features Aurora Net might have, but I think that’s pretty good for a 1.0 product.

If anyone has has any suggestions, please send them to my e-mail OR post them in the comments bellow.

 

on the next post I will talk about the progress I am making, I think this is good enough for the first post

I will try to post at least once every week!

 

 

-SammyG

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: