Jump to content
  • Advertisement

EddieK

Member
  • Content count

    64
  • Joined

  • Last visited

Community Reputation

130 Neutral

About EddieK

  • Rank
    Member

Personal Information

Recent Profile Visitors

1620 profile views
  1. EddieK

    2D Platforming: Java or C#

    Well I guess it depends on whether or not you want to use an engine or write your game from scratch using LWJGL or something similar. C# and Java are very syntactically close to each other so I don't think there would be a problem learning C# from scratch since you already know Java. If you're like me and enjoy technical aspect of game programming I would recommend to go with Java + LWJGL + OpenGL. But if you're more interested in making games and don't want to worry about writing your own graphics framework etc., then I would suggest you go with Unity. By the way, I haven't tried unity, so take my opinion with a grain of salt.
  2. Wait... Did I just accidentally edited your comment?
  3. 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: My website: http://extrabitgames.com
  4. Just wanted to thank you guys for all the kind feedback, you guys are the best! Thank you! Although I have played all of the Red Alert installments, I think my inspiration comes from the original Red Alert which I played on my PS1 I'm actually thinking of making tesla towers inside my game, just because I loved them in Red Alert so much 
  5. EddieK

    Advice on increasing sales

    Yeah a link to a steam page would be nice
  6. Thanks for the info! Although I didn't get the job
  7. Wow, thanks! Didn't expect to get such a positive feedback I will try to submit an entry, so I better go back to work now
  8. Thanks! I've have been using Java for few years now and then decided to switch to Kotlin like a month ago. And all I can is that it is AWESOME Less boilerplate code, operator overloading (especially useful in game dev) and many more things which make programming faster. The only thing that I don't really get is the whole thing about non-nullable objects. I mean I understand how it works, but there are lots of parts in my code where I need to have a null object referance. Anyways, good luck with learning! It is really a great and modern language
  9. Thanks! I will certainly try to get my game submitted there
  10. Oh sounds very cool I just don't know if I will be able to finish this game by the time the submission date ends. Though I could try making a minimal viable product and submitting that. And then continue working on the game after submission. Anyways, thanks for letting me know. This community is so friendly
  11. Thank you! Oh I didn't know there was a challenge like this. Is there a link in which I could read more about this?
  12. 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: My website: http://extrabitgames.com
  13. 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
  • Advertisement
×

Important Information

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

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!