Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - Lewis

#1
I've been trying to fathom this one on my own but it turns out I really have no idea where to start.

For context, I've been working on a survival horror style game in AGS for a little while now. One thing that I'd like to incorporate is a sort of 'wobbly aiming' mechanic whereby when the player is aiming the reticule at an enemy, the cursor/reticule sort of wobbles around the point where the mouse is on screen as if your aiming is imperfect (for example, like with the sniper rifle in the Deus Ex games - watch from 13 secs:) https://youtu.be/W78OSUJZrBU

I'm also hoping to add a recoil effect whereby when the player shoots the enemy, the reticule/cursor snaps upward on the y axis.

The aiming/firing mechanic simply uses an inventory item (iPistol) which, while active, changes the mouse pointer to an aiming reticule. Clicking this on the enemy (cMonster) then triggers a bunch of script that isn't especially relevant here.

Can anyone give me some pointers (pun very much intended) as to how to approach this?
#2
Question per the thread title, really.

I'm creating a zombie shooter engine within AGS because of course I am. Slowly but surely it's coming together.

When the player kills a zombie, I'm getting it to show a 'zombie death animation' then replace the zombie with a sprite drawn onto the background, so I'm not cluttering the screen up with characters, as there's no need to interact with zombie corpses (both in the game and in life in general). So I'm using this code:

Code: ags
DrawingSurface *surface = Room.GetDrawingSurfaceForBackground();
surface.DrawImage(cZombie.x-16, cZombie.y-48, 105); //weird quirk in AGS offsets the sprite coordinates from the character coordinates. No idea why, but offsetting the coordinates like this works.
surface.Release();


Of course, the issue is that if the zombie dies when behind a 'walk behind' area, the sprite is drawn over the top of it, because I'm simply drawing the sprite onto the background.

Anyone got any simple / elegant solutions for this?
#3
Apols for the third new thread in a few days - I'm trying something new!

So, I'm trying to create a simple real-time combat engine with some very basic AI logic.

There's a lot of code in lots of places in the global script, and most of it isn't relevant to this question, so I won't put it all here. In short, I have an enemy character (cZombie) that has three AI 'states': 0) Patrol, 1) Attack, and 2) Dead. These are all controlled by calling functions from when different conditions are met. Specifically, I check in rep_ex to see if the zombie is moving, and if it isn't, it walks (noblock) to a random place on the screen. I also check with a custom function (and call it from rep_ex) to see if the player is within a certain distance of the zombie and, if they are, then the zombie begins to follow the player and ultimately attack them if they get right up close.

And it almost works. The problem is, when "is the player within a certain distance" returns true, the zombie waits until it has reached its next randomly generated coordinates before it begins to follow the player. In other words, I'm struggling to find a way to 'interrupt' the noblock walk instruction so that the zombie begins to immediately follow the player.

Here's the relevant rep_ex snippet:
Code: ags
//Check distance from player for attacks
    if (cPlayer.Room == cZombie.Room)
    {
      check_zombie_distance();
    }
    
    //Zombie patrolling the area
    if (zombie_state==0)
    {
      if (cZombie.Moving==false)
      {
        cZombie.Walk(Random(1280), Random(720), eNoBlock, eWalkableAreas);
      }
    }
    //Zombie chasing player
    else if (zombie_state==1)
    {
      cZombie.FollowCharacter(cPlayer);
    }


And then I have a custom function for checking the distance:

Code: ags
function check_zombie_distance()
{
  //Check if a zombie is nearby and should therefore change to state 1
  
  if ((cZombie.x - cPlayer.x < 400) && (cZombie.x - cPlayer.x > -400) && (cZombie.y - cPlayer.y < 300) && (cZombie.y - cPlayer.y > -300))
  {
    zombie_state=1;
  }
  
  
    //Check if a zombie is close and should therefore attack
  
  if ((cZombie.x - cPlayer.x < 30) && (cZombie.x - cPlayer.x > -30) && (cZombie.y - cPlayer.y < 30) && (cZombie.y - cPlayer.y > -30))
    {
      zombie_attack();
    }
}


I've checked around the forums and found some ideas (including a module) on how to allow a click to interrupt the player's own walk, which is the most similar query I've found, but haven't been able to find anything to fix this particular issue. Any help or pointers appreciated!

