• Advertisement

Unity Critique for newbie game - "Bleeping Bots"

Recommended Posts

Advertisement
On 2017-12-14 at 1:37 AM, Apollo Cabrera said:

Yasss!!! My first Unity3d game is on the App Store and Google Play.

Download please! About 30 minutes to get through 5 missions.

Let me know what you guys think.

Thanks a bunch

 

For a first game its looks good, but definatelly there is a lot of things to improve

Share this post


Link to post
Share on other sites
15 hours ago, Apollo Cabrera said:

Thanks

I will take any constructive criticism. What do you think would make the game better?

 

Well, If I were in your place I would Improve graphics a lot, because its looks like placeholders in alpha version, than i would slightly tweak gameplay

Share this post


Link to post
Share on other sites

Judging by the video, the biggest bang-for-your-buck graphical improvements would be syncing the walking animation to player movement, since the character's feet are currently sliding across the ground (moon walking), and improving the camera, so that it smoothly follows the player as they walk instead of jumping from scene to scene.

I really like the stylised backdrops, and I'd keep those intact, regardless of whether you improve the fidelity of the foreground assets.

Share this post


Link to post
Share on other sites
3 hours ago, zizulot said:

Well, If I were in your place I would Improve graphics a lot, because its looks like placeholders in alpha version, than i would slightly tweak gameplay

Awesome. What do you think would be the most impactful graphics improvement? I'd love to hear what gameplay tweaks you would do as well.

I'm in the middle of trying to prioritize the numerous improvements I could do next that players would find very cool and engaging and rewarding.

More levels? More enemies? More weapons? More effects? More avatars? More active environment elements?

Thanks

Share this post


Link to post
Share on other sites
59 minutes ago, swiftcoder said:

Judging by the video, the biggest bang-for-your-buck graphical improvements would be syncing the walking animation to player movement, since the character's feet are currently sliding across the ground (moon walking), and improving the camera, so that it smoothly follows the player as they walk instead of jumping from scene to scene.

I really like the stylised backdrops, and I'd keep those intact, regardless of whether you improve the fidelity of the foreground assets.

Thanks for the moon walking feedback. Need to figure out how to do more than simple force and cylinder rigid body physics to move the avatar around. IK? Probably some google search out there :)

I can definitely add an option to continuously track the avatar with the camera. I had done this, but it always gave me motion sickness.

Thank you for the background comments as well. Going beyond shades of gray doesn't always feel natural. Though black and white and gray would be an interesting level :)

Will keep your suggestions on top of the list.

Thanks for your feedback

Share this post


Link to post
Share on other sites

unless your selling graphics. you need not be concerned with graphics. your better off not using physics at all . do not use code to do a jump. animate the jump in a 3d program, not in unity. in code or in unity will not be unique. and will not come close, to what can be done in a 3d program. try doing a walk without auto keyframing

Share this post


Link to post
Share on other sites
6 hours ago, tyree said:

unless your selling graphics. you need not be concerned with graphics. your better off not using physics at all . do not use code to do a jump. animate the jump in a 3d program, not in unity. in code or in unity will not be unique. and will not come close, to what can be done in a 3d program. try doing a walk without auto keyframing

Thanks Tyree. I use Blender to do the animations for walking, running, jumping, etc... I have a cylinder mesh that has a rigid body that the avatar is attached to in unity3d. I apply forces on the xy axis to give velocity to the avatar and robots.

I blend animations between walk, run, idle depending on the velocity of the avatar.

But I definitely plan on revisiting the animations and the blending as well. Not as smooth nor "realistic" as I would like :)

Share this post


Link to post
Share on other sites

you dont seem to realize this. but giving an object physics turns it into nothing more than a life less block. being moved by math. and that is, what it looks like to the viewer. life less math. that resembles animation in no way. realism has no place in animation. unless your doing a simulation. but a simulation is not animation. architects simulate buildings, lights, weather. when someone tries to recreate an accident. they duplicate/simulate everything to be as real as possible. but that is the absolute, complete opposite of animation

Share this post


Link to post
Share on other sites
1 hour ago, tyree said:

you dont seem to realize this. but giving an object physics turns it into nothing more than a life less block. being moved by math. and that is, what it looks like to the viewer. life less math. that resembles animation in no way. realism has no place in animation. unless your doing a simulation. but a simulation is not animation. architects simulate buildings, lights, weather. when someone tries to recreate an accident. they duplicate/simulate everything to be as real as possible. but that is the absolute, complete opposite of animation

Thanks for the viewpoint.

Specifically, how would you synchronize the walking / idle / running / jumping animation so that it looks smooth with the location of the avatar. I use physics and blending. How would you do it? Translation? A combination of physics and translation?

