Jump to content
  • Advertisement
  • entries
    23
  • comments
    94
  • views
    4352

Entries in this blog

Unity Warfront Infinite Dev Blog #22: Steam Direct, New GUI and Fast Alien

This week my artist finished working on the new alien type called Fast Alien. After he finished, I spend some time incorporating it into the game, which means that I did some coding and managing animations. After I finished with this new alien, I started implementing the new GUI system. As of now I have finished settings and main menu screens. This is how it looks now: I also started preparing for the release of the game. I signed up for steam direct, sent them my documents, payed the registration fee, got my documents approved and next week I will start populating the steam store page.    

EddieK

EddieK

Warfront Infinite Dev Blog #21: The First Enemy (Animations)

This week me and my artist were working hard on the new alien model and its animations. My job was to implement the animated models into the game engine, manage transitions between different states and rewrite the enemy controller script. Since I haven't worked on skeletal animations in unity yet, it was a good learning experience and I found out that unity has this Animator component which handles transitions between animations and it is really easy to use. All I had to do was use Animator editor to create few different states (for walking, dying, getting hurt and attacking) and draw some lines between states to mark transitions. Then you can click on each of the connecting lines to edit the transition between those states and it will bring up this window: Here you can edit how fast the transitions occurs, when does it occur and more. To control the animations using the C# script all you have to do is to use GetComponent<Animator>() and then call its .Play(<animationName>) method. It will automatically do all the transitions which you created in the Animator tab. This is how the animations look in game: As you can see I added some glowing which I thought would look cool. There's still 5 more alien enemies left to do and after that we'll be working on the environment, adding buildings, new textures and overall changing the look of the levels.        

EddieK

EddieK

Warfront Infinite Dev Blog #20: Drastic Changes to The Theme

This week me and my graphics designer have decided to drastically change the theme of the game. Instead of generic military-based theme for enemies, we decided to go with something more fun... ALIENS. That's right. The enemies will now be aliens and your mission will be to defend your base from these monsters: Although as of now these aliens aren't animated and won't appear in the screenshots below, I'm positive that next week they will be implemented into the game. Regarding the programming side of the game, I have implemented few new features: Player can now fix damaged towers using a wrench tool Implemented in-game options menu and got rid of the Unity's generic resolution/quality settings menu. Added information windows which will be shown at the beginning of the game. These windows will contain information about new enemies and towers As well as this, I fixed some bugs and started preparing the project to support multiple levels.  This week I'll be working on adding more levels to the game and will be thinking about what kind of enemies could be implemented.

EddieK

EddieK

PC Warfront Infinite Dev Blog #19: Dealing With Procrastination

The days between now and when the last blog entry was written were pretty hard. Not because I had some hard programming problems to solve, but because of procrastination. This is not the first time it became an issue, but this is the longest period of time where I did mostly nothing, and I feel REALLY bad about it. I guess I'm a bit perfectionist and wannabe workaholic who tries to work every minute of my life, but that this when the procrastination doesn't get the best of me. Reasons For Procrastination Before the procrastination started I thought that to become a good game developer you firstly needed to play games yourself. And this might be true, but when playing games becomes more important than actually making games, I see it as a problem. In the last week or so I became kind of addicted to games. That's because it feels like an achievement every time I beat a new game, and somehow it makes me feel good about myself. That never happened to me before. I mean, I did play games, but I didn't enjoy them THAT much. And I think this is the problem. I started enjoying playing games more than developing them, and this needs to be fixed FAST. My Plan For Ending Procrastination First of all, I will try to play less. I will make games a reward after I do something new with my project. Maybe for every hour of coding, I will let myself play 30 minutes of Metro 2033. Next, I noticed that most of my procrastination comes from me being lost between all the different tasks that need to be programmed. Well, the tasks themselves may not be the problem, but the fact that I'm not sure HOW I should do it is. To fix this, I decided that for each task I will spend at least 15 minutes to brainstorm ideas on how it should be implemented. For example, yesterday I knew I needed to make allied bomber plane airstrike which would target enemy vehicles. But I didn't know how to implement it. Where should the airstrike button be, how should it look like, what happens after you click it, should the game randomly choose which enemies the planes target, or should the player do so, and so on. To answer these questions, I turned off my youtube tab (less distractions is better), took a pen and paper, and started writing. And voila, after 10 or so minutes I had a small plan figured out. There's something about writing things down which make them more important and urgent than having them in your mind. Also it makes it easier for you, because you don't have to remember as much stuff. What I've Done Although I procrastinated a lot, there are still some things which I've done. One of them is the allied airstrike which I mentioned earlier. Upon clicking the airstrike button, the mouse turns into a target icon and you can select which enemy you want to bomb. There will be a limited amount of airstrikes per given time. Next, I added some motion blur into the game, which is not necessary, but pretty cool I guess. Also added ambient occlusion. And most importantly I prepared the project to support multiple levels, since now there's only one. Art My artist is working hard on the last turret models. This is what he came up with this week. Next Week During the next week I think I will start implementing other levels, and finally will try to get the project closer to release.  

