Tuesday, November 18, 2014

Floors of Discomfort - November Development Update

Well, it has been another month and once again so much has been done with Floors of Discomfort. This month has mainly been dedicated to character creation and the abilities that go along with each character. Last month I only briefly introduced the Golem, but he wasn't even working then so there wasn't much to discuss. Since then, there are now five characters, all working, and I can not wait to talk about them all.

The first character is not new, but I feel as though I should talk about him because I never really have. The Knight is the main character in Floors of Discomfort. He is the default character and does not have any perks by default. He does however have two abilities, the whirlwind and vital energy. The whirlwind attack, activated by the Z key, is a 5 second attack that turns the Knight into a tornado, making him invulnerable and allows him to damage enemies and throw them up in the air. The attack has a cool down of one minute as of right now. The second ability given to the knight is the vital energy buff. When the knight reaches zero health, and he does not already have the vital energy buff on, he will be granted three more health bars and given an attack and speed increase. The buff lasts until the he dies or moves on to the next level. Other than the addition of the icons for the abilities nothing new has been added to the Knight.

The next character is the first of the new ones created, the Golem. The Golem is a tank character. He is slower than the other character, but much stronger and starts with an extra health bar. He is for players who are willing to gather hordes of enemies and take some damage. The Golem's first special ability is activated by the Z key. When activated the Golem hurls a fireball at his enemy and launching himself backward. This ability at the moment has a cool down of one minute but that may change in the future, along with the rest of the cooldowns. The second ability given to the Golem is activated by the X key. This attack allows the Golem to plant a fireball on the ground that burns and the enemies that come into contact with it. It lasts for 5 seconds and also has a 60 second cool down as of right now.

The Thief is the character to be created after the Golem. The Thief is a hit and run class, she is for the players who would rather kill one enemy at a time instead of taking on hordes. The Thief is much faster than the other classes allowing her to escape enemies much quicker and also travel around the map with greater ease. She has the ability to poison her enemies as one of her specials. Activated by the Z key, the Thief coats her weapon in one of three random poisons unknown to the player until the time of the strike. When an enemy is hit with the poisoned weapon it will either be paralyzed, weakened, or afflicted with a damage-over-time poison. The poison ability has a current cool down of two minutes. The Thief also has the ability to sprint for a short period of time. By pressing the X key the Thief's run speed is increased allowing her to sprint much faster for five seconds. That ability has a minute cool down.

The Skelewizard is next character on the list, he is a caster and is for those players who would rather keep a distance from enemies. The Skelewizard has a much higher attack power, but also takes double the melee damage than other characters do. The Skelewizard's two special abilities consist of a buff and an AoE attack. The AoE attack activated by the Z key causes the Skelewizard to drop a strip of tentacles that causes damage to any enemy that comes into contact with it. The attack lasts 5 seconds and has a 60 second cool down. The second ability is a buff. When activated using the X key the Skelewizard has sever stat increases. His damage done is increased, his attack speed, and run speed are all increased. This buff lasts 15 seconds and has a two minute cool down.

The final character added to the game is the Pumpkin. The Pumpkin has a slight attack power increase at the start but his true power lies in his abilities. The pumpkin has two abilities a thorn shield, and a pumpkin throw attack. The pumpkin throw is activated by the Z key and when activated the Pumpkin will hurl a pumpkin (supposedly his own head) at the enemy cause a large amount of damage. The attack has a 60 second cool down. The next ability is the thorn shield. When activated using the X key a shield of thorns surrounds the Pumpkin absorbing 200 damage until it is breaks. The ability has a two minute cool down.

All these characters are working, but some of their abilities and animations still need to be tweeked and what not. Other than the characters we are now working on a new mystery chest mechanic that will appear randomly on each level. The chest will contain a random item, ranging from a coin to a new item that we are working on. That has not been started yet though, so there is more to come on that in the next update.

