That’s me more or less finished my TDS for UNversity. It’s been hard, but I’ve learned a lot about C++ and developing games along the way. The game certainly isn’t perfect, there’s a few glitches in there and the level design is iffy at best, but it does show off all the game features.
I plan to record a video tomorrow and upload it showing off the whole game (it’s not portable) but here’s a few screenshots for just now.
Okay, so I’ve nearly finished my project for UNversity. I’ve (finally) came up with a title for my TDS, ‘Machines’.
I’ve also added some new features (and updated some old ones):
- Right click to deploy a turret which targets enemies (or bullseyes).
- 4 Enemy types (normal, brute, human and ghost)
- 5 Weapons (pistol, rifle, machine gun, shotgun, laser-rifle)
- 2 Traps (lasers that turn on-and-off, saws)
- Destructible blocks
- Bullseye targets which you shoot and they open locked doors
- Messages that appear whenever you collect a ‘note’.
On top of this I’ve designed 4 levels which test all the features as thoroughly (and shortly) as I could manage. Right now I just need to add some finishing touches, tidy up a few things and it’ll be done.
Hi, sorry for the lack of updates this month (though don’t let that make you think I haven’t been working).
I’ve updated A LOT of my code (again) and created a lot more files which makes everything look a lot nicer and is much easier to edit now.
I’ve also updated my collision detection code which can now test between a square-and-square object, circle and circle or square and circle.
Graphics (also done by me) have been added, which you can see in the screenshot below. I put in a Laser-Rifle weapon, which works very similar to the normal Rifle except the bullets keep going after hitting an enemy (they are destroyed when they hit a wall). I still need to do ammo for the guns, but that shouldn’t be too hard.
Two new features I have done as well are; Saws (which kill the player or enemy on contact) and a Lock and Key system; the player collects the key and any lock-blocks are instantly destroyed.
I still have one more feature I’d like to add (more on that in my next post), then I’ll add a few basic levels to test out the features (and my own level-designing skills). I’ve already tested my coding with multiple levels and it works, so it’s just a case of designing and implementing them.
Here’s a quick screenshot of what I have so far (the graphics are still a bit rough in some areas)…
Today I forced myself to sit down and try and code the forth gun for my game, a shotgun. I put it off for a while because I couldn’t wrap my head around how to fire three bullets at the same time, with slightly different angles. But I tried a few things and did manage to do it, now time to tidy up the coding.
So far, my OpenGL C++ Top Down Shooter is coming along nicely. Some of the coding isn’t as OO as I’d like (due to my limited C++ knowledge) but I have managed to make a small demo, which I am going to continue to expand upon.
Basically, since my last post, I’ve polished everything fairly heavily. In 2D Graphics programming, one of the comments for my Lunar Lander game was the overly-complicated collision detection code, which I’ve managed to heavily update for this game. The collision detection is now one function call,, instead of 8 lines of coding and one function call, and there are separate functions which can test the direction of a collision as well.
I’ve also made everything a lot more OO, though it is still not completely (or as much as I would like) but I’ll keep going.
I’ve also added 3 enemy types; one is small, one larger (practically identical in AI to the smaller enemy) and one who shoots the player. The shooting-enemy is identical to the small one, except he moves slower and shoots the player. He can only fire one bullet at a time currently, and I may update this (though it actually works better than I expected with only one bullet).
I’ve also added health to the player and enemy. And I’ve updated my ‘test an object’s existence’ coding, which was unnecessarily confusing before.
I’ve added a couple of screenshots from the game right now. The graphics are fairly simple right now, but they will be updated further into development. I also plan on updating this blog more often, since I’ve been neglecting it recently and I am working on the game practically everyday so I always have stuff to say.
Sorry for the late-ish post :L. After finish university I immediately began creating a new project, so I’ve done a lot of work for it. I have created object translation to simulate a moving camera, collision detection for the player and blocks which allows the player to smoothly slide along the block, player rotating to the mouse, the player’s gun firing like a machine gun, basic enemy AI (see player, moving towards player, don’t see player, do nothing etc.) and I’ve made a small demo level (a maze).
The few problems I’ve had with the code I’ve manage to fix myself (usually the problem was rushed, messy coding). Here’s a quick list.
The player’s bullet not moving towards the mouse when fired, but the program was messy coding that I couldn’t really follow myself :L. The coding was cleaned up, more functions created and an array holding the vertical and horizontal speeds.
The player ‘getting stuck’ in blocks. This was because the block couldn’t tell which direction the player was coming from, and would stop their speed dead and the player couldn’t move again. I changed the code to detect what direction the player was coming from as well, and then stop the players speed accordingly.
Enemies walking through walls to get the player. This problem was because the enemy couldn’t see the player through a wall, but there was nothing stopping an enemy walking through a wall. So I duplicated the player’s collision detection code for the enemy to fix the problem.
Hi guys. This blog was created for UNversity 2013, hosted by Daniel Livingstone. It’s basically a ‘do something useful over the summer’ type thing. Some people work on a project, other learn a skill from a book.
Me, I’m going to make a top down shooting using C++ and OpenGL. My goal is to make something more complex that my 2D graphics assessment, yet still carrying on from where we’ve left off. The aim is to have something with translating objects (to simulate screen moving) slightly more complex collisions that a box, basic enemy AI, and a few other less programming features like switching weapons.
Also, I’m going to read about Software Design Patterns and learn some Java (since most software design patterns seem to be written in Java).
Hopefully, I’l become a much better programming by the end of summer and be ready for the second year of university!