EddieK

EddieK

PC Warfront Infinite Dev Blog #18: Decals, New Camera System and Turret Models

Lessons Learned From Playtesters Last week I released an alpha version of the game and got some feedback. Even though only one person actually responded, it was still enough for me to see what is wrong with the game. I had few people play my game before the alpha release and their response was pretty similar. I also looked at how people play the game and seen some gameplay mistakes they do. People who are not familiar with tower defense genre seem to be clueless as to where the towers should be placed. Also, number of people told that they would like to zoom out further away from the play field to see more of it. Things Done This Week This week I totally revamped the camera system. Since this is what the players wanted, the game now lets the user completely zoom out and see the whole map at once without the need to move the camera. This system also makes sure that the camera doesn't go out of play field's bounds and when the player zooms in, the camera gets closer to the mouse pointer. Another thing I've implemented is the explosion mark decals on the ground which makes the play field look more like a real battle zone. Next, I made the tanks shoot at the turrets, but these tanks will be introduced in later levels, since it might be too hard for beginner to keep up with all the action going on. You can see the new camera view and explosion decals in this screenshot: Also, just for fun I wanted to do a little flashback into the past and remind you how the game looked like 3 months ago, when it was still programmed in Java/Kotlin + OpenGL Tower Models Here is the new level 3 anti-air laser tower model:     And this is the rocket tower which is still in progress of development:  

EddieK

EddieK

Warfront Infinite Dev Blog #17: Early Alpha Release Available!

Hello again, everyone! This week was going as expected and I have a somewhat working version of the game which I can share with you. The version contains only one level, unfinished models and bugs, but it's playable. I wanted to get some feedback from you, to see what you like, what you didn't like so I could  address these things in the coming updates. This Week This week I added these features: Icon near the enemy spawn point indicating what type of enemy is going to be next Implemented tower ranks. Towers will get promoted to a new rank after killing certain amount of enemies. Higher the rank, higher the damage dealt by the tower. Added new model for level 3 anti-air laser turret Gameplay screenshot:   Tower rank icons: Download Links You can download Mac, Windows and Linux versions through my project page: Upcoming Week Next week I'm going to go through all the feedback gathered by players and will try to address some of the issues and gameplay flaws that they discover. So please leave a comment below to share your experiences with the game  

EddieK

EddieK

Warfront Infinite Dev Blog #16: Menus, Music and New Tower Model