I am also suddenly conscious that any blocking scripts that are fired will block the rep_ex functionality so I suspect I'll also have to move all this to rep_ex_always and then find a way for the zombie attack to interrupt what would normally be blocking actions by the player. Work still to be done!
#4
Edit: I've solved this myself.

Firstly, and most obviously, I had a brain fart and forgot to add brackets to my function imports. This fixed that problem.

I was then making the mistake of thinking char.FaceDirection could check, as well as set, the direction, but I was wrong. This error was fixed by checking which animation loop the characters are using.

As you were.


Hello, me again.

I know there is already a thread about this, but I couldn't figure out a way to apply it to this specific situation and I'm stumped.

I'm trying to create a pair of global functions that will allow the player to shoot another character, who then dies. This occurs repeatedly in various bits of the game, so I want to do this globally rather than one at a time, for efficiency.

I'm creating and importing two functions: shoot() and zombie_die(). shoot() handles the player shooting the zombie and associated variables, while zombie_die() handles the zombie's death animation and associated variables. shoot() will be called when the player interacts with the zombie with a gun inventory item equipped; the zombie_die() function is then called within shoot(), so I've made sure zombie_die() is above shoot() in the global script.

However, when I go to run the game, I get the error "Type of identifier differs from original description" pointing to the zombie_die() function in the global script.

The error still occurs if I comment out literally the entire section of code inside function, so it's definitely something to do with the function itself.

Header script:
Code: ags
import function zombie_die;
import function shoot;


