Thursday, 24 December 2009

Happy Holidays

Hope you enjoy the holidays, and have a happy new year (not far off!)

Thursday, 10 December 2009

Little Busy

Currently a little busy on something at the moment and haven't had time to continue development. I will be again as soon as I have finished. In the mean time I've uploaded Nexlib 1.1. Not a lot has changed at the moment, the sprite manager can now load 4bpp sprites and I've changed the vector2 template quite a bit, it's more organised and the naming of some functions has been changed. Also some new functions such as GetDotProduct, GetMagnitude etc.

Monday, 7 December 2009

Programmer Graphics

I'm currently in the process of creating some awful graphics to use in the current stages of the game. Ofcourse changing these graphics for something better will be easy, a matter of placing the newer images in the build, well as long as there of the correct bpp and dimensions.

I plan on next attempting to add some sort of state system to the player. The player will have numerous actions. Some of the include walk, running, stopping when running, jumping, falling, landing, climbing, swimming, pushing, hanging on, being hit, being stunned, getting up, crouching, rolling a grenade and more.

Things such as reloading, attacking (shooting or swinging something) will be done separately, as you can see the stick man image has no arms yet.

Sunday, 6 December 2009

Basic GUI

I decided to make an image to show how I intend the GUI to be.

The expandable equipment and items is shown in the bottom left. From the top left the icons are, "swap last weapon", "expand weapon list", "expand medical list", "expand item list", "expand explosive list", and "interact".

The Top left shows where the character portrait will be, including the players health and ammo. Below the portrait is also the menu button. This will pause the game and bring the menu system to the screen.

Friday, 4 December 2009

4bpp Sprites

I have successfully updated my converter to handle 4bpp sprites as well as updating my CSpriteManager to dealing with them. Onward!


Nothing to update on really. I'm currently recoding my converter to support 4bpp output. Sorry!

Thursday, 3 December 2009

Sacred Potion Info

Like mentioned before the layout will be similar to Castlevania. It will be a big map split into zones, areas unlock as you unlock the means to pass the obstacles. However unlike Castlevania style games this game will heavly feature the stylus, movement will still be done by the d-pad, but selecting weapons, using items, specials and aiming will be done through pressing them on screen.  I will also add a left-handed mode, allowing x,y,a,b to act as the d-pad.

The game weapons will be more gun/projectile oriented than melee, though there will still be some.

Multiple Frames

Super small update :)
When creating a font the number of frames can be specified. When calling MakeFrame you can specify which frame to use.

Wednesday, 2 December 2009

Nexlib CTextManager

Texts can now have 2 colours to the background (up from 1) with allows for more pleasing backgrounds. This puts the total colours allowed for a text being created 14.

8: text
4: frame border
2: frame background

The example screen was created with the code:


CTextManager *pTxt = new CTextManager;

int bg = 0;
int frm[4];

pTxt->Init_RegTileMap256(0, BG_TILE_MEM_SUB(bg), BG_MAP_MEM_SUB(bg), BG_PALETTE_SUB, NULL);  

// create the frames
frm[0] = pTxt->MakeFrame(0, 160, SCREEN_WIDTH, SCREEN_HEIGHT, true);

frm[1] = pTxt->MakeFrame(0, 0, SCREEN_WIDTH / 2, 72, true);

frm[2] = pTxt->MakeFrame(SCREEN_WIDTH / 2, 0, SCREEN_WIDTH, 160, true);

frm[3] = pTxt->MakeFrame(0, 75, SCREEN_WIDTH / 2, 160, true);

// print the text using the frames
pTxt->Print("ZONE: Greenlands \n TIME: 03:22:11 \n ", 0, 0, frm[0], true);

pTxt->Print("Menu: \n   Items\n   Key Items \n   Equip \n * Map \n   Magic \n   Options", 0, 0, frm[1], true);

pTxt->Print("Name: \t Fenxic\n Class:\t Mage \n\n HP:\t\t 100 \n MP:\t\t 44 \n\n STR: \t 33 \n MAG: \t 100", 0, 0, frm[2], true);

pTxt->Print("Frame 3", 0, 0, frm[3], true);


Sorry about the formatting, looks better in a proper editor :)

The reason the co-ords are 0, 0 in all the prints is because when using a frame the text position is relative to it. All texts are being printed at the beginning of each frame. In the newer version of Nexlib (not for download yet) you can also specify whether or not you want the text to be absolute or relative (just in case!).