Hello, readers! Time flies fast. Already one week has passed since my last blog entry and it's time for a new one. So let's get on with it! This Week This week I've been preparing for the release of alpha version 0.1a. This will still be a very unfinished, unstable and buggy release, but I want to get some feedback from the players so I could start improving the game. I've redone the splash screen, menu screen and added a new level selection screen. This is how menus look in the game: If you followed my blog, you might notice that I changed the font as well. Since the default Arial font doesn't really look that great. New Turret Model Regarding the 3D graphics, new turret model has been added into the game. It is an Anti-Air Laser Tower which shoot laser beams at enemy planes. This is how it looks:   Music This week I've found a new music composer for the game. The previous one went silent for no apparent reason. The composer's name is Jordan Winslow. You can check out his work on his website. He has some pretty cool tracks which are royalty-free which means you can use them in your game, just don't forget to put his name in the credits. He seems like a serious guy to be doing business with.   Next Week Next week I'll continue preparing the game for alpha release. This includes reworking the Fail and Win screens and balancing the enemy waves. I hope I will be able to release the alpha soon enough.   So that is going to be everything for this blog. See you soon

EddieK

EddieK

Warfront Infinite Dev Blog #15: Work On Visuals

This Week This week was kind of a slow one. I mainly fixed some bugs and started implementing shooting tank. But on the art side of things the project is slowly moving forward.   Art Me and my team have decided to go with 4 themed levels: Prison yard Parking lot Construction yard Airport This week we also decided to change the Laser Turret to Machine Gun Turret which, as the name suggest, will shoot bullets instead of laser beams. Although there will still be a turret which shoots lasers, but only at air enemies. This is how this turret will look like: As you might notice, one of the artist made a little surprise for me and added a Lithuanian flag to the side of the turrets (I'm from Lithuania if you haven't guessed already). He also suggested that we would make the enemies American, which would mean that the player will play as Lithuanian commander against US army. Which is kind of funny, but since there's not a lot of Lithuania themed games, I think this would make it somewhat popular in my country, or at least I hope it would. Regarding the level props, the other artist is currently working on props for construction yard levels. This is one of the unfinished props: This will be properly textured later on, and there will be a bucket on top of it.   Next Week I hope next week will be a bit more productive on my side of things. I have few things on my TODO list. Main thing on the list is to make an alpha release and post it on GameDev.net to get some feedback regarding the mechanics of the game.    That is all for today, till next week!

EddieK

EddieK

Warfront Infinite Dev Blog #14: 3D Artists And Multiple Routes

This Week Hello everyone! This week was an exciting one. Lots of things were fixed, improved and implemented. I found 2 experienced 3D artists who will be helping me along the way. I guess I can say I'm part of a team now It seems that I learn something new everyday just by talking to them, which is great! New Workflow To improve my productivity I decided to start making a TODO list with post-it notes stuck to my wardrobe doors. On one side there are things which need to be done, and on the other are things which I have alreadydone. It is really satisfying to move the notes from one side to another And it makes it easier for me to remember what things I've done each week, so I can write them in the blog. 3D Artists Recently I've found two 3D artists who agreed to work on the game. They've got some awesome ideas and in the coming weeks the game should start to look pretty great. Here's what one of the artists already started working on (construction yard vehicle): This will be a prop for the construction yard themed levels. There will be 4 themes total: airport, construction yard, prison yard, and parking lot. Each theme/scene will have props, ground textures and everything else related to that specific environment. This is how the each cell on the floor will look like. It will be animated, and the turrets will rise from beneath these doors: Currently one of the artist is working on ground textures, walls and environments in general, and another artist should soon begin working on turrets. New turret: Progress With The Game So as I mentioned before this week I've done lots of things which include: Implemented smooth (lerped) camera movement Implemented support for multiple enemy routes (with multiple entry and exit points) Added non-bomber air enemies Improved information displayed on UI (Upgrade menus, bottom panel) Limited deltaTime's maximum value Added fast forward button Added text telling what will be the next wave Multiple routes shown by the black/brown markings on the floor. Price is now shown at the bottom panel without the need to hover over the turret button. Text of the type of the turret is now highlighted:   That is everything for today, see you next week!

EddieK

EddieK

Warfront Infinite Dev Blog #13: Lots Of Small Improvements