Global script:
Code: ags
function zombie_die()
{
  if (cZombie.FaceDirection==eDirectionDown)
  {
    cZombie.ChangeView(12);
    cZombie.Animate(0, 5, eOnce, eBlock, eForwards);
    cZombie.FollowCharacter(null);
    zombie_dead=true;
  }
  else if (cZombie.FaceDirection==eDirectionLeft)
  {
    cZombie.ChangeView(12);
    cZombie.Animate(1, 5, eOnce, eBlock, eForwards);
    cZombie.FollowCharacter(null);
    zombie_dead=true;
  }
  else if (cZombie.FaceDirection==eDirectionRight)
  {
    cZombie.ChangeView(12);
    cZombie.Animate(2, 5, eOnce, eBlock, eForwards);
    cZombie.FollowCharacter(null);
    zombie_dead=true;
  }
  else
  {
    cZombie.ChangeView(12);
    cZombie.Animate(3, 5, eOnce, eBlock, eForwards);
    cZombie.FollowCharacter(null);
    zombie_dead=true;
}

function shoot()
{
  if (ammo<1)
  {
    SetSpeechStyle(eSpeechLucasarts);
    cPlayer.Say("I'm out of ammo!");
    SetSpeechStyle(eSpeechSierra);
  }
  else
  {
    cPlayer.FaceCharacter(cZombie);
    if (player.FaceDirection==eDirectionDown)
    {
      cPlayer.ChangeView(13);
      cPlayer.Animate(0, 3, eOnce, eBlock, eForwards);
      ammo=ammo-1;
      cPlayer.ChangeView(4);
      zombie_die();
      cZombie.FollowCharacter(null);
    }
    else if (player.FaceDirection==eDirectionLeft)
    {
      cPlayer.ChangeView(13);
      cPlayer.Animate(1, 3, eOnce, eBlock, eForwards);
      ammo=ammo-1;
      cPlayer.ChangeView(4);
      zombie_die();
      cZombie.FollowCharacter(null);
    }
    else if (player.FaceDirection==eDirectionRight)
    {
      cPlayer.ChangeView(13);
      cPlayer.Animate(2, 3, eOnce, eBlock, eForwards);
      ammo=ammo-1;
      cPlayer.ChangeView(4);
      zombie_die();
      cZombie.FollowCharacter(null);
    }
    else
    {
      cPlayer.ChangeView(13);
      cPlayer.Animate(3, 3, eOnce, eBlock, eForwards);
      ammo=ammo-1;
      cPlayer.ChangeView(4);
      zombie_die();
      cZombie.FollowCharacter(null);
    }
  }
}


I'm sure this isn't the most efficient code but I can't fathom any reason why it shouldn't work - so clearly I'm missing something blindingly obvious. Any help appreciated!
#5
Right. So for a particular scene I need the camera to follow a 'character' (a moving vehicle) in the centre of a vertically scrolling screen. Easy enough.

Problem is, the vehicle sprite includes an effect coming out of the back of the vehicle - with the vehicle itself in the top half of the sprite and the trail effect a the bottom. Because the vehicle itself is at the top of the sprite, the screen isn't scrolling until the top of the vehicle nears the top of the screen, so it's continually off-centre vertically as it scrolls.

I figured I could resolve this by manually offsetting the viewport in repeatedly_execute_always, but there's a problem - the sprite now 'flickers' up and down by a few pixels with each game loop. I assume this is because the rep_ex is checking precisely one frame offset against the movement of the sprite.

The most annoying thing is that I know I've solved this problem before, many moons ago. But I've searched and searched and experimented and experimented and can't figure it out.

Here's the rep_ex_always code that results in the flicker effect:

Code: ags
SetViewport(cBuggy.x, cBuggy.y-400);


Any help very much appreciated!
#6
Hi all! I'm looking for a small handful of people who are interested in playing a short (20 mins? 40 mins? Who knows... yet) segment from the start of Reality Falls.

It's rough, ready and unfinished, but I'm looking for feedback on pacing, structure, atmosphere, puzzle difficulty, and all that good stuff.

If you're interested, shoot me an email at lewis[at]gameifyouare.com or a PM here.

Thanks!
#7
Hi all.

The game I'm working on, Reality Falls, uses the same sort of top-down, JRPG-esque art style as my previous game, Richard & Alice. I'm conscious that the art was a very weak aspect of R&A and keen to improve it, but at the same time I'm keen to keep it as a solo project for the time being, meaning I'm not in a position to outsource the art to - y'know - an actual artist.

This time, I'm trying something slightly different: the same top-down false-perspective, but making heavy use of modified textures adapted from real-world photographs. I'm taking textures of - say - carpets, walls, whatever, resizing them to be nice and small, then reducing the number of colours to give them a pixel art feel and help them to sit together in the world.

I'm content that this is the art style and approach I want to go for, but I would definitely love some thoughts from people who are a little more artistically minded. Within the scope of this style and process, what sorts of things should I be looking at improving, based on the below screenshots? Anything from image composition to colour palette to the little details I as a very-much-not-artist might not even consider when putting a scene together?

I have no expectations that Reality Falls will be the most artistically accomplished game in the world, but I do want it to have its own identifiable look and feel, and I don't want to repeat my mistakes with Richard & Alice, which I played through again recently and I'm still very proud of but my goodness it does look like shit. RF already looks better, but there's room for improvement. Help me improve it! :-)



#8


Welcome to Reality Falls
A dusty, dilapidated town on the former Soviet steppe, where Europe bleeds into Asia. People first settled here hundreds of years ago, but only a few remain. Reality Falls sounds like the adventurer's dream: a destination off the beaten track, home to a collection of oddballs and misfits, all yearning for something different. But something strange lurks within the curiously named Reality Falls.



A story-driven adventure
From the co-creator of Richard & Alice comes a brand new story-driven adventure. Join Adrian Watts on the journey of a lifetime, as his round-the-world trip takes him to this unlikely destination. Meet its strange set of inhabitants, discover the town's fascinating history, and unravel the surreal and unsettling tale that begins to unfold.

Reality Falls fuses intricate storytelling with classic point-and-click puzzles and a retro JRPG-style look and feel.



Follow development
Follow development behind the scenes! Reality Falls is being crafted with an 'open production' methodology in mind. Visit the game's website and sign up to the newsletter for regular updates, design musings, and the chance to get your hands on the game before anyone else.



Coming 2019 look I really don't know, but I'm chipping away at it, I promise!

*****

Well, this is a thing. Hello, it is me, Lewis, co-creator of Richard & Alice and co-producer of The Charnel House Trilogy, with a new project.

Elephant in the room: I was already working on a new project, with Grundislav and Khaled. Sadly, the project simply wasn't coming together in the way that I'd envisioned - there were significant problems with both the narrative and the very structure of the game. This, combined with real life getting in the way, led me to thinking long and hard about the project and whether it would realistically turn out a decent game in the foreseeable future, and the answer turned out to be no, so we made the difficult decision to cancel it.

But! A lot of the ideas I had for that project have come to fruition in Reality Falls. Long-term AGSers may remember a very early version of Reality Falls from literally like eight or nine years ago. I made a short demo, pretty much as a way of learning AGS. The idea has morphed since then - I think it's smarter, more mature and more interesting. The art style is a sort of Richard & Alice ++, something I feel comfortable tinkering with and playing around with myself, which is important so that the game doesn't get backed into a corner via iterations in the way Anthology did.

Anyway, that's just a bit of background. It's predominantly just me working on the project right now, but that may change in the future. Release date is tentatively, and very non-specifically, 2019. a complete mystery.
#9
Hi folks. Been working on something, and am trying to use puzzle dependency charts to improve the flow of my game. It's my first time doing this and already I'm seeing huge amounts of value in visualising it.

One concern I have based on what I've done so far is that my game may be too linear. While there are branches, and earlier threads that become relevant later on, the vast majority of my game at this stage (designed up to the start of Act 3 of 3, with probably a third of the game yet to be designed) follows a fairly straight path.

I've reviewed a few dependency charts from much bigger games, and obviously they branch a lot more. My game is more like 2 hours long. But any initial thoughts/feedback on this would be a great help!

#10
EDIT: Insta-solved this myself. Literally had something set to 'false' instead of 'true' and am now lamenting the lack of a 'delete thread' option... :grin:

I'm playing around with something using the BASS template, and I'm trying to create a simple system where the mouse cursor changes when over anything interactive. Previously I've done this with the 'animate over hotspot' default setting but the BASS template seems to stop that working, as far as I can tell, so I tried to do something by hand.

So I have this in repeatedly_execute_always in the global script, pilfered from an old forum post then tweaked to suit:

Code: ags

  Hotspot *hat = Hotspot.GetAtScreenXY(mouse.x, mouse.y);
  if (!IsInterfaceEnabled()) // user interface is disabled, a blocking event is running, OR mouse not over hotspot
  {
    mouse.UseModeGraphic(eModeWait);
  }
  else if (hat == hotspot[0])
  {
    mouse.UseModeGraphic(eModeWalkto);
  }
  else if (hat != hotspot[0])
  {
    mouse.UseModeGraphic(eModeInteract);
  }


Problem is, as I quickly realised, twofold:

1) This only works for hotspots specifically. For interactive characters and objects, the cursor doesn't change.

