Showing posts with label Platform Revival. Show all posts
Showing posts with label Platform Revival. Show all posts

Saturday, June 8, 2013

Pardon the Dust

Sorry for the lack of posts, I have been very busy getting prepared for a move to Austin, Texas. I have been very busy preparing for it, and I haven't had as much time as usual to work on my game.

That being said, this week I am working on overhauling the artwork. I decided to change the game to a much simpler art design, looking at things like old Atari games and Geometry Wars for inspiration. Artwork is something I have pretty much no talent at whatsoever, so it is unlikely that I would ever get far enough doing pixel art in any reasonable amount of time to have for this game, so I opted for something similar.

In addition to new, simpler sprites for everything, I am going to add particle effects to more objects to give everything a better sense of cohesion and action. So far I have completely some of the very basic enemies and projectiles, but I am having a very difficult time with the player characters and bosses. At first, my original thinking was making Tron like entities, but I haven't been able to make anything worthwhile so far, so I may have to look at simpler options.

Below is a screenshot of a testing level, showing what I have done so far with the new art style.


Saturday, May 25, 2013

This week, I managed to overhaul the way the game saves and loads tilesheets for the editor and the game. I have made it so that new tilesheets can be loaded in to the editor and saved on a per map basis. This allows for separate development of the art side of the game from the programming side and allows the user to see changes to the tilesheets pretty much immediately. Unfortunately, this programming change means that the old maps I had saved no longer function, so I had to rebuild some new ones. That means in the build that I am publishing tonight, only the first few maps of the Earth level are functional.

Also, I created and implemented a new AI type this week, called the AITurret. This AI type is stationary and fires projectiles in a specific direction. Also, I linked in the switch - activator system into the AI turret, so I can now make it so that the death of the AI turret triggers an activator elsewhere in the level. This allows for new puzzle mechanics based on this premise. I am considering adding this functionality to the AIBase class, which all enemies are based on, so that any enemy can trigger the system, but at this time I haven't.



I am still working on the physics for mobile platforms. They have collision correctly, but for some reason, standing on top of one doesn't always trigger for the player to allow them to jump again and to shoot and use the shield.

I also discovered this past week that I don't have to compile to one_click applications to publish my game, I can just build it and upload the debug folder. So, any build from here on out shouldn't need any installs, just unzip to a folder and play. I'll edit once the sync is complete with google docs :)

Edit: And the link is up :)
https://docs.google.com/file/d/0B-PWPsdVYXH6NWVjNDR1RHdBMDQ/edit?usp=sharing

Tuesday, May 14, 2013

Last week, I read an article about tools for game related purposes and it really inspired me to work on my level editor some.

http://www.gamedev.net/blog/1562/entry-2256353-tools-dev-whats-it-do/

As my game has been getting more complex, so has been working with the editor. Some of the new entities I have made, such as mobile platforms, require as many as 5 arguments in their constructors for determining their properties. Previously to make those in my level editor, you would have to select the base entity, platform, and then type each individual argument with a space between each one, with the argument order memorized.

So the first thing I have done is simplify the entity creation portion of the editor. I change it from requiring manual entry to a small system of drop boxes and input parameters.

This should make it much easier to make levels, since you won't have to memorize the parameter order. You still have to have some knowledge of the game though. For instance, in this case, the destination is two coordinates with a space separating them. In this case, the platform would move 10 tiles down. Also, the platform type is a simple enum, in this case with 2 being fully automatic.

Later this week, I hope to add new options for the tile map, such as being able to load one in dynamically, instead of having to hard code each one. However, I have a feeling that won't be as easy as adding a "load tilemap" button with the tools at the top. I am considering something along the lines of a C# Dictionary that it uses during a loading phase, which the tile engine can then copy a specific entry from each time it loads a new map.

However I do it, it isn't something that is covered in the book I have on XNA game development so I am going to have to do some research. It might be a good time to change the way level files are saved and loaded, since currently it is the only thing that keeps it from completely compatible with Xbox Indie Games.

Thursday, May 9, 2013

Tonight, I was able to get a ton done on my game, thanks to beginning my new class at DeVry, a cup of coffee, and some good planning. I implemented the previously mentioned unblocking entity, which allows me the change the shape of the levels based on which game type is selected. I also created a switch and activator system, which allows me to begin some very basic puzzle elements in my game. I also added, finally, Mike's special ability, the double jump.