This Week This week I was doing all kinds of things. First of all I moved to a new website which looks better and is easier to navigate through. Secondly, I finally thought of a name for a game and it is going to be called Warfront Infinite. Thirdly, I found someone who will help me out with playtesting, graphics and overall look of the game. And lastly, I added lots of tiny things to the game. Changes To The Game   The main changes I did to the game this week are: Added 30 second wait time between each wave so that the player could build towers. After clicking "Start Waves" button, its text changes and displays total number of enemies and how many of them have already spawned. Added new models for slower towers (Radars): Made the trail which shows a path the enemies will take. Added possibility to rotate the camera around Y axis. Bug fixes     Next Week For the next week I am planning to continue fixing bugs and getting more feedback from players. I will also try to implement feature where tanks shoot at towers.   That is all for now, until next week

EddieK

EddieK

Tower Defense Indie Game Dev Blog #12: Updated Tower Models

This Week This week I was primarily focused on creating updated turret models to fit the new game style I chose. I changed the ground asphalt color to a lighter one so it wouldn't overshadow the turrets. I also fixed some bugs related to rockets' smoke trails. Other than that, there's really not much to tell. So today's blog entry will have lots of pictures and very little amount of text. So lets get started, shall we.   New Turret Models This week I almost completely finished modeling 2 turrets, including all the upgrades which make it 6 models in total.   Laser Gun Turret Laser gun turret shoots laser beams at ground enemies, it cannot target air units. It is cheap and should be used early in the game. Level 1   Level 2   Level 3   Rocket Turret Rocket turret targets both ground and air entities but it is expensive, so it shouldn't be overused.   Level 1   Level 2   Level 3   Cinematic Gameplay Screenshots Actual Gameplay Screenshots   Next Week For the next week I am planning on continuing with the remodeling of other turrets and if I will have enough time left, I might start implementing a new turret or I might just start fixing bugs, because there are plenty of them.   That is all for now, thanks for reading!

EddieK

EddieK

Tower Defense Indie Game Dev Blog #11: New Style

This week After getting some feedback about how my game looks, I started trying out different things and seeing which ones look the best.  Ground One of the first things I've done is I changed the ground texture from grass to concrete and added normal maps to make it look more realistic. Before: After:   New Turret Models I decided to change old square looking turrets into something more smooth and more detailed. As of now I only have few fully finished turrets, but I'll be working on more of them this week. Here's how they look up close: And just for comparison, this is one of the old turrets and ground textures: Features The one main feature which I added this week is the bomber jet fighters, which bomb the turrets from the air and reduces their health. Also I added trail of smoke coming from the rockets. Next Week Next week I'll be working on tweaking the graphics style even more. I still have lots of turrets which need to be remodeled. I also don't like the looks of the trees and the walls, so I might start working on that as well.

EddieK

EddieK

Tower Defense Indie Game Dev Blog #10: Kill 'em Slowly

This week During previous week and this week's first half I was primarily working on visuals. This includes rework of Red Alert inspired slower towers, new models for upgraded towers and more. Glowing Towers One of the visual effects I implemented is glowing towers. This feature is very apparent in slower towers, but some of you might notice that other towers make use of this effect as well (the little lights at the bottom of the towers). The player will now also have a visual cue about the current upgrade level of the tower. If the level is 1, the tower will glow in yellow, if level 2, the tower will grow in blue, if level 3 the tower will glow in red/violet.  Normal Maps I also started implementing normal maps into my game. As of now the most apparent tower which uses them is the slower tower. To generate the maps I used the free online tool which does a pretty good job and I think it will be sufficient for now. This is the result: Next Week For the next week I should be going through and implementing features in my TODO list which includes functionalities such as CTRL+Z to undo tower placement, fix the issue where towers expand infinitely, add jet fighters which drop bombs on turrets, and more. 

EddieK

EddieK