2) It stops the inventory working. When I hover over inventory items, not only does the cursor not change, but clicking the inventory item fails to select it. (It's definitely this code that's breaking it as when I comment it out, it works fine.)

This is almost certainly a case of my intermittent AGS use meaning I've forgotten how to do something super simple, so any help appreciated. Thanks!
#11
I have a scene where the player can cross the road and the "camera" switches position to show a different angle on the area. This is set up as two separate rooms, each of which has a wide, scrolling background and the player can exit the room at any point of the lower edge, and should then appear at the appropriate location in the new room.



I'm trying to figure out a neater way of defining the player's position and direction when switching between these rooms.

Right now I split the 'camera switch' area into multiple hotspots and hand-script where the player should walk to before the room transition, and how they should be oriented in the new room.

But it's not ideal: the player doesn't always walk to exactly where they've clicked, and there's an awful lot of hand-scripted stuff there that feels as though it could be made redundant.

I can't just check the player's x position and replicate it in the new room because the 'camera' is facing in a different direction, so the positioning and scaling are out.

Suspect I'm missing an easy trick here but over to the board!
#12
Well this is very exciting, a thing I've been scurrying away on behind the scenes (I'd like to say since Richard & Alice / Sepulchre but actually since about October). Anyway, in conjunction with the always-wonderful Grundislav and exquisite non-AGS-forumite Khaled Makhshoush, I now present...



Teaser Trailer! || Website! || Steam Greenlight!

A collection of short adventures, on a single afternoon, in a faraway city...

Anthology is a collection of short adventure games by Lewis Denby (that's me!), the co-creator of Owl Cave's critically acclaimed Richard & Alice and the producer of Sepulchre (The Charnel House Trilogy).

Set in a faraway city on a single afternoon, a series of point-and-click vignettes unravels the story of this strangely familiar world, its sprawling capital, and the lives of those who dwell within it.










#13
I have no idea if this is the correct forum, because I have no idea whether this is a beginner issue, advanced issue, or nothing relevant at all. But I've sent my current game out to a few testers and one has reported an utterly baffling bug that I can't figure out.

Essentially, at seemingly random points while playing the game, this tester gets kicked back to the main menu. This is bizarre because:

1) The main menu is just Room 200, with a background image, some incidental animated objects set to animate based on timer expiry, and a GUI that pops up over the top.