These blog posts from now on will be the preview for the Youtube dev updates that we also put out. Those will normally come the weekend following the blog posts, so that is when I am hoping to get this one done. I plan from now on doing one update a month. I feel as though that allows for a more constructive post.

Our Youtube channel is located here:  https://www.youtube.com/channel/UCaJ1FgrlKZSnVPCSb342Nww

Well, thanks for reading! This was a long one.

- Frankie

Wednesday, October 15, 2014

Floors of Discomfort - Development Update

We have been doing a lot with FoD over the past few weeks. Jerry and I have been adding a ton of stuff to the game, as well as discussing future gameplay features that will add diversity to the game, and make it more enjoyable. The first of these additions are new unique abilities that each payable character will have, giving him his own advantages. For the Knight, the only playable character right now, the abilities added are a tornado attack, as well as a buff called "Vital Energy". Essentially what Vital Energy does is when the Knight reaches zero health he will be given 3 more health bars and his stats will be increased. The tornado attack turns the Knight into a tornado for five seconds causing damage to enemies and sending them flying in the air. Like I said, each playable character will have his own unique abilities which allows for options when attacking monsters.

While I am on the topic of characters, let's discuss how character unlocking works. The player will have to build each unlockable character through pieces of the character found throughout the levels randomly. This pretty much means that two arms, two legs, a torso, and a head will be randomly placed throughout the levels at random, only one part at a time. The player has to find all the pieces of a specific character in order to unlock, and play as him. There are already ideas for other playable characters and I am working on the algorithms to make it happen. It is a lot of fun! This is a unique approach to character unlocking because it encourages exploration and taking the time to look through each level. As a developer, it is very exciting.