Tower Defense Indie Game Dev Blog #9: Rocket Towers, New Models and Optimizations

This week This week's start was kind of slow, but at the end of the week I managed to add some few new cool features. I also optimized game's logic so now it runs much smoother on older machines. As well as this, I created new models for Ground-To-Air turret which you will be able to see in the screenshots and gameplay footage below. Rocket turret Rocket turret is Ground-To-Air as well as Ground-To-Ground which means that it can target both flying and land enemies. As of now it can not be upgraded and the model is still a placeholder, but soon I will change that. Turret's rocket explodes upon collision with ground or the enemy and deals the appropriate damage which is dependent on turret's stats. Wall tower Wall tower is a type of tower which can be used to construct a maze with very little money. It can be used to guide the enemies around other turrets to make them exposed to turret's locking radius for longer period of time, hence increasing the amount dealt to the enemy. This tower automatically places appropriate model and updates surrounded wall towers with correct 3D models. Next week During the coming week I will be working on new tower types and will add possibility to upgrade rocket tower. I will also try to fix few minor bugs related to GUI. Other than that, I will try to optimize the game even more.   Gameplay  

EddieK

EddieK

Tower Defense Indie Game Dev Blog #8: Tower Editing Menu and LASERS!

Hello again everyone! This week's start was kind of slow, but at the end of it I managed to add some features which I was planning to do for quite a while. The main feature is: tower upgrades! You can now upgrade towers using a little menu I designed. It gives you all the information about the upgrade such as its cost, damage, locking radius, shooting speed and gun rotation speed. Other thing I added is laser beams which have their own light sources so it looks cool when lots of turrets are shooting. It adds something to the feel of the game.  There are lots of other small tweaks and fixes I did related to tower placement/editing. Here you can see the gameplay in action:   As you might have noticed, as of now flying objects are tanks, this is because I haven't yet modeled planes or helicopters, but I'm planning on doing so. As of now there is only one completely upgradable tower, this is again mainly because I don't have the models yet. I should really find someone to help me out Anyways, that's all for today, I should better go and continue working on the game now, since there's still LOTS of work to do. So see you next week

EddieK

EddieK

Tower Defense Indie Game Dev Blog #7: Finished Rewriting The Game

All of this week was spent rewriting the whole game in Unity Engine. What can I say... It took me over a month to make a game in OpenGL + Kotlin, but it took only 1 week to learn Unity and do it there. I guess I'm a little bummed that I didn't start using Unity earlier. But at the same time I'm VERY happy that I switched. It made my life so much easier and programming in Unity is FUN!  What I've Done So I haven't implemented new features per se (except for particles), but only redid the old ones. But still here's a list of what I've done: Added collision detection (which was only few clicks in Unity) Added GUI (main menu, splash screen, resume menu) Improved pathfinding Added object placement Added new tower Added heath bars Added event management system Added sounds Added particles (enemy exploding) Added enemy waves Next Week This coming week I think I'm finally going to start implementing new features and make the game feel like a proper game. I plan to finish at least one fully playable level, but I'll see how it goes.   Thanks for reading! I'll see you next week!  

EddieK

EddieK

Tower Defense Indie Game Dev Blog #6: Moving to Unity Engine

Reasons to use Unity *Sigh*... After over a month of programming the game in Java /Kotlin and OpenGL I finally decided to move to Unity game engine. This is very frustrating, but it seems I have no other choice right now but to rewrite the whole game. There are few reasons as to why I chose Unity instead of hard-coding everything in Java/Kotlin. First of all, the development pace is faster. It took me whole day to implement shadows in OpenGL, but it takes only few clicks to do in Unity. Other major reason is that if I ever decided to team up with someone to make a game, it would be much easier to find people who can use Unity to make games than people who use Kotlin and OpenGL (Ort least I think so).   Progress After only two days of learning Unity I was able to: Implement turret placement logic Implement pathfinding Make the enemies follow the generated paths Conquering my ego I always had a problem with my ego which resulted in me always doing the hard approach to all the problems. I always wanted to solve problems by myself and reinvent the wheel. I never considered using a game engine, because I thought it wasn't "real" programming. I'm stupid like that sometimes. But as the time passed, I matured and now I realized that a tool is a tool, and you have to pick the right one to solve your problem. In my case this tool is Unity, and I hope it won't let me down in the future.   That is all for today, thanks for reading! Twitter: https://twitter.com/extrabitgames
Facebook: https://www.facebook.com/extrabitgames
Website: http://extrabitgames.com