I've done non-physics controllers as well...

https://answers.unity.com/questions/282687/which-is-better-for-player-movement-physics-or-tra.html

Thanks

Share this post


Link to post
Share on other sites

thats simple dont use physics at all. you just need to know when something collides with a surface and to not go thru it. physics is not needed for that

as far as animation have the character run forward, walk forward and jump forward. in your 3d program. do not apply physics once in unity

in truth  motions do not have to be blended, just interesting. they can have hard cuts from one motion to the other. if the motion is interesting, but in your 3d program you could have the character go from idle to walk. idle to run, walk to run. and you would not need to blend it in unity. it would already be done. you just tell it to play

but again you dont need to do this. the motion can have hard cuts. you would simplify the process a great deal. if you seperate the purpose of the engine. from the purpose of the 3d program. the engine is for interactivity, collision, checking distance to trigger an event 

the 3d program is for everything else. build the world, do the animations  add life to everything in general. here is something you probably never considered. in your 3d program animate a bullet going forward. then in your engine, give it tracking code that points it in the direction.of whatever target.

for something like that. its just as easy to do thru code. but what if you want the bullet to go forward then left or right, then make patterns and once its finished attack the target.thats not so simple thru code. but you could animate it 5 minutes. that is what your 3d program is for. to build something no one has seen before. and build it more often than not quickly.

 

Share this post


Link to post
Share on other sites
3 hours ago, tyree said:

thats simple dont use physics at all. you just need to know when something collides with a surface and to not go thru it. physics is not needed for that

as far as animation have the character run forward, walk forward and jump forward. in your 3d program. do not apply physics once in unity

in truth  motions do not have to be blended, just interesting. they can have hard cuts from one motion to the other. if the motion is interesting, but in your 3d program you could have the character go from idle to walk. idle to run, walk to run. and you would not need to blend it in unity. it would already be done. you just tell it to play

but again you dont need to do this. the motion can have hard cuts. you would simplify the process a great deal. if you seperate the purpose of the engine. from the purpose of the 3d program. the engine is for interactivity, collision, checking distance to trigger an event 

the 3d program is for everything else. build the world, do the animations  add life to everything in general. here is something you probably never considered. in your 3d program animate a bullet going forward. then in your engine, give it tracking code that points it in the direction.of whatever target.

for something like that. its just as easy to do thru code. but what if you want the bullet to go forward then left or right, then make patterns and once its finished attack the target.thats not so simple thru code. but you could animate it 5 minutes. that is what your 3d program is for. to build something no one has seen before. and build it more often than not quickly.

 

Tyree, thank you for your input and viewpoint on this. I am definitely in a different place. I won't be able to implement a non-physics / animation at this time. Just trying to make small incremental steps to get the most out of my time and effort :)

Going from Swift to Unity3d was a major change in paradigm for me and it took a year to make the transition and feel competent.

