19th December '14 by Stephanie Bazeley
Hi, it's Stephanie here and today I'm going to talk about our pathfinding! (It was supposed to be Bean, but he forgot his password!)
The monsters in our game use a custom pathfinding solution to navigate the ship, allowing it to take the dynamic layout of the ship and a multitude of obstacles in to account. The pathfinding can sometimes take a short while to calculate, especially if it is from one side of the ship to the other with lots of twists and corridors in the way. The delay between starting the calculation and getting the path can cause issues with the monster – the monster will be following its old path whilst the new one is being calculated, so when it starts following the new one, the start of the path might not be at the monster's feet. At best, the monster still lies on the new path. This usually happens during a chase. The worst case scenario is the monster is 'far away' from any part of the path, which can happen if the monster goes in one direction and the new path goes in another. We resolved this before by simply assuming the monster couldn't get too far off the path in the time and making it follow the closest node on the new path. However, we wanted to correct this assumption, to ensure this wouldn't cause a problem, and to fix the odd occasion the monster would turn around mid-chase when this didn't quite work.
To explain how we improved this issue, an understanding of the pathfinding process is necessary. The current procedure is as follows:
Find a Path → String-Pull → Improve Path
The first step is to find a path. We are not concerned with this right now. Step 2 can be described in layman's terms as placing a string along the path from the start to the end, and pulling until it is taut. In code, it actually just removes any nodes where the two nodes on either side can see each other, creating a similar effect. Step 3 is a collection of other algorithms that operate on the path to make it suitable for the monster and make the path better for following.
In order to reduce the problem stated, the game inserts a path back to the start node at the beginning the calculated path, just before the string-pull step. It does this by recording the monster's position whilst calculating the path, instead of doing actual pathfinding. By inserting the extra path at this point in the process, it piggy-backs off the remaining pathfinding functions and undergoes the same algorithms as the calculated path. This means the string-pulling removes any surplus nodes from the extra path and ensures the path ends up heading in the right direction.
I hope this technique might be useful to someone for solving the same issue!
Steph (and Bean)
18th December '14 by Jaime Cross
Team Junkfish would like to announce that their survival horror labyrinth “Monstrum” will be launching on Steam Early Access on the 29th of January 2015, with a prospective full launch in Q2 2015.
Frequently cited as one of the horror games to look out for in 2015, Monstrum takes the traditional survival horror formula and remixes it completely with its procedurally generated levels, permadeath and AI driven predators ensuring that nowhere on its derelict cargo ship is every truly safe.
With its focus on replayability Monstrum offers up a challenge to even the hardiest gamers, forcing them to use their wits and what ever tools they have at hand to outrun or outsmart their pursuers as they attempt to escape an environment that is out to kill them while evading the lurking terror that lies around any corner.
As part of the Early Access launch Monstrum will be available at a discounted price of £9.99/$14.99/€12.50, which will increase to £11.99/$17.99/€14.99 when the game launches fully.
Early Access Features
The initial Early Access version of Monstrum will feature:
Two unique monsters, each with their own tracking methods and hunting styles
Three potential escape routes, each with their own challenges to solve
Four ship sections to navigate through
A procedurally generated environment, no ship is ever the same.
A variety of distractions, hiding places and tools to aid your survival
Full Release Features
The full release of Monstrum will include:
Team Junkfish also give the following statement on launching Monstrum in Early Access:
“We are very excited to announce the Early Access launch date for Monstrum. Choosing to launch the game in Early Access was a truly difficult decision, however we felt that we owed it to all of the fans who have been patiently waiting on the game to try and meet our proposed launch date in some fashion and not further delay the game.
For the Early Access launch we will have most of the game's features in game, so players will be able to run screaming in terror down the halls in an attempt to escape whatever is chasing them, or make their way off the ship if they can fix up one of the escape routes dotted around the freighter. But we need the extra time to polish up our final monster, an extra area of the ship and sink any bugs that are still lurking around to make sure that the full launch is up to the standards that both we as developers and our fans hold.
Because we're launching Monstrum in Early Access we will be offering the game at a discount. We hope that this, combined with the opportunity to provide feedback will help us forge Monstrum into the best game it can be.”
For additional news and information on Monstrum and Team Junkfish, please see:
Steam Greenlight: http://steamcommunity.com/sharedfiles/filedetails/?id=227960559
Monstrum Facebook: www.facebook.com/monstrumgame
Team Junkfish Facebook: www.facebook.com/teamjunkfish
Press Feedback on Monstrum
"Monstrum definitely seems to be going in all the right directions, pushing forward in what was threatening to become a stale and samey genre." - Ben Barrett, Rock, Paper, Shotgun
"...it's brilliant in implementation, and a lot of the things that make it brilliant are things that could have sunk another game." - Christian Donlan, Eurogamer
"Death matters: get caught by the monster or lose your footing and your attempt to escape is over. Next time you start, the layout of the ship will be different, the locations of key items will have changed. It’s this that gives the game an edge over what its most obvious peers—the Amnesia series, Slender—have already achieved." - Chris Thursten, PC Gamer
"Some of the scariest moments I had in this game happened whenever I was searching a floor and suddenly found a door that I knew wasn’t opened by me, which was a lot more frightening than any scripted sequence could hope to be." - Caspar Bronmans, Rely On Horror
“...I’ve already spent a fair amount of time with Monstrum and I’m happy to say I’m nothing but impressed. Massive ships with labyrinthine interiors ruin what little sense of direction I possess, and because the locations of precious items are different every time you play, there’s a decent replay factor here as well as a healthy amount of scares.” - Adam Dodd, Bloody Disgusting
“The problem is, a monster is stalking the player and believe me, it's a nerve-racking feeling when you first catch a glimpse of one.“ - Alasdair Duncan, Destructoid
“So far, Team Junkfish's survival-horror is impressive; impressively terrifying, impressively disorientating, and the amount of sleep it probably helped me lose is also arguably impressive.” - Ryan Noble, Indie Games Magazine
"AHHHHHHHHHHHHHHHGH!" - Countless Let's Players, testers, reviewers, shows attendees... (profanities removed for delicate eyes)
EGX Rezzed 2014 – Editor's Pick
16th December '14 by Andy Tait
Great leader Adam is away today, so 'The Arts' are here to take over for him, carry the torch, take the flag, lead the charge, you know?
First and foremost, merry Christmas + check out this long giraffe I got from Peter. It's pretty good, has a solid whip-like motion to it so it's kind of his own fault when I annoy him with it.
Right then, lets get down to business. Interior of the helicopter now has its texture pretty far along, didn't take long - I used that 'Frankenstein' method (mentioned in the last art blog) a bit. Here are some shots:
I've also been tasked by the glorious leader to bring some older assets up to scratch, improve consistency and so forth. Here is a little presentation scene I threw together to show you all, take a step inside my darlings!
The sofa (left) was ancient history, but now it's not. Well, the style is still old but I mean the textures, can you diggit? I remade the textures from scratch. I made a dif/spec texture for the cushions, then used a generic fabric normal map to give them an impression of cloth/fabric. The wood is literally just slapped on with a wood material I made a while ago. It's also a little more desaturated to fit in with the environments better. Summary: looks better and the textures are smaller overall!
The mess table and bench (left) are now improved. Colours are consistent now, the support bars are thinner and the table has been raised to fit better with the hiding system. The bench also uses that fabric normal map, multiple uses!
The items on the left had a pass made. More polys to round areas out whilst reductions were made in others, so poly count is near enough identical. Textures are smaller too, whilst retaining detail: just not an unnecessary level of detail like individual DUST particles - which it was almost like beforehand. The fan and tape recorder share the same texture too, simply to save on memory.
The storage shelf is less boring now. I made it a little lighter and used the normal map to give its metal frame a more interesting visual dynamic. It now literally frames the contents it holds, showing to the player, through an almost 'visual metaphor', that even the most interesting looking exteriors (like people) can just be full of dull, lifeless (soulless) material. Just kidding, but it does look cool! And check out those sweet cloned lamps it's got stacked!
OK, I am tired, I can't carry the torch any more! It's time to wheel out the next generic 'art':
Hello everyone, animator here to talk about what I’ve been doing the past few months.
So recently I’ve been doing lots of monster animations which unfortunately I can't show you. However, I can show you and talk about some of the player item use animations.
I’ve been working with Andrew Bean to redo the system used for the player use item animations. Originally I would animate both the player's hands, move the actual item around and key the position in the scene to sync up the animations. Then I would export both of them separately and the programmers would place them in the scene. This was a bad system as it meant I had the problem of trying to keep the floating items in the hand positions when they moved. It also meant that it was even more difficult for the programmers to sync up the animations in the game.
The new system involves parenting the item to the player's right hand. This means the item locks onto the hand and moves smoothly with the hand animation. All I need to do is animate the player normally using the item and only export the item's rotation, so that it is positioned in the hand. This especially helped for items like the bolt cutters and fuel tank which required both hands needing to be used.
But because of this the whole item holding system needs to be redone. This means more work has to fix things like the wrist rotations, but it means we'll have a better looking result in the end.
That's it for this update, hope the insight was good
Adam and The Arts.
12th December '14 by Jaime Cross
This audio blog returns to the Story in Games/world building series that I was writing regarding game audio. Last time I looked at the IEZA Framework and broke down Animal Crossing: New Leaf's sound design using it. As with the first blog on music in games, this time I'm going to break down some of Monstrum into the four components, what the sounds are for, why are they used and how do they make the world that the player is in feel more believeable.
For reference, here's the graph again:
Effect sounds are a huge part of Monstrum for one major reason: the monsters can hear them too. This means that almost everything that the player can interact with or do requires a sound in response. Be it from crawling around under tables to using a giant rusted crane, running around a maze of shipping containers to throwing away a glowstick, if it makes a noise in the game world then it makes sense that the player's character isn't the only thing that will hear it. This ties quite heavily into the monster's tracking AI, which we've sort of discussed before in relation to audio distractions. The fact that they'll head towards things that are making noise can be a hinderence as well as a boon. So that giant rusted crane from above? You might just need to use it to escape, and it's not in the best shape so chances are its moving parts are going to be pretty noisy...
A really early WIP shot. Still rusty though!
We also have some standard use of effect sounds like differing footstep sounds depending on the surface the player character is on or how they are actually moving. The various interactables all have relative sounds too. As well as this the use of reverb plays a big part in giving the ship a sense of space. The corridors have long, hyperrealistic reverberations that echo down its (mostly) empty halls, while the various rooms sound... roomy.
On that note, we'll jump into the Affect section. There's a bit of a deeper reason as to the obvious difference in between the reverbs. While they are being used to try and replicate the sound of the space the player character is in, the corridor's long decay tails encapsulate the seemingly endless series of halls the player traverses through, which the rooms feel boxed in and smaller. I wanted the players to “feel” like this to a degree, especially at points when they have to deal with a monster. You're trapped on this big, labyrinthine ship, but even within that there are microcosms, little pockets that can just as easily result in you being locked down even further. In the corridors you can run far and wide if a monster spots you. Dive into a room are your options are immediately less free, and if you chose to hide the area that the player inhabits becomes smaller still.
Some times you can pick the right place too!
There's also the different themes for each monster, which has been covered in a few previous blogs. For a basic recap: each game starts with the same “wandering” music until the player is discovered. After this point the music changes to a different “bank” of songs depending on the monster in the level. There's a “chasing” theme while being hunted, a “hiding” theme while you're under cover but the monster is still actively chasing you down and another “wandering” theme, which replaces the original one after the initial chase and utilises some of the motifs that each respective monster has.
Monstrum doesn't have much in the way of a HUD, but we do have the journal! It's responsible for holding the player's notes and objectives, which they can flick through, so natrurally it has page turns and paper flutters when you use it. It is in real time though, so do be careful when having a read...
The diegetic sonic space in Monstrum is of crucial importance in multiple ways. While the Effect sounds not only provide (realistic) responses and tie heavily into the gameplay the Zone sounds define the environment, which is a fairly big part of any horror game. There is a low level base ambience across the whole ship to provide an “air”, removing the silence that could occur if nothing was playing. Similarly, the different parts of the ship will have their own airs on top of this to give some subtle sonic changes, in addition to the reverb changes mentioned above, as players move through each area.
Additionally we have our random ambience generator, which allows triggers various creaks and rumbles of an old ship at sea. This works by spawning an audio emitter somewhere within a sphere around the player after a randomly picked delay. These are limited so that there's a decent amount of time between each sound so that they don't get too repetitive and lose their effect. Finally, they're also affected by occlusion and reverb to help them sound a bit more distant in the ship. So we have:
randomly placed sounds + random time intervals + reverb and occlusions = mysterious spooky ship noises!
I'm sure Gary can go over the system in a bit more detail for a code blog. The outside of the ship doesn't really have this effect going on as the sounds have fewer points of origin and nothing to reverberate off of, which gives it its own character. It plays more with silence, and being in the open provides a bit of a reprieve from the visually and sonically claustrophobic interior.
It's also dark. Really dark.
But of course, how the audio is implemented is only part of the battle, how it sounds is also a key factor. This is quite relevant to the Hunter as it is, at times, part of the environment too. But that doesn't exclude the others from this! We want to keep players on their toes, even before they know what they're up against. Was that thud in the distance a footstep or just the ship? Was that noise above you just water in pipes or something creeping through the vents? Well, you'll find out when you play the game!
There is a lot more in the game that I've not covered, such as the radios and other spoilerish stuff, but hopefully this will give you an insight into the general audio direction in Monstrum on the whole!
8th December '14 by Jaime Cross
Rather appropriately numbered, this blog is all about Junkfish's games of 2014. So here's what we've managed to play in between working on Monstrum. Obviously these are all our individual opinions, so... Enjoy~!
Wolfenstein: New Order
Oh god. The art in that game makes me so damn hard! (I love Tor Frick's stuff).
Was starting to get bored of the ol' FPS games being released recently. Thought it was because I was getting old, but New Order took what I loved about classic shooters and re-wakened my love for them. None of that COD pish you see now days [Note : I still bought the new Call of Duty anyway]. HNNNNNGGG THAT ART THO.
Matchingmaking issues, uneven teams, Halo 2 doesn't save properly and generally there are many bugs. All in all, I give this game a 10/10.
(Some say there has been a constant sound of explosions emanating from from Bean's room every night since he got this game...)
Binding of Isaac: Rebirth.
This updated version of Binding of Isaac took an already awesome game, and made it even better. All the new introductions to the game were all huge improvements:
Binding of Isaac: Rebirth is a fun, challenging game that will always have that "Ah, just one more go" aspect to its gameplay, and that is exactly what a short-ish procedurally generated game should have. If you haven't tried out this game I would definitely give it a look if you can. Just be prepared to be killed. By everything. A lot.
Not sure what I can really say about this game as it's difficult to describe without spoiling the experience a bit. I'd say it's best to go into this one blind, but if you demand information it's a mission-based game with a Moore-era Bond feel, and it is fucking hilarious. The fun in Jazzpunk doesn't come from completing the levels, but, but from finding all the bizarre and amusing ways you can interact with the environment. The devs have crammed references and gags into every nook and cranny of this game and it's a delight trying to find them all, clicking obsessively on everyone and everything in the level just to see what happens. While it's a very, very short game, it might well be the most entertaining gaming experience I've had in a long time.
Runner Up: Binding of Isaac – Rebirth (A glorious piece of software but discounting it here due to it being a remake)
The best game I played this year was actually two games. But they launched in Japan in the one bundle SO IT COUNTS. Anyway, the Danganronpa games are, at their core, murder mystery visual novels that pit the various cast members against each other in order to escape their situation. You play as an amnesiac character in a group of amnesiac characters, because your guys manage to forget what they're able to do on top of how they got into the situation everyone's in!
Anyway, to get to the point: the story across both games is really well thought out and engaging, with loads of twists, turns and wham episodes that'll make you go both “what the fuck?” and “NOOOOOO!” in equal measure. The second game riffs off some of the more standard tropes and plot points that occur in its forebear, but also manages to sneak some smaller little references in too. The characters are, mostly, likeable, even if you're swearing at them for being royal (but glorious) bastards only one or two across both games has pure “go away heat”. Which is impressive considering there's around 30 in total! The 2D cardboard-meets-comic book style helps everything pop out, and the music is excellent too. The gameplay elements can be a little bit odd but they mostly work and are second fiddle to the story itself anyway. It's a game that you absolutely have to go into blind though, much like its sister titles 999 and Virtue's Last Reward. So if you enjoy them or the likes of Pheonix Wright then you should give Danganronpa a shot.
There are loads of games I still wanna play that came out this year (hi Bayonetta, Smash, Never Alone and Guilty Gear) but here are some honourable mentions: OlliOlli, Mario Kart 8, Child of Light, Shovel Knight, Theatrhythm Final Fantasy: Curtain Call, Persona Q and Binding of Isaac: Rebirth.
...Of course I write the bloody most.
I find it's a fun, addictive city builder game. The controls are easy to understand so it doesn't take long to learn how to play it when you first start. It's the sort of game that keeps you on your toes. You could be playing and have a great run through for hours and then all of a sudden, everything can easily go to shit. A hurricane hits, the crops suddenly get infested with bugs (or frequently in my case) everyone dies of old age and there are not enough young people to take up the jobs because you didn't want to over populate the village and not have enough food to go around and now you've got one 70 year old villager working in your quarry and the little bugger is like collecting five stone bricks a year and you're like "fuck sake do your job you little shit, I've got these other villagers wanting a damn new house 'cause they're 40 years old and still living with their parents" …........ BUT YEAH LOVE IT.
I can't decide between 2, so I'll give a paragraph for both:
One of my choices for GOTY is Valiant Hearts: The Great War. It's a 2D game, which takes mechanics from Point and Click games and extends/enhances them. The game focuses on World War 1 and follows the stories of 4 characters that frequently encounter each other throughout the war. Ubisoft Montpellier managed to create a gorgeous, very touching game that I feel provided a unique perspective on the war and how it affected everyone involved. There is a particular chapter involving gas that hits really hard, but I shan't give away any more than that. The game is an excellent experience.
My second choice for GOTY leans towards a completely different facet of the gaming spectrum: Middle Earth: Shadow of Mordor. This game involves you playing a warrior, possessed by a vengeful spirit, looking for vengeance for the murder of his family. REVENGE. You run around, killing a lot of orcs, in a lot of different ways, and taking advantage of their leadership hierarchy. There are essays dedicated to how well this game works from a mechanical and design perspective, so read them if it interests you. The game is fluid, and incredibly satisfying - everything feels good. I'd say it's more interesting and fun to go on killing sprees in this than GTA. The ending is... abrupt. But, apart from that, the game is worth everyone's time. Such good fun.
Grant also mentioned Last of Us, and that could have a 3rd paragraph... But I won't. Yet. Honourable mentions also include: Binding of Isaac: Rebirth, Transistor, Civilization: Beyond Earth, and Child of Light. All are excellent in their own ways. PLAY THEM ALL.
Glorious Leader of the Junkfish Republic With No Time For Such Frivolous Things. Or: Simon.
Banished was a decent game from 2014, I've played more than 5 hours of it.
But I'm gonna nab Endless Legend since Tait left it on the table. Some really cool riffs on 4X genre tropes. Each faction has some clever unique traits that make every game different enough that you don't get fatigued while also improving each time through the common elements. Also, who wouldn't want a game that gives them the option of stomping their friends as a nation of dragons?
Having always enjoyed a good Mario Kart game it comes as no surprise that Mario Kart 8 was pre-ordered as soon as it was announced! It came out on my birthday which made for the best party. Great fun, brings out the worst in people and a brilliant multi-player, still played by many of Junkfish today! (Also being able to play as Link in the DLC bumped it up to my GOTY).
An honourable mention goes to the amazing Professor Layton vs Phoenix Wright. The two games blend together so well I couldn't put my 3DS down!
Well based on a mix of hours and how much fun I think I had then I reckon Wargame: Red Dragon is my winner. I like the detail in the units and I like an RTS where I can have a think before making a move. I don't tend to play turn based strategies online, and I don't like breakneck speed RTS games. I'm too slow and my feelings get hurt.
Lots of honorable mentions...
Planetary Annihilation: A nice change from the realistic and HA I blew your planet up with a laser. Pretty gid
Endless Legend: 4x game, really gid
Watch Dogs: I enjoyed following and watching other people online without them knowing. It's gid
Titanfall: Never played much of COD but this is actually well gid
Wolfenstein: Adam is right, big action and big guns. This is quite gid.
Shadow of Mordor: I stabbed an orc and I liked it, super gid.
Bitmap 2 Material: 251 hours played. Gid.
And there you have them! Agree? Disagree? Let us know what you think!