Featured Post

Doom Classic Plus



A game that I loved playing when I was much younger. The extra I’m adding to this game is dodging and a hop, along with a power up that slows time down for everything other than the player.


First thing was making a quick list of all the stuff I would be making in the game. Then making all the gfx I would need for the game. For the mobs, I had to make each action (stand, walk, hurt, shoot, die, and dead) in eight different directions so that they could face away from the player. Then I created all the items, all the FPS actions (shooting handgun, cocking shotgun… etc.), then I made all the HUD and UI gfx, and finally I made all the textures.



Once development began, I realized that everything in the game that wasn’t the level would need to be a flat image facing the player the entire time. That involved using the single axis point at how do, with some extra work to figure out the trouble shooting. Then I needed the mobs to have their own direction so that they could face one of eight ways. Thankfully the Paper 2D plug in for UE4 has some flipbook functions to pull the current play location to plug that into the changed flipbook so that there was much less jumping from changing the facing directions.



Then there was the ray tracing shooting. To match the classic doom, it took more work than what they had to go through, because UE4 is a true 3D engine while Doom classic was not. So howI did it, was that I used a cone based on the distance of the weapon and the player’s facing angle to find any mobs inside the 2D cone, no matter what their height was. Then I would sort the list of potential hits by distance, then perform a ray trace from the player’s weapon to the mob, if the ray hit the mob then it was a hit. The rocket was a lot easier, it just shot out.



After most of the mechanics of the game were done, it I started in on the levels. Only three levels in total. It was a fun challenge. I learned a lot, did some things in a bad way but since I have, I can do better the next time.



Trailer: https://www.youtube.com/watch?v=-R6YorTY2Pw

Game: https://www.gamedev.net/projects/1758-doomish/

Assets: http://devpirates.com/Res/Media/Zips/DoomAssets.zip

Recent Posts


The idea this time was to take Robotron 2084 and add something new into it. Dodging was added in (as well as some power ups). The dodge moves the player faster for a short time and it avoids enemy bullets. This also required the enemies to change a little bit to make it tougher.



The aiming is also a bit different, using the mouse instead. Which also led to some changes in the enemies to make them harder to hit when they’re wandering around. So the grunts are pretty much the same. The Hulks will charge at the player if the player is directly in front of it. The enforcers pursue but keep their distance. The brains only hunt the player if there are no more family members to convert.



I’m getting better and faster at making these. That’s a good sign, I think. This is the seventh game in the plan, and half way through the second level. This game was a bit less complex than others, but the original is very well balanced. I didn’t balance the game too well because this is only one level and I wanted to get the different kinds of bots in there.



My next attempt, I think is going to be Metroid, with a damage buffer. I’ll also be adding in shooting in all directions using the mouse. I’ll also have to find an arbitrary stopping point for the “level” since there aren’t really any levels in the game.




At first I was going to go for a Breakout or Arkanoid game with an extra game mechanic, but when I was replaying them, I noticed that I did not like them as much as I thought I did. So I switched over to Space Invaders, which was a game I spent many hours playing when I was younger. Well, my first experience was playing TI Invaders, which is still a game I fondly remember. One difference between the two, was that in TI Invaders, the enemies would change where as in Space Invaders it would be the same aliens every level. But I'm not redoing that one, and I'm only doing one level anyway.


So then the idea about what game mechanic to add to Space Invaders. So thinking back when I was first playing the games, I had wanted to be able to aim the tank's cannon instead of only shooting straight up. So I went with that. Facing the original aliens like that though, would not have been too easy, so the aliens would have to change as well. So I gave them more than one hit, some of them can aim their shots, some have shields, and some are invincible for a time.


With that decided, I went in and started creating the assets,then started developing one thing at a time. Didn't take too long this time, partly because the game is relatively simple and partly because I am getting better. The buildings were probably the most complicated tasks, I wanted them to be destroyed a bit like in the original where only a little gets destroyed at a time. So I made them individual parts and spawned them in some loops. Maybe not the best way, but it worked out nicely.


I decided to throw in some power ups as well. I think they made the game more fun, gives the player the occasional choice to make between risking death or getting a useful upgrade. After completing all the tasks, it took a little while to balance the game down to something not so difficult. I tried out a few different strategies to make sure they would work.

And that is the end of this project. I'm thinking that the next one might be Robotron 2084 with some kind of added mechanic yet to be decided on.

Game (Windows): GameL2S1Invade.zip

Battle Unit Zeoth came out in 1990 for the Game Boy. his was a favorite of mine growing up. It’s a short game, but it was nice to put in and play every once in a while. And I played it several times over and over again. Which is why I decided to select this game to be one that I cloned in my quest to become a better game developer.



I made some 4 color graphics for this game: the main character, enemies, items, bullets, UI elements, and the level graphics. Like before I tried to spend very little time on the graphics because this part of the plan I’m only supposed to be working on the programming side of things. The graphics and other parts of game development are later on.



Like before I played the game several times to get down all the gameplay mechanics that I would need to replicate. The player actions, the item interactions, the enemies, and everything else. This time though, I was a lot better at it and missed far less than on previous times. Like before I worked through each thing one at a time until I was done.



How the camera acted was important to the game play, it needed to follow the player with some limits. While before, I had done a lot of child blueprints, in this one I did more and that made things go a bit quicker. Also, I tried things a little differently, not all of it was good.



This was a fun challenge. This is the last one for the first level of the RIP method. The next level is to make games with an additional game mechanic. I have chosen Arkanoid with enemies instead of blocks.


The assets for this can be found here: MechUnitAssets.zip

The game can be downloaded from here: NinjaGameAssets.zip

Bionic Commando was chosen because I loved the NES game back when I was younger. I got the version for the GameBoy as well as the GBC version that updated a lot. The main mechanic is a claw that shoots out and grapples and pulls the player or lets the player swing. The player cannot jump, so the bionic arm is one of the main means of movement.

It was this mechanic that I did not do well. Which makes this attempt a failure. I was able to get it working well enough but there were some game destroying bugs. These bugs around the main game mechanic could have been resolved if I redid it a better way, however, that is kind of the point of this RIP Method. Make mistakes, think of better ways to do them but move on without refactoring too much.



Another issue I had this time was when I wrote out the gameplay elements, they didn't cover all the work that needed to be done. I will have to keep an eye on that to make sure I don't make that mistake again because that seriously messes up estimates... and hurts my motivation and my feelings.

The rest of the game went well, learned a better way to handle enemy states, but I feel like it too can be improved a lot to make it even more reliable and efficient. There was some ways I thought of doing things but found better ways, for instance: I was working on letting an enemy type fall through a platform to drop down, but it was not falling. I turned off collision completely, but it was still not working right. Then I found that turning one collision channel made things work the way I wanted while still letting the enemy get shot by the player. It's a small thing, and something that makes sense when looking back, but when approaching a game engine with all its complexity, it takes some time to get used to not just finding functions but getting a feel for how the engine is designed to be used. The doors was another improved method that was made easier. But there are improvements I think that I can put in for those as well.


Anyway, the third project is done. I learned more and feel like I've gotten a bit faster and more efficient even though it took longer, I spent less time working on it because it was interrupted by the game dev challenge I did which I'm counting as my fourth project. Which means that my next project is the last stage of the first level.



The graphics are available here:

I'm choosing Battle Unit Zeoth as the project, it's a game that I liked playing on my GameBoy when I was younger. It's a side scrolling shooter where you control a mech and shoot bad things while getting weapon upgrades. It was a short but tough game to get through.