I haven't touched this project since my last update on October 24 2018, motivation is a bit shot with this one... but I'm still going to try to complete the challenge.
This project is really just an excuse for me to try out Unity as I've never used it before. I've spent a few days in the engine and must say it's pretty straight forward and thanks to @lawnjelly for helping me out with a few questions I had.
I did a quick animation for the frog jump in Blender, then loaded it into Unity, and added in the movement to work with parts of the animation. Nothing outstanding animation wise but it will work for now. Movement will stay 4 directional with animation lock.
I'll need to edit the move value once I figure out spacing.
Later today I'll workout my "game plan" for how to put everything together then post back. I haven't really consider scales yet for objects, or environment textures.
Anyhow, that is all for now.
Hey everyone! I had some extra time today so I deiced to go ahead and finish up the boat model, windshield, and texture it all up.
I'll change up the color if I need to add in variation, but this will be my final model for the boat itself.
This will most likely be my final blog post for any GFX updates on this challenge.
I have a few other assets to make:
Logs, Ground, Road, Grass textures, Water texture, Lilly Pad. Then on to the overlay and menu. Then I need to finalize animations.
I ended up picking up one of my low poly models I made a while back (no hair, no eyes, no brains, no worries!) and did some 3D clothing on him for fun last weekend. Yes he is kinda floating in the air. I find that many people find clothing to be a daunting task when starting out, but it doesn't have to be!
There are a few approaches to making clothing.
1. You can take your base mesh and extract parts from it to form shirts, pants, boots, ect... This would most likely be the simplest approach.
2. Another way to make clothing is to use a similar method that we use when retopologizing a model. You can create clothing by adding geometry above the surface and having them snap to the shape of your mesh. This gives you a lot more freedom than step 1. You'll have to toggle your snapping when extruding out for clothing that doesn't hug the body.
(You might be able to use your clothing shell in a cloth simulator as well! Give it a try.)
3. Sculpt clothing! I've seen people who're really good at doing this!
4. My preferred method is to create patterns using 2D planes, then sewing them over the mesh and simulating. You can do this in different software or even blender.
What about animating with clothing? Well that is simple. If you made your clothing on-top of your mesh in a neutral form you can just move the clothing with the body, however it might not look as natural. Another method would be to simulate your clothing with movement from your character and create an animation for the clothing itself in relation to the character's movements. Keep in mind that higher poly counts matter for quality. You can also bake high poly clothing. Your character mesh animation, and your clothing mesh animation should be in sync when combined. Beyond that you can take advantage of an actual cloth system within an engine, but consider how expensive it is to use. It's common to have static clothing attached to the character, while leaving other parts to be simulated.
What about folds? Well, if your simulation quality is good enough you don't have to worry about it, but the quality of your folds comes at a cost in higher poly counts. If you're using method 1, 2 or 3 then I would suggest using sculpting tools to create natural looking folds, unless you're able to do with with edge tools.
There could be other methods out there and I would love to read what you personally use to make clothing.
I wasn't able to sleep tonight so I thought I should at least work on my Frogger entry. I finished up the car model that will be used, and it's pretty rough but I'm okay with how it looks for this project. I'll change up the paint color to add some variation as I'm most likely not going to have time to make trucks, vans, ect...
I modeled out the shell, tire with rim, and windows then textured it all.
I ended up editing the lights as I had the emission shader on giving it that prior red look everywhere, but I also fixed up a bit of the texture. You can see the NEW and OLD below.
This is my only and final change as I'm keeping the design the way it is. My end goal in these challenges is to create my own graphics and program the game solo. This was a quick fix, but normally I won't do edits that take too much time as this isn't an 'art' challenge. I think the new lights are better than the old and I'm fine with the result.
I'll be reducing my asset list a bit... My next task is to create a small speed boat model. Stay tuned!
Hello everyone. I've been busy working on materials for a project, and thought I would share some quick renders of one material. This material would be used in a 'lava' based environment. The material has built in controls to adjust to several different states like seen below.
I'm pretty happy with this material the dynamic ability to adjust to several environment layouts. Also... I'm hoping to write up another entry on my 'Frogger' GameDev.net Challenge progress within a day or so as my time has been pretty limited.
Thanks for stopping by!
I had some extra time this evening and wanted to do some terrain renders for fun. I know that a lot of people will use procedural tools to generate terrain layouts, but I wanted to toy around with just sculpting on a square with some brushes I created to make a few quick terrain renders.
The first step was to use my custom brushes to sculpt out some landscape as shown below.
This mesh is 1.5 million polygons
I then had two lower poly versions made up because I wanted to see how low I could go and still keep a decent bake result.
The first test was at 90k polygons:
I then took this mesh and hand painted it and rendered the following result:
My next test was to see if I could go lower. I tried my mesh at 16k polygons.
Once I baked, and hand painted everything I was able to get this result from rendering:
I then took the render into Photoshop to add a more softer snow on top:
The snow is pretty "rough" still but I didn't have a lot of time left today. I'm pretty happy with the bake and render though for my 16k poly mesh.
Anyhow! This was just a little thing I wanted to do for fun this evening. Thanks for stopping by!
Hello everyone! The next challenge has been announced for Fall with the goal to create a game with similar elements as Frogger.
This is going to be an interesting challenge because I'm using this opportunity to try out the Unity Engine. For those that know me here, I've mainly use libraries and code my games from that, otherwise I would use Unreal if I wanted to make a serious 3D game. I normally use C++ in engine programming, tool-kits and my games, but I did use C# a lot back in the XNA days, but I don't have any doubt in my ability to code using C# for this project.
My goal is to create the basic level where the frog will need to avoid traffic, and the water hazards before landing on the lily pad. I'll be creating all the visual assets myself, but will find sound and/or music from a royalty free site as I'm primarily a programmer and artist.
Below you'll get a look at the Frog character I made. He is fully textured, and game ready. I've also rigged the mesh and I'm working on the animations. I need to fix up the eye control as I did the lazy approach when connecting them. This is the first "frog" I've ever made, but I'm happy with it.
Rendered: Low Poly after being Baked from High Poly. Then I texture painted the maps.
I'll be setting up goals I need to achieve as I work through this, but my main goals are finishing the graphical assets first and completing the animations so I can spend more time toying with Unity.
My current asset list right now is (This may change later):
- Wood Log
- Ground (mix of grass and dirt)
- Lily Pad
- Boat (or a small Sea-Doo)
Other Important To-Dos
- Complete jumping animation for the frog
- Make a small mock-up for the menus and basic interface
Hopefully my next update will have a mock-up. Thanks for reading. If you're interested in joining in check out the challenge post below:
I'm almost finished my "basic" simulation for this game. In my first entry I was talking about how August really wasn't a good month for such a side project due to my corporate tax year end and other meetings I had to attend to. So this game is going to be pretty basic with simulation in mind and player input during the batting phase. I wish I could do more with the game, and I even had some animations made, but the amount of time I have left until the due date (Saturday September 15 2018 11:59 PM IDL) isn't going to allow me to do much, but I'll push out what I can as the requirements said it can be text, 2d, or 3d and be a simulation as well. I wouldn't mind making a full 3D baseball game but that would take months!
I have three screen shots to show below but first here is the bird alien creation I made that evening when I posted:
I've modeled, rigged, and textured all the below assets to at least give the game more a visual appeal.
The game will consist of two teams with 9 players per team and use random events to simulate possible outcomes. The player will be able to see their loaded bases, and decide the direction they want to hit to allow runners to make bases more easily. On the computer batting phase, the turn will be simulated right away. I was going to add in real time outfield play but I don't have the time at this point. The first one to hit 21 points will win once both team have played an equal number of hands.
My next blog post will be the final game to complete my entry.
Thanks for reading!
EDIT: I was going to make another blog entry regarding the completion, but I've decided to just save the next entry for the Frogger November Challenge. I did manage to complete the Baseball Summer Challenge.
I’m a bit late to the party on posting my blog updates for the Summer Baseball Challenge 2018 at Game Dev.Sadly I had so much work in August as it’s my year end for my companies, and I had a lot of client meetings to attend to. I’m still going to complete this challenge even with deadline being September 15 2018. 😊
I’m taking a very simple approach here because of my time limit, and I have made simulation games before but won’t be able to go full featured here, so I’m still on the fence with how much control the player will have. My plan is to create two teams which have nine total players. Each player will contain stats that determine running speed, batting percentage, catching ability, throwing speed. I will follow the Knickerbocker rules as much as possible even though I’m not up to date with the rules but did go over them.
My plan is to have the player be able to control bat swings, and outfielders with throwing and movement when not up to bat.
The theme for the game will be on an alien planet where a bird hybrid alien race will be playing against each other. I will look at making shirts to define each team.
Below is the race you will play as and against in this baseball game. 😊 I have a game ready version that is rigged which I’ll setup the animations for swinging and throwing. I’m not sure how clean I’ll get due to the time restrictions. I was able to make a high and low poly version then texture the model below this evening.
My next entry will show the play area for the game which I’ve mapped out and I’m working on. 😊
Thanks for reading!
I haven't really been posting much in terms of blog updates as I was waiting on the next GameDev Challenge to be announced. I'm working on a another project and did a gargoyle head piece for a wall scene which I thought I would share. It's a lizard type creature.
Newer - Fixed Teeth + Texture
OLD - Below
I'll be posting my updates for the new challenge soon! For those that haven't seen it, you can check it out below:
Part 10 of the GameDev.net Tower Defense Challenge:
With only a few hours left before July 7th is over by UTC -12 time, I've completed what I could for this challenge.
You can download and try out the game by visiting my project page:
I've had to trim down a lot of what I wanted, but I was still able to meet the bare minimum requirements. I have 20 waves, with the final wave being a boss one. Each wave will have one or more of a type of elemental creature. Also, every wave will increase with health making it important to maze properly and use the proper towers.
Things I wanted to do but didn't have enough time:
2. More sounds, and a better music track
3. Better wave setup
4. Difficulty options
5. Cleaner movement for the rock creatures in open areas (They will move only 4 ways, so if there is an open spot they will move in the shortest path, but like an L, not diagonal as movement is based on 4 way grid pathfinding.)
6. More upgrade options such as faster speed, range, and effects. (I had these features coded in at tower level, but I don't have the time to program the creatures to respond to them right now.)
7. Tower multi-shot - Right now all towers are on a timer for when they can re-shoot, this prevents the mini-gun effect, but I only put in 1 shot slot per tower. This means even after the timer to shot again is past, the bullet has to be destroyed before the tower can shoot again. I didn't have time to optimize my collision checks so this was my starting point, but if I had time I would put in a 5+ shot capacity or something per tower. With over 500 tower spots (range zones) and up to 60 creatures on the map, and 500 shots, that is already 30000 possible checks for creatures in zones, and another 30000 for shots (if every possible tower slot was built, and shooting). I already know how to optimize it pretty easily, I just don't have the time right now.
Some of the big issues I had was just work and life getting in the way. I ended up leaving this project to the very end which makes it hard because any little bug or hiccup can delay you hours or days depending on the scope. One issue I had was my IDE was throwing major errors and crashing a lot, then SFML was stuttering heavily with camera view usage but I've fixed that as per my other blog post about it. Sadly I didn't have enough time to properly balance the game, and this was a big part I missed, but it was either finish the challenge or not finish it while playing around with balancing.
Another little issue I had is sometimes the rock creatures would jitter a bit when moving if the camera was putting them at the center of my pc screen by panning. It was happening in the centre line of my screen and I think I fixed with with VSYNC. I'm using a fixed time step with variable rendering and all movement and panning is smooth due to linear interpolation, but who knows, on other games I get this issue at times on the mid point.
My biggest time drain was that I programmed the game from the ground up without any engine, only using a library (SFML), and coding away. I could've completed this faster otherwise but I really enjoy creating things from nothing.
Keep in mind the balancing might be horrid considering I spent all of my time on programming.
Thanks for reading! This concludes my 10 part blog for this challenge.
Part 9 of the GameDev.net Tower Defense Challenge:
I had to step away for a bit since my last update, but I've completed the basic framework for the game now. Below is a GIF of a sample wave. Keep in mind some of the shots wont be seen because when the creature is directly next to the tower (left up down right) hit happens so fast it doesn't display, but still happens. I will be making a hit animation so the play will at least know it has happen. I also have health bars.
For this test each shot does 10 HP, and every creature has 100 HP.
GIF DEMO BELOW:
(In my current version the creatures don't display until they're ready to move In the below they're stacked because I didn't have my toggle on for visibility).
Now I need to do the following:
1. Make orbs for each tower, and very basic animation showing hit was done. - little amount of time needed
2. Program in DoT, Rapid Shoot, Slow, Stun, and AoE (I might not bother with this and just put in Slow Shot but big DMG due to time) - little amount of time needed (Already programmed in the feature, just need to enable to the effect on the creatures based on their types)
3. Add in Upgrades (For now I'll just do DMG++ as I'm pushed for time) - little amount of time needed (already programmed for towers, just need to add a ++ feature to connect to upgrade menu)
4. GUI Top Menu (I haven't shown the top menu yet, but it's there and doesn't update yet) - little amount of time needed
5. Gold Drop per kill, and proper buy and upgrade, sell menu - little amount of time needed
6. Config all 20 waves with boss wave + Wave Starter - most amount of time needed
7. Main Menu - little amount of time needed
8. Sound - little amount of time needed
--- Beyond this I'll do some touch ups if I have time. The main thing is that my entire engine is programmed with all the functions needed to run a tower defence game like this.
I can see the light at the end of the tunnel!
If you missed Part 8, check it out.
Part 8 of the GameDev.net Tower Defense Challenge:
I've been up early this morning attempting to finish this project. I have the following done today.
- Tower range collision zones with check lists
- Towers can shoot and the shot will go towards the point which triggered the action (These shots do not follow, they release towards the point of contact)
With this done, now I just need to get a wave loaded, and tower shooting for more than one enemy.
I'm hoping I can finish this! I believe it's due before July 7th - so by midnight... Not sure what time zone as it's 1:54 PM now, and I'm running out of time. I'll be cutting back on features but it's still a stretch!
Added: More than one tower shooting, plus mazing, see comments.
If you missed Part 7, check it out.
Part 7 of the GameDev.net Tower Defense Challenge:
I'll need to wake up tomorrow around 5 am to finish this up, but I've completed the following today.
- Fixed camera stutter
- Mouse Tile Clicking (Builds and Upgrades are Key Commands though)
- Programmed Tower Building and Selling
- Programmed all Tower Slots (600 on this map are possible)
I just need to enable the shooting and effects for each tower with range. Since the pathfinding is done, I need to add in health bars for the rock creatures. Once this is all done I'm very close to the finish line! Few things left like GUI updates - There is a menu above but it's not included in the screen shots. Then I need to add in gold per kill and upgrades. I'll do the main menu and audio last as it wont take more than 15 minutes to setup.
I'll be taking the full day tomorrow to work on this before the due date.
If you missed Part 6, check it out.
I just spent a few hours attempting to figure out why my views were moving so choppy despite having a fixed time step and interpolation. When I was working on my Pac-Man challenge I knew this issue was present and to be honest I just left it alone because it was a small project. I've come from using many libraries and frameworks, but SFML is something I picked up at version 2.4.2 in 2017 and I've been banging my head about this issue for over a year now.
I turns out the cause of the problem was joystick polling. I first thought the SFML clock was having issues causing the initial problem, but when I updated to SFML 2.5.0 the problem went away. I know I could've just commented it out in the SFML source code, but to be honest I spent more time double guessing my code and not SFML. I'm glad I'm no longer worrying about this as I was about to just download SDL2 and move over.
If you're still using an older version of SFML get 2.5.0 !
[Windows] Replaced time-based joystick poll with a hardware event handler (#1179, #1195, #1198, #1199, #1421)
Back to work on my challenge!
Part 6 of the GameDev.net Tower Defense Challenge:
Unfortunately I didn’t have much time to work on this since my last update due to work projects. I’ve been spending a good amount of time doing some full body retopology work, and rigging which has taken a lot of my time.
What I did so far was add in tile selection, build and upgrade screens, and top area for displaying tower, wave, and gold details. I'm keeping things as simple as possible right now, so when you build or upgrade the screen will display and you'll use number keys to pick your selection.
This is a quick list of what I need so far to complete everything.
- Portal Start and End Points (GFX)
- 6 Final renders of Rock Creature (GFX)
- 1 render of Rock Boss (GFX)
- Health Bars for Creatures (GFX)
- Gold Coin (GFX)
- Complete Top GUI Screen to show tower, wave, and gold information (Programming + GFX)
- Complete Building and Upgrading (Programming)
- Tower Shooting (Programming + GFX)
- Finalize the wave config (Programming)
- Main Menu, Game Over, and Completed Screens (Programming + GFX)
- Add in sound (Programming)
There is currently two views in this game. Top view is for the GUI, and the bottom (larger view) is the game camera which can be moved by using AWSD.
I’ll post back later today with the update. 😊 Almost July 7th !
If you missed Part 5, check it out.
Part 5 of the GameDev.net Tower Defense Challenge:
I've finished up a draft for a level concept. I still need to make the GUI, Tile Indicators, and a few other things.
I made a ground texture and then had to make it seamless. Once that was done I put a test sprite for the Rock Creature, and Tower on the map. I will adjust rotations later, but for now everything looks good so far.
(This is a graphical concept, not programmed yet, as paths will be determined based on the maze the user creates between the start and end point.)
With all of this done I just need to create the five tower variations, rock creature variations by altering colors, and the tower block. Once this is done I'll make the start and end portal, and GUI for tower building and upgrading, plus coins.
I'm hoping to start programming tomorrow on this.
I will be adding grid lines as well above the map.
If you missed Part 4, check it out.
Part 4 of the GameDev.net Tower Defense Challenge:
I've re-done the rock creature from the old version:
To what you see at the very top of the post.
I found the first one to be more "mud" looking, not really rocky. I also found the face not angry enough. I'm finishing up the towers as well and will post that tomorrow.
If you missed Part 3, check it out.
Part 3 of the GameDev.net Tower Defense Challenge:
I've created my basic concept for the rock type creatures. Each one will follow the colour scheme as per Part 2 where I go over the different elements.
Now time to work on the tower concepts. Not much time left so I'm working as fast as I can considering I have my other stuff to do this week as well.
If you missed Part 2, check it out.
Part 2 of the GameDev.net Tower Defense Challenge:
I originally posted back on May 2 2018 regarding my basic concept in which the player would have to create a maze using towers to eliminate which wave. Unfortunately with work and other projects I wasn't able to do any work since my last post. Due to the time constraint I'm left with I need to change up a few things because I'm still going to finish this project even if I had to pull a few all-nighters.
I'll be making the game with C++ and creating my own graphics, while finding a royalty free sound pack. I simply do not have the time to create the game in the a 3D environment so I will keep this as a 2D game.
The features for this game will be as follows:
1. The enemies will consist of floating rock creatures with crystals inside. Each crystal contains an element which will either take more or less damage depending on the tower's element when firing.
2. The elements will be as follows:
Fire > Earth
Earth > Water
Water > Fire
Light > Dark
Dark > Empty Crystals (Normal Rock creatures with empty crystals)
The following will do 1/2 damage
Fire > Water
Dark > Light
Water > Earth
Earth > Fire
Light > Empty Crystals (Normal Rock creatures with empty crystals)
3. Tower Upgrades
- Rapid Fire, AOE, DoT, Slow, Stun
- DMG+, Speed+, Range+
Since the game will be maze based, the user can build a pre-tower block for (x) gold in order to help create a maze without having to build towers themselves. The entry point will be top left of the map, and exit will be bottom right.
The objective is to stop the rock creatures from going through the exit portal. There will be (x) lives, and once that many creatures goes through the game will end.
Each wave will consists of either the same or a mix of different elements. There will be at least 20 waves to meet the requirement. Every 5 waves will be a mini boss wave until the final boss wave at 20. Some waves will add extra HP, Rest, Speed, or immune to certain effects like DoT, Slow, Stuns.
Right now I'm going to work on the base tower graphics, and rock creatures. I will be making my next post either later today or tomorrow. My goal for today is to complete the tile set, GUI, rock creatures, boss creature, and towers.
I only have 5 days to finish so I'll be rushing on this one.
If you missed Part 1, check it out.
Part 1 of the GameDev.net Tower Defense Challenge:
I've always loved playing Tower Defense games and I'm very excited about this challenge. If you're interested in participating you can click the link below for more details.
I'm still in the design phase in terms of the overall graphical look, tower and enemy selection, but I have a good idea on what I would like to do.
I'm thinking about making this game using the mazing feature. For those that are not aware of mazing Tower Defense games, they're typically like so:
You will have an entry and an exit point on your map as seen above. Normally when you don't have any objects blocking the path, the enemies will just take the fastest route from point a to point b.
When you begin mazing you will have something like this:
The main goal is to create a maze that will get the best value out of your towers. There will be a feature that once you start the wave a "test" ghost goes through to confirm if the maze is indeed open, otherwise you'll have to make it possible for the exit point to be reached. I will also prevent building and selling during a phase, but will allow upgrading.
For the first level I'm going to have just one entry point, and for a more extreme version I would like to make more than one entry point and exit point.
I'm still working on the concept of the actual theme, so I'll post back once I have more details on what I'm aiming for.
Some features for this game will include several towers with different abilities, upgrades, and a variety of enemies with different defenses, immunities, and stats (speed, health), ect...
As usual I'll be making the game with C++, but I'm debating on either going 2D or 3D on this. I'm going to look into using Unreal Engine, but I'll have to consider time constraints.
One feature I would really like to add in, is a HERO selection. This HERO can move around on the map and fight the enemies with a variety of abilities such as snaring, slowing, chain lighting, ect... I'll see about doing this!
I've been considering creating a game from start to finish entirely solo, and posting all the progress on the blog here as I work my way through. I really enjoyed working on the GameDev.Net Challenge and thought I could really push myself to make my own title within a certain period of time. I will still be doing the GameDev.Net Challenges as they popup as I really enjoy the idea of time challenges.
Most of my programming experience has been at a lower level (engines, toolkits, world builders, ect...) and I really would like to push myself to work on some of my own ideas in terms of full games.
I intend on doing all of the programming, graphics, and audio myself for this challenge, and will post all the progress on a regular basis as I develop!
On the programming side I will use C++ and SFML. For graphics I will be using a combination of 2D and 3D applications (Photoshop, Blender, ect...). The sound and music will be created using FL Studio and assorted VSTs. I will have to pull out my midi controllers and blow some dust off those nobs and keys!
The game itself will be a Collectible Card Game. I was working on one prior and have always wanted to go out and make my own. I have already come up with the concept, basic story, and how the cards will work together, but as the game grows changes will be made as I'm developing this organically.
In my next blog entry I will title it: (Name of Game) Dev Blog ##.
I look forward to this challenge, and cannot wait to get started! I should have a blog post ready to go within 5 days as I want to actually post content in each entry.
Thanks for reading.
Hello everyone! Part 6 will be my final entry regarding the GameDev.net Challenge to complete a Pac-Man style game with a multiplayer component. Above you will see some screen shots, and a video of the game in action. I will also attach a copy for you to play.
The requirements to complete this challenge are as follows:
2+ player board - Choose one or more games modes - local multiplayer, networked multiplayer, and/or AI players
Team play? Vs play? Both? You decide.
The game must have:
Score system for appropriate mode (winner in Vs mode or team total in Team mode)
Graphics representative and capturing the spirit of a Pac-man clone
One or more levels
Gameplay mechanics and mazes in the spirit of Pac-man - the game does not need to be an exact clone in graphics or gameplay, but it should demonstrate inspiration from Pac-man. The idea is to create multiplayer Pac-man gameplay.
The game may be in 2D or 3D
Players must be clearly identified
February 2, 2018 to March 31, 2018 (expires when all world timezones are April 1)
Background on what went into the creation of the game:
I created a solo play feature to use as the foundation in order to easily transition into a multiplayer version. The two player split screen is a slightly modified version of the solo play mode, but with two split views, and independent sprites and movement for each robot. I also added shared lives, and the aliens will split up to chase you.
The start screen has the two play modes - Solo, and Two Player. The score system is based on power orbs collected, and in Two Player mode all power orbs collected are collective for scoring. You will win the game by removing all power orbs from the map. You will lose if your lives hit 0. Solo play has 3 max lives, and Two Player has 4 shared lives. For the sound effects, I just added music which you can toggle, and a basic sound effect for power orb collection. The graphics are a bit different, but the Robot is the replacement of Pac-Man, the Aliens are the Ghosts, and the Power Orbs are the Pac-Dots, ect... There is only one level in this game to meet the requirement.
On the programming side I had to setup a gliding based movement system that has a queue for smoother movement (same system as Pac-Man). How this works is that you will move in the direction you've pressed until you hit a wall. The queue works like so: If you're moving right and you will have a bottom opening coming up, you can just press down once and release, then your Robot will auto move down and continue moving in the downward direction. This allows smoother movement because you would have to always be holding the keys to get smooth movement prior to directional change unless you're 100% accurate on input due to movement bounding box at 96x96, and all tiles are at 96x96 giving the maze like feel. I did a bit of an edit for the sprite bounding boxes as I'm not using 96x96, but the pixel size of the graphic less the transparency. The 96x96 is just used to direct movement through the maze evenly.
I also added in path finding for the aliens which is very optimized to reduce unnecessary checks.
For the Ice Block, I just programmed a quick class to handle animations by loading in frames with a set time per frame.
Beyond that, everything else is fairly standard for this 2D based maze game.
The game itself was programmed in C++ using SFML, and openAL for audio. I had to program interpolation to smooth out the graphics as I use fixed time step with variable rendering. I created all the graphics in 3D then converted to 2D, and slightly touched them up.
What I didn't get a chance to do, and would like to improve on:
Sadly one of the biggest problems when working on this game was the lack of time I could commit. I missed the deadline for the prior GameDev.net challenge and really had to push myself to commit this project to completion.
If I had more time I would improve on the graphics more, add in full animations to everything including directional movement. More sound and music. More levels. AI player mode. I also would have considered full 3D for this game.
I really need to start these much earlier.
What struggles did I have?
The biggest struggle I had beyond time restrictions was a stupid issue with my openal32.dll file. I was including an older version, and not the one in the bin folder for the latest SFML release, so I had massive performance issues due to the wrong file. Took me a bit to figure out what was going on which all the threads exiting like wild fire, so I replaced the .dll file and problem solved.
Regardless of the all the issues I had, and changes I wanted to make, I really enjoyed making all the graphics, and programming the Pac-Man themed game. Even a simple looking game like this takes a lot of work, easy or not. I find it extremely rewarding just to complete the task itself as we all know making games isn't easy, and sticking to the game until the end is even more of a challenge. I recommend everyone take advantage of the GameDev.net challenges if possible.
Game Download - Windows (32-bit) - Built on Windows 10 (Should work on Windows 7 - 10)
If you've missed any of the earlier parts, check below for the links:
Sadly Part 5 was supposed to be the finished game, but I'm a bit delayed as I planned to complete the rest of the programming on the weekend, however I had other commitments to attend to.
I was able to program a bit, and above is the main menu for the game. I'm keeping everything simple with keyboard games to keep that "retro feel".
If you missed my prior entry: "Multiplayer Pac-man Challenge - Part 4 - 2D Prototype", feel free to check it out by finding the link at the bottom of the post. I show the actual game movement throughout the maze, and aliens chasing you down, as well as one animation test.
As of today the Solo Play mode is fully completed. You can go around the maze collecting power orbs while being chased by the aliens. If you hit a Ice Block a timer will start that allows you to shatter the frozen aliens. They will reset after being shattered. You have 3 lives before the game over screen, and you can replay the game as well, or return to the main menu. If you manage to collect all the power orbs, you win. The score and lives will be shown in text above the play area, as well as Main Menu return prompt.
My next task is to add in 2 Player Split Screen which shouldn't take long as I can run two views in the main window, and duplicate the player 1 class for player 2 with all the functions after changing the keyboard controls.
If I have time I will use the same format for 2 Player Split screen, but have the player controlled by AI. The AI player will use path-finding to collect the nearest power orbs, and I can look at putting in a feature that if the AI hits the Ice Block, he will seek out the closest Alien to shatter it.
Some final tweaks and additions I need to make:
1. Redo the Power Orb graphic ( I don't like the current one I'm using ).
2. Add in a queue for pending movement - The normal controls requires you to hit UP RIGHT DOWN LEFT to glide, however as the movement is running on a glide and if you're moving LEFT you need to hold DOWN before you hit the opening, unless you're able to do it right on the spot. The queue will work like this: If you're moving LEFT and you hit DOWN then release the key it will add to the single queue if DOWN isn't possible yet, and will automatically move you DOWN at the next available opening without having to hold the key. The queue will only hold the last known input. This is just to smooth out movement. The same system already exists in Classic Pac-Man.
3. Add sound and music.
I should be finished soon!
If you've missed any of the earlier parts, check below for the links:
In Part 4 I will quickly go over the 2D prototype.
You can see a quick 23 second video (so-so quality) here showing movement, and how the monsters chase you (some move at different speeds for testing purposes), as well as the "animated" ice block sprite. In my actual game I'm using a Fixed Time Step with Variable Rendering, so my graphics are smooth thanks to interpolation. Sadly in these videos you barely notice any difference if I turn it off or on, and I wasn't able to make a good comparison video so I just left it on to showcase.
(NOTE: There are no black bars in the game on the sides, the camera does not go outside of the level bounds, it's just the 'video' padding on the sides)
I did plan on using different graphics for the tile set as seen in Part 3:
But I decided to simplify the processes because it would take a lot time creating additional breaks, and nodes to connect the lines. I opted for just two textured blocks - I took a higher end versions and converted them to 2D:
The ice block will freeze the Alien's skin allowing you to touch them and shatter them which will cause them to reset.
This also got converted and animated to 2D:
As of now the following works:
Level Setup, Player Movement (With gliding - no stopping unless directly moving into a wall - you can also hold up and still glide in the direction (left or right) until it's available), Collision, Enemy path-finding + full movement, and Ice Block with animation.
I still need to complete the following:
- Main Menu
- Top Menu
- 2nd Player
- Power Orbs to Collect
- Lives + Ice Block Effect
- Background with stars, or something so it's not just black
I would like to animate the player a bit, and Aliens if I have time as I'm pretty busy this month.
I hope you enjoyed Part 4, I'm looking at finishing the project this weekend with a final update - Part 5.
If you've missed any of the earlier parts, check below for the links: