Hello all, so after a couple months of having fun with unity, I’ve finally decided to release a quite small demo of my game, practically 3 minutes of game play, just to get a taste of what I’m working on.
Ive tried to make the game with the best graphics possible for unity to handle, and it turned out not too bad, except I just need to work on the shaders of the levels and what not.
The main part to why I want to release this small demo is just to get feed back, and just to see on average what FPS are people getting? My computer is pretty slow but with a nice video card, and I’m getting around 25-60 frames, depending on where I am.
The last request I wanted was feed back on whether I should or should not continue on this game, Ive been working on it for awhile and learned so much that I can take what I learned, and make a whole new project that I have in mind.
So enough rambling on, heres my game. And please take 10 seconds to read the READ ME file so you know exactly how to play.
A really good start for a couple of months with Unity!!
Gave it a run on my PC and it seemed to run pretty smoothly, although you haven’t a FPS text on screen so I can’t tell you the frame rate (dont have Fraps or similar installed on PC at moment). If there is a key to enable a FPS counter, my apologies for missing it. That said it was fairly smooth… but I think it should have be a lot smoother for the number of assets/textures on screen.
How are you making the level? In a modeller or Unity? How many draw calls do you have in the Unity Editor if you turn on the stats?
If that level was made in a modeller i’m guessing you could get the Drawcalls to about 30 (maybe a few more).
My initial crit would be the lighting… you have all those wall lights, but the scene lighting doesn’t seem to reflect these.
If you moved this into a modeller and added lights where you have wall lights and then baked out the lightmaps it would lift it to a new level.
Like I said, really nice start and stick with it!!
First of all, sorry for the FPS counter, but its actually at the top, due to my widescreen monitor (1680x1050), i was able to see it, however, if done at a lower res (1024x768) It will be cut off, and at (1280x1024) you can see it perfectly.
Second, I modeled the whole level in a modeling program, not unity.
Third, I initially had atleast 30 lights, one for every bulb you see on the wall, but my fps dropped like hell so i decided just to put 2-3 lights per room, so I definitely know that was an issue.
Lastly, I didn’t really take a look at the DrawCalls because I didn’t understand what that was for, but I tried to make the rooms as efficient as possible.
ok… i’ll run it again at 1280x1024 (i was looking at 1024x768) and let you know.
If you have it in a modeller then you have done most of the work to making it efficient and lit correctly. those 30 lights you were adding to Unity you could add into the modeller in the correct places and then bake out lightmaps. it’s obviously more work in the modeller (not sure which modeller you use) but the results are worth it.
That way, you could delete every light from Unity completely and get the drawcalls very low and the fps very high.
Oh okay, I’m actually not too sure how to use lights in 3DS Max (the modeler I’m using) but ill definitely look into it to make my level look more realistic in accordance to the lights.
I played it on Fantastic and it seemed to fluctuate wildly between 30-60fps. Was pretty annoying.
Then I ran it on Beautiful and it was much smoother, it tended to fluctuate around 80-140 fps, even so-it felt pretty smooth. And I really didn’t notice too much of a graphics loss, it still looks the same to me. (if I had a screenshot comparison I could probably notice the difference but it still looks good)
For a horror game it feels way too bright, you should check out Dead Space for an example of near perfect horror game lighting. imo at least.
no graphics on fastest… I got the images for the hud, and crosshair, but the rest was grey… This pc is an old laptop with a 3ghz p4 and a crappy go5600 video card, so it doesn’t really have any shader support, so if everything was done with shaders, then that’s why. I did try it on fantastic, but it was less then 1 fps at 800x600… probably this crappy pc though.
Oh yeah for sure about the lighting, its only quite bright because of the size of the room, so players could actually see whats around them.
I absolutely loved dead space and cant wait for the second one, and thats game I’m following, aside from the over the shoulder 3rd person and the graphics, I’m making my game as similar as possible to it.
Caliber, there wasn’t much done in shaders in the game, aside from maybe the glass, its probably just you’re PC, my game isn’t as efficient as it could be.
In the build settings when you’re going to make your game, choose OSX Universal Binary Standalone and unless I’m wrong it should work with any mac.
I like what you’ve got so far with your game, great start!
By the way, I’m guessing you’re using the FPS tutorial as a foundation for your game, how did you get your zombies to use melee attacks?
Oh okay, ill release a mac version later on, I’m busy working on a brand new project, I decided to drop this game for it will take an extremely long time to continue, this small demo is more than enough to show what I’m capable of making.
As for the melee attacks from the monsters, you basically just start out with a simple melee animation, and you add a couple lines to the AI script that applies damage to the player, if you want the part of the script that does that then let me know, ill have to dig into my project to find it.
Sure, that’d be most helpful I’m working on a zombie shooter myself and until I can get some more advanced AI up and running it’d be great for prototyping.
This is the Attack function, the rest is literally from the script AI.java in the official fps tut.
function Attack () {
// Play sound
if (sound)
AudioSource.PlayClipAtPoint(sound, transform.position);
// Start attack animation
animation.CrossFade("attack", 0.15);
animation.CrossFade("idle",0.5);
//apply damage to player!
target.SendMessage("ApplyDamage", damage);
// Wait until half the animation has played
yield WaitForSeconds(delayShootTime);
// Wait for the rest of the animation to finish
yield WaitForSeconds(animation["attack"].length - delayShootTime);
Jingle, I have taken a look at those packages a long time ago, and I chose not to use them because a) It uses c# and i have no knowledge of it, and b) I completely did not understand the scripts that they used, so I refuse to use them in my game because if I ever wanted to change something in the script, I would be totally lost.