EddieK

EddieK

Java Tower Defense Indie Game Dev Blog #5: New turret and enemy types

This week Hello everyone! This week, as always, I fixed few bugs, did few tweaks and implemented small features. Here's a list of things I've done this week: Tweaked enemy prices and levels. Added object picking Added sounds and music Tweaked audio gains for different sounds and music Added capability of selling towers Added new cursor Implemented support for multiple enemy waves Added new enemy: Tank Added new turret type: Rocket turret Screenshots:   Important decision Yesterday I came to important realization while making my game. I realized that I need to build a fully working prototype of the game, figure out all the mechanics, implement all the tower and enemy types first and only then continue doing the minor things and polishing things up. I also realized that I should spend less time on music and 3D models. All these things will be done, but not now. I need to make my game fun first, and only then worry about all the assets. I don't want to repeat same mistake which I did with my previous games where I spent too much time on graphics, sounds, performance optimizations and too little time for actual gameplay mechanics. Problems There's one problem which I currently face, and it has to do with the "Tesla Coil" tower. As of now it slows down the enemies in its range, but there's a problem with that. The problem arises when you put the tower at the very end of the maze. When you do that, it not only slows down the enemies in its range, but it also slows down any enemies which came before them. This is because of the obstacle avoidance which makes it so that the enemies couldn't go through each other like some sort of ghosts. The only solution which I can think of right now is to remove this type of tower and replace it with something else. Next week This coming week I'll start thinking of and implementing all the different tower and enemy types. I might do some very basic 3D models to use as placeholders as well.   That's all for now, thanks for reading   Twitter: https://twitter.com/extrabitgames
Facebook: https://www.facebook.com/extrabitgames
Website: http://extrabitgames.com

EddieK

EddieK

 

Java Tower Defense Indie Game Dev Blog #4: Music and SFX

Hello again, everyone! Today is going to be a very short blog entry because all I wanted to show you is the new soundtracks which I created. As of now I only have 2 soundtracks, but I plan on making total of 12, or at least 10. The genre I choose is psychedelic trance. The main reason for it is because it's fast paced and I think it would suit my game pretty well. I also added shooting and exploding sounds which make the game just a bit more interesting. You can have a listen of the soundtracks here:       That's all for today, thanks for reading!   Twitter: https://twitter.com/extrabitgames
Facebook: https://www.facebook.com/extrabitgames
Website: http://extrabitgames.com

EddieK

EddieK

Tower Defense Indie Game Dev Blog #3: Lots of small improvements

Good day, everyone! This week I've been working on various small fixes, improvements and features. Here's an incomplete list of all the things I've done: As you can see there are quite a few commits related to performance improvements such as added frustum culling, improved memory usage, pathfinding improvements and so on. The one main thing that's missing from this list is the addition of the new tower type which for now I just call "the slower" which as the name suggests, slows down the enemies. If any of you have played the original Red Alert you might notice that for this particular tower I took inspiration from the so called Tesla Coil. The only difference is that instead of electrocuting it's enemies, it just slows them down. Here's how it looks in Blender: And in game: Also, for the above image you can see how the UI looks. It's still very primitive and will be changed later on, but for now it does the trick. It lets to select a tower and tell the game when you are ready for the level to begin. Another thing which I've been working on was music. The funny thing is the genre which I chose. It's psytrance I thought that the fast tempo and monotonic bassline would be suitable for this type of game.  After all, it is KIND of an action game. And the way I see it, when it's finished, there will be lots of explosions going on. Anyways, as mentioned in the list above, I also implemented placeholder main and options menus along with splash screen. This is how the menus look now (keep in mind they will be changed later on): Yes, very simple, I know. But they get the job done and it's still very early in development. One more thing which I added is money. You can now purchase towers and you will get money for each killed enemy. For now there's not functionality for selling the towers but it will be added soon. So that's all for this week. And for the next week, I think I will be doing 3D modelling and will be implementing new tower types along with other minor features.   Twitter: https://twitter.com/extrabitgames
Facebook: https://www.facebook.com/extrabitgames
Website: http://extrabitgames.com