Red Temple Videos Posted

I decided to record the first 4 levels and a clip of the boss battle. I uploaded the videos to Youtube. Check them out here

Hope you enjoy being able to see the game without having to download it :)

Tuesday, 1 December 2009

Nexlib Classes

As I've started coding Sacred Potion I have already started adding to my Nexlib, currently I have changed the palette files. It's now a class of its own and both the tile manager and sprite manager contain it. I've also started changing the sprite manager to support the 16x16 palette setup. Red Temple only used 1x256 palettes.

It Begins!

Well Red Temple Demo is out of the way I'm going to start on something new. I'm currently creating some map editor features. I'm thinking of a way to allow easy adding/removing of objects onto the zones. I'm also thinking of how to implement the map data. The game will be a side-scroller similar to a Castlevania style game. This means I need a semi-continuous map. It's semi and not fully because Castlevania games are split into zones, normally changed moving through the thick doors unlike say Metroid for the GB, which was one big map.

Anyway, just updating!

Red Temple 1.3 - Source

I have uploaded the source code to Red Temple (1.3). The download is located to the right in the downloads section.

Monday, 30 November 2009

Red Temple 1.3

Well I spent my day working on Red Temple again and managed to finish it (I think). Download is to the right in the downloads section.

Red Temple (1.3) Changes

(1) While changing some of the Red Temple code I decided to add another layer into the game. This layer is a higher priority than the player. This meant I could have poles going above the character, giving more depth to the levels that can be created. The amount of extra data to facilitate this has been a minimum of 2 bytes per level (if its not used at all).

(2) Sprites are now only loaded when on screen and freed when they arn't. This means levels arn't limited, the screen is.

There are more changes but they are mostly code based and not changes in the game. If you notice any  glitches please let me know so I can fix them :) Enjoy!


Nexlib is a library I use in my game Red Temple, I will also be using it in my next game. It's still basic and changes will be done over time, but I decided to upload it as it stands for anyone who wants to see it. One of the first changes I will be doing is changing the palette file. I've decided to make it a class of its own and have both the tile and sprite classes contain one.

Some of the things included are:
  • CSceneManager
  • CSpriteManager
  • CTileManager
  • CTextManager
  • CParticleManager
  • CStateManager
  • vector2.h - vector2 template
  • memory_alloc.h - overrding new and delete to track memory allocation
  • etc...
The library is written in C++ and not C. Download is located to the right in the downloads section. To see how I create scrolling maps like in Red Temple you will have to wait till I release the Red Temple code. This will include a CLevelManager, which decides where and when tiles are placed.

Red Temple Video

After finishing the code on Red Temple Demo and before starting my new project I may try and upload a video or two of the first 2 or 3 levels. That way you'll get to see some game play without having to download it.

And to update on my Red Temple code progress, I'm almost done, should be able to upload within the next few days, maybe earlier.

Sunday, 29 November 2009

Found Red Temple 1.0

Found the first version of my game Red Temple hidden on my PC. You can download (found in the download section to the right) if you want to see how it started. Here's the first screen shot I ever took of it. Back then I called it Krexblibos if you hadn't noticed :)

Saturday, 28 November 2009

Game States Thought

In Red Temple I had each screen when "getting into the game" as a state, different screens and initialisations when moving about. For Sacred Potion I have decided to group some menus together and have less states and within the state I will have a menu system. This way they will be back to being states and not screens.

Friday, 27 November 2009

Finishing off Red Temple First

I decided to have this blog up and running so when I have something to show I can mention it here. Currently have nothing to show as I've only just started it. Hopefully it doesn't take too long to get something posted here!
Although I've started this I'm still currently finishing off one or two things with my other demo I made of Red Temple (older info here, game here).

Here is some pictures of Red Temple:

This is a screen shot of a level. The idea is to collect all cherries. Obstacles such as switches, enemies and puzzles need to be solved in order to collect the cherries.

This is a screen shot of the level selection screen. You unlock more levels by completing the currently open ones. There are also 4 special levels with are indicated with green dots.

The lower screen with also show medals. Bronze for 25% of the points available on the level collected. Silver is 50% and Gold is 100%.

Anyway, as I said just finishing some of the code off for the demo and then I'll start my next project.