2) The only player.ChangeRoom script in the entire project that sends you to Room 200 is the one tied to the 'Quit' button in the pause menu.

3) The character in Room 200 is called cMenu - and the only time the player is switched to cMenu is at the very end of the game, to dump the player back to the main menu.

4) There are no RestartGame() scripts anywhere in the entire project.

The bug seems to fire seemingly at random intervals, and has happened while the player is in multiple different rooms. There seems to be no obvious time interval, and it doesn't seem to occur when the player has performed a particular action - the tester only started really trying to ascertain the reproduction conditions after a few instances, but the last two have been when the character is the in process of walking from one location to another.

No plugins used.

Modules used:

- KeyPressAlways (though not actually implemented yet)

- TwoClickHandler

- DoOnceOnly (custom module written for me by Snarky, allowing DoOnceOnlies to be reset)

Does anyone have any ideas whatsoever about where to look? I simply cannot reproduce the bug at all. For clarity, the tester has a build, and is not running directly from the project - but I have tried both and no joy reproducing.
#14
Right, try as I might, I can't wrap my head around the logic of this one, but I know it's possible, and apologies if I'm overlooking something really straight-forward.

I'm making a game that's actually five games in one.

At the beginning, four of them are locked off, and you can only play the first one. When you complete the first one, the second one unlocks... and so on. So far, so simple.

But the player should also be able to go back and play games they have completed, from the beginning. (Each game is only 20-30 mins long so I haven't yet decided if I'll implement a save anytime feature or not).

So what I'm trying to wrap my head around is how to ensure that, when the player clicks on a particular game to start it again, it resets the game to its original state.

Problems:

- I can't 'reset game' because that will reset the entire game to its initial start state, thus also resetting the variable that tells the main menu which games are unlocked.

- I can't simply set the appropriate 'start state' variables upon loading the first room of each game, because any DoOnceOnly scripts will have already triggered when the player plays through for the first time, and thus those DoOnceOnlies will not fire after the first time around.

***

It feels as though this is more than likely a very easy problem to solve. But I can't fathom it. So any help hugely appreciated. Thanks!
#15
Hi folks. Returning to AGS after a long hiatus and I appear to have forgotten how to do a really simple thing. A whole morning of searching and experimenting has yielded nothing.

I want to be able to easily call an 'interact' animation from room scripts and dialogs. From memory, I needed to define a new function in the global script then call it from the room script. From reading, it seemed I needed to import the function in the header script too.

So I did this in the global script:

Code: ags
function interact_faye_down()
{
    player.ChangeView(6);
    player.Animate(0, 0, eOnce, eBlock, eForwards);
    player.Animate(0, 0, eOnce, eBlock, eBackwards);
    player.ChangeView(4);
}

function interact_faye_left()
{
    player.ChangeView(6);
    player.Animate(1, 0, eOnce, eBlock, eForwards);
    player.Animate(1, 0, eOnce, eBlock, eBackwards);
    player.ChangeView(4);
}

function interact_faye_right()
{
    player.ChangeView(6);
    player.Animate(2, 0, eOnce, eBlock, eForwards);
    player.Animate(2, 0, eOnce, eBlock, eBackwards);
    player.ChangeView(4);
}

function interact_faye_up()
{
    player.ChangeView(6);
    player.Animate(3, 0, eOnce, eBlock, eForwards);
    player.Animate(3, 0, eOnce, eBlock, eBackwards);
    player.ChangeView(4);
}