EddieK

EddieK

Tower Defense Indie Game Dev Blog #2: Obstacle Avoidance

What have I done this week This week I have fixed few bugs and finally implemented a fully working obstacle avoidance system which makes my pathfinding and collision/obstacle avoidance system done. Some minor things which I did include: Fixed bug where text rendering causes lighting issues Added calculation of game entity's axis-aligned bounding box from data contained in .obj file Added AABB to AABB collision detection and response Added Ray to AABB intersection detection Made the map size resizable My own solution to obstacle avoidance problem I had really hard time finding information about an easy way to do obstacle avoidance in the way I wanted it to be. So instead I worked few days and came up with my own solution which works pretty well. I think I kind of reinvented a wheel and someone might have a better approach to this problem than I do. But anyways, it's already done and it works the way I wanted it to, which is all I care about now. What I wanted from my obstacle avoidance/collision system For the obstacle avoidance system I wanted it to do few things: Stop the vehicle if it gets too close to other vehicle If vehicles are about to collide (traveling towards each other at the angle less than the threshold angle) then make them steer away from each other Don't ever let two vehicles overlap I tried and I failed Before I explain how it works, I will say things which I tried and which didn't work that well. First thing I tried was to create a separate AABB in the front of the enemy's car and check if it collides with any other car. If it does, stop the vehicle. I thought this would make it so that the vehicles wouldn't get too close to each other and hence wouldn't overlap. Well, that didn't work. Because when both vehicles collide to each other, they will both stop and will get stuck. To fix this, I added an if statement which checks whether the vehicles collide at each other if so, make it so that only one of two vehicles would stop and other would continue driving. But this made them overlap some of the times, which I didn't want. So after thinking for a while, I decided I should add AABB collision response, so that when cars hit each other they don't overlap, but get pushed back. So I did that and now it works pretty good, BUT if the vehicles are travelling towards each other there's no way of knowing which way to turn to avoid the collision. So I decided to scrap this AABB in front of the vehicle approach and try casting rays. Approach which worked My last and final try was to use rays instead of AABB to check for collisions with other entities. This time I say entities because I also want to check if the ray intersects the towers as well, this way we will know which way the vehicle can turn to avoid collisions. So the way I do it is pretty simple. The vehicle casts number of rays from its center towards the front of the car which check for intersection between towers' and enemies' bounding boxes. Then I have a function which does some magic and calculates (from the ray intersection information) which way the vehicle should steer. This steering is only done if two vehicles are facing each other and moving towards. If they are not moving towards, I check if the ray distance is smaller than the threshold value and if it is I just stop the vehicle. There are other few tiny hacks and tricks which I did to polish the system. But this is mainly how it works. Next week I still haven't decided what I am going to do this coming week. But I think I will add different tower types, add GUI and make it so that enemies will spawn inside a building or in a hidden area from where they will come to the game's map. You can see the state of the game here:   Twitter: https://twitter.com/extrabitgames
Facebook: https://www.facebook.com/extrabitgames
Website: http://extrabitgames.com  

EddieK

EddieK

OpenGL Tower Defense Indie Game Dev Blog #1: 3D Models and Pathfinding

