Competition Entry:
Build 0.4 - Competition Entry Build (11mb) Instructions
------------------------------------------------------------------------
Build 0.3 - Sound Tester
Build 0.2 - Drone Tester
This is very ambitious for me, but I want to make:
a first-person steath-horror game where you have to escape a labyrinth before the dweller gets you.
It will be my first foray into Unity in all it's glory, so we'll see how it goes - any of the below is subject to change.
The basic idea would be to have a large maze made of interconnecting passages with traps and monsters that you have to sneak past - you have no weapons - and a single exit. Almost like a Diablo 2 level, but in 3D with no fighting.
Atmosphere / visual inspiration will be drawn from Diablo 2:
Azreal's Tear:
and Magic Carpet 2
(Can you believe that is actual size? The amazing things people did with 320x240 resolution.)
The game would have to have AI capable of seeing and hearing you and pathfinding through the maze - the central mechanic is the dweller which will be loosed into the labyrinth with you, and will be stalking you. You will recieve some sort of feedback depending on how close the dweller is from you, something like a radar ping or alarm, or even just sound and lighting.
The focus here is on experience and atmosphere, so the visuals and sound take preference over game mechanics unless those mechanics heighten the sense of dread / fear.
The time limit wont be expressed to the player anywhere, rather the dweller will always find you eventually.
And thats the basic idea, it's quite a tall order I think, considering I dont have any Unity experience, but lets see how close I can get to it.
Build 0.4 - Competition Entry Build (11mb) Instructions
------------------------------------------------------------------------
Build 0.3 - Sound Tester
Build 0.2 - Drone Tester
This is very ambitious for me, but I want to make:
a first-person steath-horror game where you have to escape a labyrinth before the dweller gets you.
It will be my first foray into Unity in all it's glory, so we'll see how it goes - any of the below is subject to change.
The basic idea would be to have a large maze made of interconnecting passages with traps and monsters that you have to sneak past - you have no weapons - and a single exit. Almost like a Diablo 2 level, but in 3D with no fighting.
Atmosphere / visual inspiration will be drawn from Diablo 2:
Azreal's Tear:
and Magic Carpet 2
(Can you believe that is actual size? The amazing things people did with 320x240 resolution.)
The game would have to have AI capable of seeing and hearing you and pathfinding through the maze - the central mechanic is the dweller which will be loosed into the labyrinth with you, and will be stalking you. You will recieve some sort of feedback depending on how close the dweller is from you, something like a radar ping or alarm, or even just sound and lighting.
The focus here is on experience and atmosphere, so the visuals and sound take preference over game mechanics unless those mechanics heighten the sense of dread / fear.
The time limit wont be expressed to the player anywhere, rather the dweller will always find you eventually.
And thats the basic idea, it's quite a tall order I think, considering I dont have any Unity experience, but lets see how close I can get to it.
Comments
Mine will be less "dark" though.
I think the restriction is going to make people create a few similar games, will be interesting to see how each person interprets a general game idea.
I am still going through tutorials to learn the basics of Unity, so I really want to get over with that so I can start pushing the limits. I have cool ideas for movement mechanics, but I can't test before I know how :P
@Nitrogen - were you considering FPS or 3rd person? I'm going FPS. Agree that interpretations of the general game idea will be interesting to see.
Sorry just saw original post:
At the same time I am writing tests :P so it's going slow
@Nitrogen, how would one sneak past the "monsters?"
But hey this is where you can fail without care :P
And this kinda reminds me of that 7DFPS Pac man entry. Sneaking an exit in first person can be nerve wracking :)
I've done a bit of 3D programming back in the day, so I know what is basically needed to create the game, I just dont know how to do the same thing in Unity. The sound and music and AI aspects are things I havent ever got to in my half-finished prototypes, so it'll be interesting to see how far I get with them this time.
@Tuism: You're probably right. I'll obviously be adjusting the scope of the project as it goes along, and realigning my goals if it gets too big.
@RickyGC: Well, I was going to add monsters but it might end up just being you, the dweller and the maze. I had some really cool ideas for monsters similar to the Sentinels in Magic Carpet 2 which are staticly placed, rediculously powerful, but slow to notice you. It depends if I get the core mechanics working properly, I might add in extra monsters and traps.
I'm assuming Unity has some efficient way of doing ray intersection testing? This is what I'd expect to use between the player and each light source to determine if you're in shadow or not, and between the monsters eyes and the player to determine if the player has been sighted.
(Note I havent started researching the ins and outs of Unity properly - will have to wait till after work hours for that)
http://docs.unity3d.com/Documentation/ScriptReference/Physics.Raycast.html
3 hours in, I've made sure that I can import meshes from 3dsmax, got the FPS controller working, tested out lightmapping and collected a whole bunch of awesome sounds from freesound.org.
wow, gj dude!
Once again I cant just let it go and make square corridors everywhere.
In fact, I think I'm going to stop trying to model rooms with optimised display meshes and simplified collision hulls and just put in square corridors.
(If I dont explicitly say what I'm spending my time on, I end up taking 4 days uselessly modelling a room that probably wont even be used in the game.)
Hmm, that's an interesting idea - underground caverns with two terrains, one just flipped upside down? Kinda like what @TheFuntastic's Towards the Light was like... Could work...
I'm totally fed up with 3DS max, trying to make some very simple tunnel pieces and having difficulty doing simple operations like getting the floors to be UV mapped differently from the walls or even just selecting all upward facing faces so I can set a different material to them.
And before you tell me to stop wasting time on art: the level design is integral to the game. Without the interesting setting it's just going to be another escape the maze game. Remember - I'm going for experience and atmosphere here, not necessarily unique gameplay (which is something @tbulford and I spoke about at the last meetup)
I suppose I must just keep simplifying my assets until they are manageable, or try and enlist the help of someone to make some for me.
Thoughts?
Oh and I've decided on a setting - an underground reservoir / sewer. Check out how cool this setting is.
I figured out how to draw Gizmos, and started the basics of my AI Pathfinding. I decided to go for a node based graph approach (as used in the Unreal engine) where you place waypoints within line of sight of eachother, and connect each to it's immediate neighbours, then pathfinding becomes - I assume - a simple breadth first search through the web of waypoints to the one closest to the target.
Looking forward to this!
You can select all upward facing faces depending on what version of Max you're using. In the Graphite Modeling (sic) Tools > Selection > Angle, you can choose an axis, and choose a tolerance angle. Any faces with normals pointing along this axis within the tolerance get selected. If you're using Max pre-2010, I'm sure the Polyboost tools have something similar.
Alternatively, if your passageways are fairly flat, just use one of the side views and select from there.
Also, if you're going for a fairly natural look, just assigning different materials to the walls and floors will result in seams. You could use the same material across them, but write a shader that blends between the two textures using some other control, like some vertex colour channel, or a channel in another texture.
I'm using Max 2012. I was using the Edit Mesh modifier, but this doesnt let you use the Graphite tools. I found if I use Edit Poly rather, then I have much more control. After I stopped hurling stuff at my pc last night I tried again with box modelling and creating edge loops, seems to be going a lot smoother.
I was originally trying to make a cylindrical room with a hole in the middle, and a walkway around the edge, but the UVW Map modifier is retarded only the U and V tiling affects the cylindrical projection, so you cant tile the floor separately from the walls.
What would you use to UV Map an arbitrary level piece - ie. something that you wouldnt UV unwrap?
Er... I have very little experience mapping things with UVW Map, as pretty much all of the assets I work on are more complicated than primitives and have to be dealt with with a UVW Unwrap. (The majority of the UVW Map projections are available in Unwrap UVW as well.) You can still map the pieces that are simple with UVW Map, and then use the unwrap afterwards. If you want to change the tiling of the floor, you could just select the UV islands of the floor and scale them. For arbitrary (and more complex!) pieces, you pretty much have to use the Unwrap UVW modifier. The workflow is effectively to use planar or cylindrical projection on smaller pieces, relax them (or use Quick Peel, which is amazeballs), stitch them back together where it makes sense, straighten edges where it makes sense, and pack them all onto one sheet.
It takes a while to do well, but obviously you get a lot faster with experience. (And the variance is pretty crazy. It apparently took a Masters digital art grad who was working on a contract game I was consulting on almost a day to unwrap something that I unwrapped in 20 minutes with a more painter-friendly layout. It really takes a long time until you get into the flow of how to do things. I could go on and on about what good and bad UVs look like, and why people who work in film and advertising generally can't just plop right into a game dev pipeline...)
Oh and I tried out the Decal System plugin by EdelWiess, and it's got a nasty bug that makes Unity hard crash and close immediately when dragging a decal projector around the scene. Lovely.
It's starting to look like something now though:
Unity made this ridiculously easy to do.
- I have a number of NavPoint objects which represent waypoints where the creature can go without getting stuck.
- Each NavPoint has a number of neighbours which are navigable from the current point.
- I then created a NavNetwork object to house all of the points, and extended the Unity Editor to allow you to recalculate the nav network automatically.
Calculating which points are passable from which other points was pathetically simple in Unity, using the Physics.SphereCast() function which is essentially a 'fat' raycast.
This is the result:
ah pathfinding, It was an epic cough*frustrating*cough adventure. I started with some node based pathfinding too, but it felt too rigid. so then i tried unity's navmesh (by the way this could be awesome for both you and @FanieG if you had pro). I did not stay with it because it cant handle runtime generated levels, but its very easy to setup and use, also more accurate than my current solution. next I gave Aron Granberg's A* pathfinding project a go (http://arongranberg.com/astar/). that is what I am using now, only I modified it slightly to work with my scene. The free version should also work great for you guys if you want to try it, it should be a drop-in-and-work solution if you are not trying anything hectic. and the documentation on it is good (better than unity's documentation ;) ) though it is a bit more work to get everything running smoothly. at least it should not bomb you guys with errors like it did me if you use it like it was meant to be used lol :D
@Pixel_Reaper: I'm not sure about lighting, sometimes thick fog and short view distances are cool, other times they are annoying. I made the concous decission that my character would have to rely on environmental light only, so that means lighting up the levels pretty well but with high contrast between a lot of dark and some light spaces (ala Doom 3).
I think what your game needs visually is some features on the walls and a roof - the roof plays a big part in making someone feel hemmed in and confined. Maybe you can also add in randomly placed lanterns and things on the walls to break up the monotony. Also, have a look at EidelWiess's decal system - I managed to get it working and it's really great for adding blood splats, dirt, water stains, leaking stains and all sorts of interesting stuff to your walls and roof.
Also, try not make the corridors just box shaped - add some curvature to the roof if possible, or add some slight embelishments.
@FanieG: I'm not using LayerMasks too much yet - I bascially only have 3 types of physics colliders - the player, the enemy and the rooms. Everything else doesnt have a physics collider so I dont need any masking yet. I dont think I'll have doors either.
Also, in horror games, the lighting scheme often leans toward green (with a purple complement). Look at your Azreal's Tear screenshot. :)
But I do have tons of ideas for lights. I'm thinking red warning bulbs and catseyes. Orange bulkhead lights, harsh floodlights in some areas. Blacklights, greenish overhead lights, etc.
Then there's steam, dust motes and dripping water, pipes, machinery, sound effects, stains and bloodsplats on the walls, dynamic lights, alarm systems...
So many ideas - so little time!
by the way I'm interested in hearing about your thoughts for your dweller if you do not mind sharing them.
The visuals of the drone arent super important, as when you see it, you'll likely be dead shortly anyway. What I want to focus on is the sounds it makes when nearby or hunting. I'm trying for something like a deep bass note - like the drones in oblivion or in one of the new terminator movies.
Decent 1 has actually ended up being more inspiration than any other game so far, I guess I really want to make a Descent clone one day :P
My problem and question to you guys is how to stop my rigid body drone from overshooting the path:
The golden sphere thing is my drone, which is trying to follow the green path, but because it built up speed on the straight bit, it overshoots the curve.
Now, do I:
1) Stop trying to use rigidbody physics for the fully AI controlled drone, Or
2) Does anyone know of an algorithm which will calculate velocity to a target while taking current velocity into account?
number 1 is probably the sensible option, but no fun at all :P
number 2 is interesting - I'm sure it's a well-solved problem in physics programming, but I dont know the right search terms to bring it up.
@fanieg: Im writing the physics from scratch, input the destination and outputting a force to apply to the rigid body to get it there.
http://answers.unity3d.com/questions/138749/proportional-navigation-guidance-logic.html
See how the cyan line is adding the correct amount of movement to counteract the forward momentum :)