I'll have to try your philosophy on a different game. But I definitely appreciate your input. Thanks!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Advertisement
  • Advertisement
  • Popular Tags

  • Advertisement
  • Popular Now

  • Similar Content

    • By Alexander Nazarov
      Hello. I'm newby in Unity and just start learning basics of this engine. I want to create a game like StackJump (links are below). And now I wondering what features do I have to use to create such my game. Should I use Physics engine or I can move objects changing transform manually in Update().
      If I should use Physics can you in several words direct me how can I implement and what I have to use. Just general info, no need for detailed description of developing process.
       
      Game in PlayMarket
      Video of the game
    • By GytisDev
      Hello,
      without going into any details I am looking for any articles or blogs or advice about city building and RTS games in general. I tried to search for these on my own, but would like to see your input also. I want to make a very simple version of a game like Banished or Kingdoms and Castles,  where I would be able to place like two types of buildings, make farms and cut trees for resources while controlling a single worker. I have some problem understanding how these games works in the back-end: how various data can be stored about the map and objects, how grids works, implementing work system (like a little cube (human) walks to a tree and cuts it) and so on. I am also pretty confident in my programming capabilities for such a game. Sorry if I make any mistakes, English is not my native language.
      Thank you in advance.
    • By Ovicior
      Hey,
      So I'm currently working on a rogue-like top-down game that features melee combat. Getting basic weapon stats like power, weight, and range is not a problem. I am, however, having a problem with coming up with a flexible and dynamic system to allow me to quickly create unique effects for the weapons. I want to essentially create a sort of API that is called when appropriate and gives whatever information is necessary (For example, I could opt to use methods called OnPlayerHit() or IfPlayerBleeding() to implement behavior for each weapon). The issue is, I've never actually made a system as flexible as this.
      My current idea is to make a base abstract weapon class, and then have calls to all the methods when appropriate in there (OnPlayerHit() would be called whenever the player's health is subtracted from, for example). This would involve creating a sub-class for every weapon type and overriding each method to make sure the behavior works appropriately. This does not feel very efficient or clean at all. I was thinking of using interfaces to allow for the implementation of whatever "event" is needed (such as having an interface for OnPlayerAttack(), which would force the creation of a method that is called whenever the player attacks something).
       
      Here's a couple unique weapon ideas I have:
      Explosion sword: Create explosion in attack direction.
      Cold sword: Chance to freeze enemies when they are hit.
      Electric sword: On attack, electricity chains damage to nearby enemies.
       
      I'm basically trying to create a sort of API that'll allow me to easily inherit from a base weapon class and add additional behaviors somehow. One thing to know is that I'm on Unity, and swapping the weapon object's weapon component whenever the weapon changes is not at all a good idea. I need some way to contain all this varying data in one Unity component that can contain a Weapon field to hold all this data. Any ideas?
       
      I'm currently considering having a WeaponController class that can contain a Weapon class, which calls all the methods I use to create unique effects in the weapon (Such as OnPlayerAttack()) when appropriate.
    • By Vu Chi Thien
      Hi fellow game devs,
      First, I would like to apologize for the wall of text.
      As you may notice I have been digging in vehicle simulation for some times now through my clutch question posts. And thanks to the generous help of you guys, especially @CombatWombat I have finished my clutch model (Really CombatWombat you deserve much more than a post upvote, I would buy you a drink if I could ha ha). 
      Now the final piece in my vehicle physic model is the differential. For now I have an open-differential model working quite well by just outputting torque 50-50 to left and right wheel. Now I would like to implement a Limited Slip Differential. I have very limited knowledge about LSD, and what I know about LSD is through readings on racer.nl documentation, watching Youtube videos, and playing around with games like Assetto Corsa and Project Cars. So this is what I understand so far:
      - The LSD acts like an open-diff when there is no torque from engine applied to the input shaft of the diff. However, in clutch-type LSD there is still an amount of binding between the left and right wheel due to preload spring.
      - When there is torque to the input shaft (on power and off power in 2 ways LSD), in ramp LSD, the ramp will push the clutch patch together, creating binding force. The amount of binding force depends on the amount of clutch patch and ramp angle, so the diff will not completely locked up and there is still difference in wheel speed between left and right wheel, but when the locking force is enough the diff will lock.
      - There also something I'm not sure is the amount of torque ratio based on road resistance torque (rolling resistance I guess)., but since I cannot extract rolling resistance from the tire model I'm using (Unity wheelCollider), I think I would not use this approach. Instead I'm going to use the speed difference in left and right wheel, similar to torsen diff. Below is my rough model with the clutch type LSD:
      speedDiff = leftWheelSpeed - rightWheelSpeed; //torque to differential input shaft. //first treat the diff as an open diff with equal torque to both wheels inputTorque = gearBoxTorque * 0.5f; //then modify torque to each wheel based on wheel speed difference //the difference in torque depends on speed difference, throttleInput (on/off power) //amount of locking force wanted at different amount of speed difference, //and preload force //torque to left wheel leftWheelTorque = inputTorque - (speedDiff * preLoadForce + lockingForce * throttleInput); //torque to right wheel rightWheelTorque = inputTorque + (speedDiff * preLoadForce + lockingForce * throttleInput); I'm putting throttle input in because from what I've read the amount of locking also depends on the amount of throttle input (harder throttle -> higher  torque input -> stronger locking). The model is nowhere near good, so please jump in and correct me.
      Also I have a few questions:
      - In torsen/geared LSD, is it correct that the diff actually never lock but only split torque based on bias ratio, which also based on speed difference between wheels? And does the bias only happen when the speed difference reaches the ratio (say 2:1 or 3:1) and below that it will act like an open diff, which basically like an open diff with an if statement to switch state?
      - Is it correct that the amount of locking force in clutch LSD depends on amount of input torque? If so, what is the threshold of the input torque to "activate" the diff (start splitting torque)? How can I get the amount of torque bias ratio (in wheelTorque = inputTorque * biasRatio) based on the speed difference or rolling resistance at wheel?
      - Is the speed at the input shaft of the diff always equals to the average speed of 2 wheels ie (left + right) / 2?
      Please help me out with this. I haven't found any topic about this yet on gamedev, and this is my final piece of the puzzle. Thank you guys very very much.
  • Advertisement