Tuesday, February 28, 2012

I Need A Soda Maker

I've been trying to figure out some sprite editing software to use for the graphics of the game. After looking at quite a few, I found some that look promising.

For my level maps, I want something which I can have a grid and place my sprites in it, to see how they work and look together. I want to be able to edit them, pixel by pixel, and see all of that type of tile change in real time to make sure things line up correctly and what not.  A program called the Dame Editor looks promising, and holds many features (many that I do not need) and I have not seen an easy pixel editor but I'll check it out. I do not need to make maps with it, as this will happen in the code itself, and be randomly generated.

I will use GraphicsGale for everything else un-map related.

For characters, items, GUI, and pretty much everything that isn't map related, I'll use GraphicsGale.  I am definitely no artist, and I will find out tonight at what extent I am truly bad. I've seen some useful tutorials online, and I don't want to copy someone else's sprites, but I have a plan in which I shouldn't fail too miserably, if I can figure out how the program works...

Edit: Screw it. I think I'm going to stick with Paint.NET.  It is amazing, and I can do great things with it quickly.  I found a site about resolution sizes and how large to make a character here.  I like the pixelated style, so I'll go for a charactor standing at ~128 screen pixels, but only 60 drawn pixels tall (by dropping the pixels per inch/resolution). We'll see how that goes.

Monday, February 27, 2012

Keeps You Guessing

A few days after starting my project I have come up with a basic dungeon map layout builder. The actual tile map that the player will see will be built based on the layout that this chunk of code will spit out.

What the code does is starts ("S") a dungeon at the surface (top) of the map, or just below from the side to allow a different style of entrance. It then branches out in random directions (weighted depending on the type of level) and lengthens rooms randomly, adding a door ("D") at the end. If a dead end is encountered before the minimum amount of spaces are used, then a treasure room ("T") or key room("R" for red keys, "G" for green, "B" for blue) is created, and the program backtracks to another room, starting again with colored door for keys when applicable.  When the number of dungeon spaces are acquired, a door to a boss chamber will be created in the end of the dungeon("X").

I'm now trying to figure out what scale everything is going to be in so I can start developing the tiles for the tile map. I'm not a great artist, but at small scales it may be doable. If you would like to help, that would be great too! I need to find a program that edits tile maps easily and efficiently. Research is still in progress...

See below for some dungeon outputs the code spits out so far! I generated all of these in a row. I did not pick and choose my favorites.

The first dungeon features an early green key room, which unlocks the door allowing you to venture downward. The bosses chamber is located halfway down, but for the true treasure hunter, they will continue down the treasure room located at the deepest depths of the dungeon. 
The second dungeon offers a choice to the player. With the first blue key they find, will they open to door that leads to the boss chamber, or will they open the door to yet another key, making the player venture back and forth through dangerous corridors.

The third dungeon is a straight run to the finish, probably riddled with traps and dangerous creatures whose loot can be just as useful as those found in treasure rooms of other dungeons.

Dungeon number four is a fairly easy venture to the boss, however, it may prove quite valuable to look further, acquire the blue key to the early found door, leading to a treasure room.
For this fifth dungeon, I doubled the amount of room spaces. See if you can find your way through. As you can see, with more densely positioned rooms, you get interesting variations, such as treasure rooms that aren't in dead ends, and you may even find yourself carrying a few keys at a time. Also, if you choose the wrong doors, you can still make it to the final boss, however, you might miss out on the two extra treasure rooms!

Sunday, February 26, 2012

The Vision

I really love coding and really wan't to start a new project. Well, technically I have already started, but I will act as though I haven't yet in this post. I'm going to try to create a game in XNA to practice my coding skills, and maybe result in something my friends can enjoy as well (maybe even together!).

The concept came after playing hours and hours of Terraria, a 2D game with a randomly generated world which you mine ores, build a base, discover tons of items, fight monsters, bosses, and even each other if you really wanted. The style itself really caught my attention as well. It is quite simple, and generated from square tile pieces to form a complex environment. You and your friends can even explore the same world, and if resources are scarce, you can carry things between worlds.  There's a succession of items that you acquire in order to become more powerful, instead of having to level up or gain experience.  It is a very well rounded game and can cause you to loose a lot of time deep in the enjoyment of playing it.

Example of Terraria with a Dungeon-esque look.

Stylistically, I want the same kind of pixelated type of game world. However, instead of being in a sandbox sort of game where you mine, build, and explore, I want to create a 2D side scrolling dungeon crawler. You can play solo or (hopefully) you can play with a couple of friends. Upon entering a new map, a dungeon is randomly generated. Players will not "level up", but find items of increasing strength and abilities in the depths of said dungeons to be able to play deeper, harder types of dungeons. Levels will always end with a boss stage, randomly generated based on your carried items.

There will be no building aspects to the game, only a trading mechanism at the start of each level to sell found items or restock yourself with potions, arrows, and the like before diving into the next dungeon. I would also like to incorporate a two handed system by right clicking and left clicking. Wield a sword and shield. Wield a lightning staff and throw acid with your other hand.

The basic, easiest dungeons will allow a player to proceed, able to access everywhere without the use of certain items. Harder dungeons will require the players to equip items to slow their decent's into pits (A summoned cloud, a hang glider, an umbrella) or be able to access high platforms and rooms (double jumping shoes, wolverine claws for climbing walls, wings and grappling hooks).

We'll see what happens and how far it gets. Please keep my motivation going by posting on the blag from time to time. I'll update with screen-shots and code results from time to time to show you how things are progressing. Feel free to ask questions!

Well, lunch break is over. Got to get back to work. (Most updates will probably be typed up during my lunch break!)