About the Game As you probably have guessed from the title, the game I'm working on is a Tower Defense type of game. At this point I'm still not sure what theme it's going to be in, but I think I will go with military based theme. The game itself is inspired by Red Alert, Robo Defense and Kingdom Rush. For development side of things I'm using Java/Kotlin (mostly Kotlin) + OpenGL and LWJGL with the IntellJ IDEA editor. 3D Models In the last couple of weeks I've been learning how to make 3D models using Blender. After few days of modelling I got hang of the basics and could model few simple trees, turrets and a car which I then imported into the game "engine".  Here are few screenshots of the models that I have created during those days:   Pathfinding I have programmed a pathfinding management system, which uses flood-fill pathfinding algorithm to calculate where the enemies have to go. The way it works is pretty simple. You start by splitting your game map into square nodes and then generating a gradient map which will tell how far away the current node is from the target node. To do this, you firstly start at the target node, assign its value to 0, then for all the neighboring nodes increment their value by 1, or whatever number you want, as long as its a positive number. If the neighboring node is non-collidable, assign its value to something very large, like 999999. To get the path from the start node to the current node you start at the start node, and select its neighboring node with the lowest value. Then for that selected node, do the same process until you reach node with the value of 0, which will mean that you have reached your target node. This is how the gradient map looks in my game:   Here you can see the numbers at the center of each node which represent its value. The cars are moving towards the surrounding nodes which have the lowest values until they reach 0, that's when they stop. Okey, so why did I use this method instead of the famous A* algorithm? First of all. This is heck of a lot faster. Instead of always calculating a path each frame for each entity. You just generate the gradient map once, and update it every time an object is placed on the map. The drawback of this method is that all the entities can only go to a single target destination. If you want multiple target destinations, you will have to recalculate the gradient map with different target nodes. Gameplay There's not much of a gameplay at this stage of development. As of now all you can do is place turrets, watch them shoot the enemies and that's pretty much it. Nonetheless this is the gameplay footage:     Twitter: https://twitter.com/extrabitgames
Facebook: https://www.facebook.com/extrabitgames
Website: http://extrabitgames.com My website: http://extrabitgames.com

EddieK

EddieK

Tower Defense Indie Game Dev Blog #0: Introduction and Previous Mistakes

Welcome! Hello everyone! My name is Ed and I am an indie game developer from Lithuania. In the past few couple of years I have developed 3 free to play android games and released them to Google Play. Although none of them succeeded the way I wanted them to, I learned a lot from my mistakes and I'm going to use this knowledge to my advantage while developing my next game. What This Blog Is Going To Be About? In this blog I will be talking about my game on which I've been working for a couple of weeks now. I will probably do weekly updates on the state of the project which will include any new 3D models which I have created, mechanics I implemented or features I added. I will also share what I have learned and what problems I faced whilst developing the game. Mistakes of My Previous Games Mistake #1: No play testing I realized this mistake only few months ago, when I released a game called "Killer Jack".  After the release one of the users commented that the amount of experience gained per kill is insufficient. Although it was an easy fix to make, I still should've at least found few play testers to make sure that there were no problems as such. Mistake #2: Not polishing the game enough I was guilty of not polishing my games enough and even releasing them with minor bugs. Also, due set deadlines, I skipped on implementing some of the features of the game. Mistake #3: Not doing any marketing Probably the main reason why my previous games were unsuccessful was because I did zero marketing. I had no websites, no social media accounts and no blogs for my game. How are the players supposed to know that my game even exists? Conclusion I guess I did most of these mistakes because I wasn't really looking at game development seriously, I saw it more as a hobby. Because of this, I didn't want to spend too much of my time on it, so I made short deadlines and so the quality of the games suffered. This time, I won't be making same mistakes. I will only be done with this game when I know for certain that it's fun, polished, well tested and bug free (if that's even possible).   My website: http://extrabitgames.com

EddieK

EddieK

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!