Other additions to the game that have been implemented already include mainly ways of making each floor more diverse, and dangerous as the player progresses through them. Environmental dangers such as lava, mud, stuns, and spikes have been added to the floors. On floor two there is now a giant eye (well it's supposed to be an eye) that hovers over you and periodically shoots down a ball of electricity at the player. If he is hit by this he will be stunned for five seconds. Floor three introduces mud patches, these floor tiles will slow movement when stepped on. Floor four introduces spikes that will cause one bar of damage when stepped on and floor five introduces lava which has the same effect. These environmental hazards add a higher degree of difficulty and diversity as the levels progress. It is no longer about just avoiding the enemies, now the player must also watch where he stepped because the world around him can cause harm as well. Without these hazards, items such as the springs and the parachute may seem rather useless, so adding these hazards also encourage the purchase of those items from the show as well.

Other than those major additions to the game, the rest of development has consisted of bug fixes and touching up the game graphics wise. Certain character sprites have been redone. The crate sprites have been redone. The keeper was removed from the game as we felt he wasn't really appropriate. An options menu has been designed, but I have yet to do the programming to implement it. There is now a loading screen when the game starts, and there is a company logo as well during the start of the game! You know, all the aesthetic stuff. That's pretty much it for additions.

Looking forward there is still a bit to do, but we are starting to narrow them down. There is talk between the two of us about possible mini-bosses that would appear on each level, they would be completely optional but they could potentially drop something more valuable than just coins. Such as maybe an item or something. All of the alternate playable characters have to be implemented, as well as the building of those characters. A character selection screen will have to go along with that as well. After those two things are added there really isn't that much more to do, it will just come down to doing some graphical and gameplay fixes.

Development is starting to move away from technical improvements, and move more toward gameplay. We are starting to really focus on how we can make the game look and play at its absolute best. Development is really moving along and we are starting to get excited! There is no real set date of release, but it is starting to get closer. I am hoping to have a Youtube video late this week or early next week showing all of these changes that I have mentioned in this post. Today is a good day.

- Frankie

Friday, September 26, 2014

Where we are with development, and other general stuff

Well, after four months of developing we have finally reached the development of the final boss level within the game, and you have no idea how happy I am. Last night I finished the implementation of the final boss, Nexrolis. In this post I'm just going to go over how the boss works, and show some pictures.

So, if you don't already know, the game we are working on is Floors of Discomfort. It is a roguelike dungeon crawler with a bit of platforming. The way the game works is that there are five levels leading up to a final boss fight. Throughout each level you have to collect coins then find a key that will allow you to advance to the next floor. Each floor has it's own theme and level of difficulty.

The sixth level is where the boss resides. He will be the final fight in the game and will result in beating the game if he is defeated. Nexrolis, as he is called,  has a three stage attack. He first executes his melee attack, a quick stab. If the play is close enough he will be dealt 10 damage.

Below is a picture of the stab:




Nothing too fancy about it, just a basic stab animation. Soon after though, he conducts his range attack, quite a bit more devastating than the previous attack. With this attack, Nexrolis casts a shadow skull at the player. The skull moves rather slow, but if it collides with the player it will deal it will deal 30 damage.

Below is a picture of the skull animation:



Nexrolis' final attack is the fire rain. The attack is pretty self explanatory,  he causes fire to rain from the sky. It is his most devastating attack, and hard to avoid, but it is possible. The goal in creating this game was to make it very hard, but possible to beat. When you die you should feel as though it was a mistake on your part, and not the game being unfair. Anyway, below is a picture of the final attack.




The animations are very smooth, and everything for the most part is working. There are still some things that need touching up, but I am very pleased with how everything came out.

Nexrolis isn't going to have a health bar, and there is no pushback when he is hit so we are going to have to figure out a system for giving the player some indication that he hurt Nexrolis because if not the boss fight won't feel right. Other than that, things are going well.


Looking forward there is still a lot to do, but not so much gameplay anymore, development is starting to move toward aesthetics now. The entire game needs to be scaled up because the scale is too small, that is going to be a project. A pause menu has to be implemented, an options menu, the backgrounds need to be animated. The core gameplay, however, is done and that is a huge milestone.

All in all things are progressing quite nicely. We are going to start work on the cutscenes and making the game look awesome and then it will be time for release! Things are moving very quickly, it's hard to believe that only a few months ago this game consisted of a bunch of squares moving around the screen... it's crazy.


Monday, September 15, 2014

Floors of Discomfort - What is being worked on now

After the previous post that I had published about minute ago, I decided to make this short post that will highlight the new features we plan on adding soon.

The first addition being a hot bar in order to map the player's items better and display it in a more logical way. What I am mean is, the play can go to the shop in order to buy weapons and spells of sorts. As of right now, those attacks are mapped to seemingly random keys that the player would never be able to figure out on his own without someone teaching him these buttons... Obviously this is not how it should be, so we have introduced the idea of the hot bar which will hold the spells and map the spell to one of the number keys. This is a change that we have wanted to make for a while, as it is an essential change, but only recently have we gotten around to it.

The next addition being a brand new enemy which will be the second enemy to reside on the bog level, which is the third floor. This enemy is named the Voodoo Master and he has the ability to teleport and shoot some type of arcane ball from his hand. We haven't yet worked out the specifics for that guy but the start of the animations are done so he will be thought out more and implemented.


The final addition that we plan on making is the final boss level. That also still needs to be thought out a bit but there is some idea for how he will work. Once the boss is made that will conclude the core game development itself and we will be able to focus on the aspects of the game that are not quite as important to the core concept of the game, such as an achievement system, extra playable characters, etc.

The development process is going quickly, and a lot of progress is being made every day. I am not yet sure of an exact release date, so we'll just see how things go.

- Frankie

Floors of Discomfort - Where I have been and what I am working on

I left this blog off several months ago during the development of a game engine at the time I had called 3 Prong Engine. The development of that has stopped as I have moved on to bigger things which I will get to in a little bit. I had started talking with some friends about a game idea in late June, a platformer of sorts which would use 3 Prong Engine as it's base code and test the engine's ease of use and what not. The problem was, at the time I really didn't have much of an idea as to what I was doing when it came to game engines, and so the project soon turned into a big mess of impossible to manage code, and so the engine was retired with the game idea. At some point in the future I do plan on possibly restarting the work on the engine again, because they do help, but as of right now I am going to stick with my current game development method. However, that is not what this post is about. I want to write about what I have been up to during the summer, and why I have just neglected to write a post since June.

After retiring our previous platformer idea, which we do plan on coming back to at some point, I started playing around with random level generation. It was nothing more than a fun thing I was doing one night, nothing crazy, but then all of a sudden I had an idea for a game. A platforming, side scrolling, roguelike dungeon crawler that would be hard as hell, and like that Floors of Discomfort was born. Though, in the beginning it wasn't called Floors of Discomfort (I think I had named the folder Storm Cloud or something..). I had proposed the idea to my friend, the graphics designer on the 3PP team, and he thought it was a great idea as well and so we started development.

He started making some graphics for it, I started laying out some basic collision maps, and randomly generated levels. Before we knew it we had the beginning of a game, the first floor was done, we had some items, and the ideas were starting to fit together. This was about mid July. We still didn't know where we were going with this, or what our end goal was, but there was something here, we both knew that and so we continued.

Here is the first development video I had posted on YouTube:


As you can see in that video, things were still a little shaky, not everything was looking and working correctly, but the concept was there.

Fast forward a few weeks and we have already successfully created the second floor. Things started to really take off, and we started to have a vision for the game. We knew what we had to do. This next video update is of me talking about these additions.



Things are starting to come together a little more here, I had made a few bug fixes, and an entire new floor was in the game now.

Going forward another few weeks now and we have made a ton of progress. Three enemies are now present on the second floor, and the third and fourth floor have been created. I had done a complete rewrite of the game pretty much during that development period and so everything was working smoother, but there was still a lot of work to do.

This is the third video update for the game.



After that update it was two weeks until I had posted the next update. That update is the most recent update, and even though it is far outdated from the most recent version, it highlighted a ton of progress. A new level, five new enemies, and a new item.

Since then there has been a crazy amount of progress on the game. Enemies have been redone, new enemies have been added, bug fixes, and player movement flow. I plan on making a video this weekend on all of the new additions and fixes because it is too much to highlight in this post since I am so backed up on my blogging.

So, yeah, that is what I have been up to for the last few months, and why I have suddenly disappeared. With the development of FoD progressing though I will be making blog posts whenever I can, probably whenever there is a new addition to the game that I feel should be highlighted. I tend to only make the videos when I feel that there is a mile stone that has been reached, but the blog posts can be more frequent and highlight smaller changes in more detail than I can in a video.

Anyway, I am back, so expect some stuff. I am going to keep the old posts for novelty value, just know that the development there has been halted and the majority of my development time is being spent on FoD.

- Frankie

Thursday, June 19, 2014

3ProngEngine Update - Images, animations, and lots of progress.

School is finally over so I had time today to do some more work on the engine. Things are coming along really well! I even had the chance to start developing a game with the engine (with the help of two friends).

In the recent push I have added support for different animations (walking, jumping, attacking, etc). I added a "state" field to each custom object so now everything has to be stored as a dictionary inside an array. Other than that I just did a lot of touching up here and there.


The gif below is the engine in image mode, the mode that would be the end product of the game that shows all the fancy graphics (not made by me btw). The gif demonstrates the pushing of objects, background bliting, and just some general movements around the map.

(Picture removed)

There is still a lot that needs to be improved on. The gravity feels a little too slow to me right now, and jumping is choppy. There is still a long way to go, but progress is being made. If you notice within the gif that when I move the play he turns back to Rect mode (the blue square) this is because I don't have any images set for the running animation yet. This is a feature that I found useful when debugging the animations so I left it in.

Hopefully with my next post will come a full fledged level that will be playable, but we'll see, I still have a lot of work to do.

This was just a quick update, I don't really have anything else to say about this right now so until next time, thanks for reading.

- Frankie

Saturday, June 14, 2014

3ProngEngine Update - Preliminaries done, now for some more fun stuff

Just about a minute ago I pushed another change to the 3ProngEngine repo. With the change comes with it optimizations to the physics module, enemy mechanics, and in game object mechanics (inanimate objects that is). It is so exciting! I am getting closer to having a full fledged usable engine that I can adapt for a lot of awesome games.

I have been planning this change for a very long time, but with school and exams during this time it has been hard to really sit down and code. I was free today so I just sat down and started programming. I did have a plan so everything went very smoothly, but it is just such a relief to have it done.

There aren't many visual changes yet, it still looks as it did in my previous post. There is however a new amber square that represents the inanimate pushable objects in rect mode, but that isn't really too exciting. All the changes are mainly backend, I am starting to gear my programming toward making it easier for other people to add modules, and get things done, instead of just myself so that was also a part of this change.

The next step in development is to get all the animations situated. Working with the JSON configs for each object. That is going to be a tricky part, but once it is done adding sprites is going to be so much easier. In the next update I hope to also add some support for text on the screen, that is a must in any game obviously so it is on my to do list.

I have also been thinking about adding support for main menu screen and all that stuff.... but I digress, I am starting to ramble because all of a sudden I am getting a rush of thoughts through my head.

One final thing, as I start adding support for images and all that I hope to start developing the game that persuaded me into creating this engine again. I will have to remake it from scratch using 3PE but that was the whole point... with that will come many pictures and hopefully some videos as well .

The future is looking awesome, and with summer vacation just around the corner I am expecting to get a lot done!

Until next time, thanks for reading.

- Frankie

Friday, June 6, 2014

3 Prong Engine Coming Along Well

Recently I have set out on a mission to create a graphical game engine on top of the PyGame framework that I will be using to make most of my games in the future. The reason for this is simple, game programming is a long tedious and boring process when a new project is started. I have found that I repeat code again and again from other projects. It takes hours to set the ground work of a game before the actual fun stuff can be begin (graphics, game logic, etc). Due to this I have decided to create the 3 Prong Engine so that when I make games in the future there will be little to no programming, besides maybe adding a new custom character type or something, and I will be able to focus entirely on the content of the game and make it awesome!

The engine will be open source of course because I feel that everyone should have a chance to make awesome games, and also to spread the word about Python and PyGame. People underestimate the power of these technologies and hopefully by churning out some games using this engine more people will be able to see Python's power.

Here are a few pictures of the engine in use, so far I have the collision engine completed as well as a module system so that adding new object types is as easy as writing a Python class. Each module is described by a JSON file that will direct the engine toward where all the different sprites are held. I wanted to make all the preliminary work quick and easy so that the developer can work on maps and gameplay.

(All of the images below are of the skeletal version of the map and players because the examples are in Rect mode. This mode makes it easy to test the game without having images created)






The images below and above are the edit modes. They allow you to draw the collision grid and set the starting point of characters and enemies. 



 The file above is what a json config file for a player/enemy type module would look like. It is basically just defining all the images that the object will use when it is in a certain state. When not in Rect mode they are arrays of images so that they can be animated.



3 Prong Engine is still in it's very early stages of development. I plan on posting later on when more progress is made, and hopefully in the near future start creating some games!

If you would like to try out three prong engine you can check it out on my Github here: https://github.com/Max00355/ThreeProngEngine

There aren't any docs yet so it may be a little confusing.

If you'd like to check out some of my other creations check out my Github projects here  https://github.com/Max00355/

I have a lot of cool stuff on there.


Until next time, thanks for reading!

- Frankie



Sunday, June 1, 2014

Welcome

Hello everyone and welcome to the site 3 Prong Productions! My name is Frankie and I am a game developer. This blog will consist of my current projects, and all the progress I am making on them.

Stay tuned!