I am publishing a new build, which I am uploading as I write this. I will update this post once it gets done. I have also fleshed out the game's opening level, Earth. The Earth level now consists of 4 small maps and one boss encounter. I left myself plenty of room in the editor, however, to go back and add more maps to the Earth level as I add more game play elements, such as moving platforms, levers, and enemy types.

I'll finish with a couple of screenshots of my switch - activator system in action.



EDIT: Here is a link to the latest version of the game https://docs.google.com/file/d/0BxShUEdw7OSlbzhWNnI0LURqSnM/edit?usp=sharing

Sunday, May 5, 2013

Well, today I pulled one over on myself by not working at all on the entities I had told myself I would work on this week, and instead I added a new function to my level editor and game to implement different tile sheets for the game to run off of. Before I had been limited to a single tile sheet, which I had hard coded. Now, users can select which tile map to use for each level that is created. This opens up an easy method for loading in different tile sets without having to change one big one with all the different levels in it.

The loader is flexible and can load up whatever size sets that are input, as long as it can be divided neatly into 48x48 pixel squares.


Tuesday, April 30, 2013

Level Design

One thing any great, or even just good game requires is excellent level design. It doesn't matter how sound the technical and programming details are in your game if you don't have good level design to capitalize on it. It also an area that I am beginning to spend more and more time planning as I get further into the development process. This time a month or so ago, the plan was simple. Make two player characters, with unique single player campaigns for each and a combined co-op campaign that utilizes their unique abilities to challenge players. The question now is, HOW?

I spent some of this morning replaying a couple of the games that my game is using placeholder art from, Mega Man and Mega Man II. I was surprised how difficult they were after all this time, and I resolved to make sure that challenge is a more central part of my level design in the future.

The problem I am facing, though, is how to make a platformer with two player co-op elements. I have played a few other similar games that had co-op, but never in a way that required cooperation between players. In Rayman Origins, it seemed to be a simple skill check that one player had to get through and the others could then follow, and was almost more competitive in nature while I want to make something that requires communication and cooperation between both players. If anyone has ever played a game similar to this, it'd be awesome to see it in the comments or in the email.

With that considered, I decided today to limit my game to an introductory level for learning the ropes of the game, with four "flavored" levels after that can be done in any order. Since there will be a relatively small number of levels, I hope to make each individual area more compelling and difficult, and with more memorable boss fights.

Today I finished a couple of the introductory areas, including two co-op puzzles. They are not yet in the available build but I hope to update it in the next couple of days with a playable introductory level, but I still have a couple of back end systems to create for the puzzles. Namely, I need a matched switch-activator system, such as a remote controlled door, as well as an unblocker entity, which I can use for specific game scenarios to open up paths only under specific game types.

I'll post a quick screencap. Below is the start of one of the puzzles in the intro area, with the top path accessible to Mike, the character with higher jumps. In the final game, this area will force the players to split up and hit switches on the way, opening up the path for the other player as they go along.


Saturday, April 27, 2013

Well, tonight I finished the level editor hooks and game manager implementation for a couple new level ideas. One new level will involved high winds that cause players and objects to slowly drift in a particular direction. The second is a level with a constant health degen, with safe areas that will refill the player's health. There will be particle effects that act like an "acid rain", but I don't yet have that implemented.

Saturday, April 20, 2013

Hello everyone. My name is Nathan Birt and I am a student at DeVry University taking Game and Simulation Design courses. I am just finishing up GSP 321: Programming 3D Math and Physics for Games. Tonight I decided to make a blog for my side-project I am working on for my work portfolio call Platform Revival, an old school 8-bit styled platform game. Right now, I am still using placeholder artwork, so you will probably recognize the sprites, but everything else in the game is original!

Tonight, I am putting the finishing touches on the particle system, such as the pieces coming off the player's projectile, shown below, as well as immediately after landing.


I have a slightly earlier version of my game demo available. It is still very basic, but has a lot of the framework done for the game, such as an input manager, game manager, message system, and some basic game play.

https://docs.google.com/file/d/0BxShUEdw7OSlSFB5WVA1SmlIYU0/edit?usp=sharing