(Actually, to start with I tried to create a function with a definable string of up/down/left/right and used if/else conditions, but this didn't seem to work, so I tried breaking it down like this to see if I had any more joy.)

Then, in the header script, I've got:

Code: ags
import interact_faye_down;
import interact_faye_left;
import interact_faye_right;
import interact_faye_up;


But I'm getting the following error whenever I try to compile:

expected variable or function after import, not 'interact_faye_down'

Banging my head against the wall because I've done this in two previous games, as second nature, but years ago. Any help desperately appreciated. Thanks!
#16
Hi everyone. Lewis here. I'm not often around these parts any more but I've had an idea for something I'd like to work on, which I'm currently vaguely exploring, and wanted to put feelers out for artists and animators that might be interested.

Project
It is, essentially, a series of short interactive stories built in AGS - adventure games between 10 and 30 minutes in length, around five or six of them to be distributed together. They all take place in the same universe, at exactly the same time. But none of the characters or stories are connected. The world is sort of post-apocalyptic, but with a twist. Happy to share more via PM.

Positions: Artist/Animator
Even though I did the art for Richard & Alice, I'm a terrible artist (which is why Richard & Alice looks genuinely terrible, as well as the game was received) and regardless, this one will need a different style too. More detailed, more typically adventure-gamey, but with style and artistry. Beneath a Steel Sky might be a good reference point for what I have in mind, but I'm looking to bring someone else's / other people's style to proceedings too.

If we go ahead with this, we'll probably be looking at 10-15 backgrounds / object sets plus full animation sets for 5 or 6 player characters and limited animation sets for a further 3 or 4 NPCs. Don't mind whether it's the same or different people doing the characters and backgrounds; what's important is that they work well together.

Timescale
Let's talk about this one. But maybe between 1 and 2 months all in?

Interested in discussing further? Drop me a PM with some examples of your previous work.
#17
Hiya.

So imagine if you could have a super-swish GUI pop up in relation to the position of a character. How would one go about doing this?

It seems to me that the issue is GUI positions being based on screen coordinates whereas character positions are based on room coordinates. So

Code: ags
gGUI1.X=cCHAR1.x+15;
gGUI1.Y=cCHAR1.y-15;
gGUI1.Visible=true;


doesn't manage to display the GUI at all.

Any help appreciated. Ta!
#18
Recruitment / Character sprite artist
Mon 04/11/2013 18:56:09
Hello!

I'm looking for a character sprite artist for an adventure game with the look of an old JRPG (http://fc01.deviantart.net/fs22/f/2007/316/8/e/Hero_3_by_mikaylaaria.jpg etc)

The characters will be about 45px tall. Looking for something slightly comicbook style (as close as you can get with so few pixels).

Initially looking for one or two characters with walkcycles and interact animations, plus a few static characters.

No payment up-front, but IF I decide to do anything commercial with the game then we can have that discussion. For the time being, consider it unpaid, but with the possibility of a nice surprise later down the line.

Would be looking for someone to start fairly immediately because there's a chance this might have something to do with MAGS.

If you're interested, please drop me a PM with samples, or email me at lewis at owlcave dot net, and I'll give you some more info.

THANK YOUUU.
#19
Hello. Are you a skilled environment artist? Can you draw lovely art for a 640x400 game in the style of old RPGs or more modern things like To the Moon?

We (as in, Owl Cave, developers of Richard & Alice and Sepulchre) are exploring a possibility which would involve the quick-fire drawing of 17 backgrounds (some large and scrolling, some tiny and only filling a small portion of the screen), including any objects that sit within them.

We would be looking for a skilled artist who can do a lot with a tiny canvas, and who can dedicate a chunk of time to work very quickly towards some tight deadlines.

In compensation for this, we would be able to pay you real monies, based on a revenue share agreement we could discuss.

If you're interested, please email me at lewis[at]owlcave.net with some information about yourself, along with some portfolio pieces that demonstrate your ability to create pixel art in the above linked/described style. Speed will be your friend here - if we go ahead with this project (and it's looking likely), then we'll want to get started right away.

Okay! Thanks for reading. Looking forward to hearing from you.
#20
Completed Game Announcements / Sepulchre
Mon 02/09/2013 08:53:53


Download Sepulchre for free!
[Special editions available for $2.99]
Please note - name/email required to redeem free game code. We're looking into a way to nuke this. In the meantime, we promise we won't spam you.

       

Sepulchre is an adventure short from Owl Cave, written by Ashton Raze (Richard & Alice) and drawn by Ben Chandler (everything ever), and with other awesome contributions from lots of lovely people.

It's a game featuring horror, trains, and huge bags. It should take most people around half an hour to play through.

Sepulchre is free. That means it doesn't cost money. It's like stealing... but legal.

Here's the launch trailer:


[embed=601,315]http://www.youtube.com/watch?v=5FCFfxCrsI4[/embed]

The Special Edition

Oh, hey, so why not consider picking up a copy of the special edition?

For $2.99, you get the game (obviously), as well as...

+ The full original soundtrack, written and performed by Jack de Quidt
+ Two desktop wallpapers
+ A digital copy of 'Bright Lights & Glass Houses', a collection of short stories written by Ashton Raze, set in the same universe as Sepulchre

Head to the website and make it yours!



owlcave.net/sepulchre

SMF spam blocked by CleanTalk