DOWN - The Descend by InsanityCode

[raw]
made by InsanityCode for Ludum Dare 48 (JAM)

This game is available for Windows as 32 Bit or 64 Bit version.

The Concept

DOWN - The Descend is a first person shooter that places you in a bottomless tower filled with weird creatures that thirst for your blood. You don't know how and you don't know why, but somehow you have to fight your way down...
The number in the top left corner tells you how far you have already descended.

The Arsenal

| | :---: | :---: | LD48 | A devastating gauge 12 pump action shotgun, that rips out the innards of everything in its way.
| A rocket launcher. No more explanation needed. BOOM | LD48
| LD48 | A slingshot... But stones would be boring... What else could we shoot? Grenades!

Reloading

There are 3 different modes of how reloading is handled. 1. Manual
You have to reload manually (see the controls section for inputs) 2. OnEmpty
The weapon automatically reloads after you have fired your last shot.
Might be useful if you tend to forget reloading your weapon, but also makes you less flexible. 3. OnShootEmpty
The weapon automatically reloads when you try to fire it while its empty.

You can choose which mode you want to use in the game's settings menu (or the settings.ini file).
Of course when using any auto reload mode you can still reload manually.

Encounters

| | :---: | :---: | LD48 | This game has non optional encouters. When triggering an encounter a given amount of enemies will spawn and you have to defeat all of them to be able to go on. Additionally random spawns may still occur. The number in the top right corner tells you how many enemies are remaining. | The blue plane at the top of the encounter room prevents you and encounter specific enemies from going back upstairs. This ensures that neither you nor your enemies can escape the battle. Any other enemies or entities may pass it. | LD48 | LD48 | The red plane at the bottom of the encounter is blocking your way forward. When entering it you will be teleported to a specific portal in the encounter room and take some damage. Enemies touching the plane will die instantly so it might be a good idea to lure them there and push them down using explosions or anything you come up with. | The silver portal in every encounter room is your respawn point when touching the red barrier. This is a one way portal, so you can't enter it. | LD48

Pickups

There are pickups scattered across the whole tower.
They supply you with the health or ammunition you need to survive.

| | :---: | :---: | LD48 | You're wounded? Pick up a health pack to replenish some health. | | This advanced health pack can replenish far more health than a regular health pack. But this doesn't happen instantly. Stand in it for a while to gradually heal your injuries. As soon as its supply has run out, it vanishes. | LD48 | | LD48 | Grants you 10 shotgun shells. | | Grants you 3 rockets. | LD48 | | LD48 | Grants you 5 grenades. |

Explosives

Apart from shooting projectiles you can also use explosions to damage your enemies.

| | :---: | :---: | LD48 | The barrels scattered around the arena explode when shot and deal heavy damage. | | But beware, they also damage you, if you stand too close | LD48 |

Damage

| | :---: | :---: | Additional bloodstains at the border of the screen indicate the direction from where you took damage. | LD48 | | LD48 | When taking too much damage you die. |

Portals

| | :---: | :---: | :--: | LD48 | LD48 | LD48 Portals are a fast way to travel around an arena or evade enemies. Every portal (apart from the silver one) teleports you to another portal of the same color nearby. But keep in mind, that enemies could be lingering around on the other side. After using a portal it has a 3 second cooldown before it can be used again. As soon as the colored area is completely filled the cooldown has worn off.

Miscellaneous

| | :---: | :---: | LD48 | Launch pads launch everything that enters their streams high over ground. This applies to you as a player as well as to enemies, barrels or other entities. | | Enemies can fly what makes them harder to hit with ballistic weapons when they are high over ground. On the other hand you can stagger enemies by dealing heavy damage. Staggered enemies are unable to fly and fire for a while. Use this to your advantage, when they are hovering over a red barrier. | LD48 |

Controls

| Action | Keyboard | Mouse | Controller (XBox / Playstation) | | :----------------------: | :----------------------: | :------------: | :-----------------------------: | | Walk | W,A,S,D or Arrow Keys | - | Left Stick | | Turn | - | Move | Right Stick | | Jump | Space | - | A / Cross | | Double Jump | 2x Space | - | 2x A / 2x Cross | | Shoot | - | Left Button | Right Trigger (RT / R2) | | Reload | R | Right Button | X / Square | | Pause | Escape | - | Start | | Restart (if dead) | Enter | - | Y / Triangle | | Switch Weapon (Previous) | Q | - | Left Bumper (LB / L1) | | Switch Weapon (Next) | E | - | Right Bumper (RB / R1) | | Quick Switch (Shotgun) | 1 | - | - | | Quick Switch (Rocket Launcher) | 2 | - | - | | Quick Switch (Slingshot) | 3 | - | - | Apart from PlayStation and XBox controllers, every HID conform controller should work, but some may mix up some buttons.

Tools

This game was programmed using C# as a programming language, our own game engine, OpenGL 3.3 for graphics and OpenAL for audio.

Trouble Shooting

The game comes with a settings.ini file that allows you to customize some settings. You can also access these settings from the settings menu within the game. If you're having performance issues you can lower the solid world resolution as well as the transparency resolution. Transparency usually has a way larger impact than the solid world. You can also lower the number of correctly sorted layers of transparency, which has an even greater effect on performance.

Downloads

Ratings

Given 2🗳️ 0🗨️

Feedback

Studio Gomp
28. Apr 2021 · 01:05 UTC
The download didn't seem to work for me.
Matt Swieboda
28. Apr 2021 · 03:49 UTC
looks really cool, but after installing the OpenAL for audio, the audio worked on the loading screen, but then I got an

```
Arithmetic overflow error
```

and continuing turned the screen black.

Game looks really cool and intricate though!
YetRecallLaw
28. Apr 2021 · 03:56 UTC
Sadly, it throws an unhandled exception just after starting the game. Nice music though. Here's the stack trace it gave me:

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.OverflowException: Arithmetic operation resulted in an overflow.
at ChaosGraphics.ChaosShader.Shader.SetValue[T](EffectHandle handle, T value)
at ChaosGraphics.ChaosShader.Shader.SetValue[FieldType](SemanticHandle handle, FieldType value)
at ChaosGraphics.Camera.SetValues(Shader effect, Matrix transform, Matrix inv_trans_transform, intVector4 viewPort)
at ChaosMenu.LayoutContainer.MasterLayoutContainer.Draw()
at ChaosMenu.Control.MachMalDraw()
at ChaosGame.Scene.InvokeAction(Action action)
at ChaosGame.Scene.PerformDrawLayer(Int32 layer)
at ChaosGame.Scene.Draw()
at ChaosMenu.GUIScene.Draw()
at ChaosGame.BaseGame.DrawGame()
at ChaosGame.BaseGame.GameLoop(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnShown(EventArgs e)
at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
at System.Windows.Forms.Control.InvokeMarshaledCallbacks()


************** Loaded Assemblies **************
... Many, too many to post in a comment. Let me know if you want these, I'll post more comments.
SamarthMP5002
28. Apr 2021 · 03:58 UTC
Cool Game! I love the concept, the 3d art style is pretty good, maybe change the font? keep up the good work!
SouthpawDevelopment
28. Apr 2021 · 04:08 UTC
Wouldn't work for me :(
YetRecallLaw
28. Apr 2021 · 04:12 UTC
UPDATE: The issue is with the x64 version. I downloaded the x86 one just to see and it works (I'm running 64-bit windows). Looking at the Loaded Assemblies from the above stacktrace, it looks like all of them were the 32-bit versions for some reason, that's probably the issue.

For the actual game, I loved the music! It was fun blowing up the robot/machine gun things with the rocket launcher. The game has a nice old-school feel to it. The procedural generation was alright, guessing it was a few hand-made sections randomly selected and repeated but that's ok. Getting to blast never ending baddies at high speed with some growling rock in the background never gets old.
Skleembof
28. Apr 2021 · 04:15 UTC
unhandled exception on the x64 version but x86 worked fine. Also, maybe upload the game to itch.io or somewhere other than dropbox that asks you to sign up to download the file.

I played the game and it was fun, but I didn't like how hard it was to tell when I was taking damage. You cant see enemy bullets so when theyre shooting you your health just starts draining which makes deaths feel cheap
🎤 InsanityCode
28. Apr 2021 · 14:57 UTC
@skleembof @yetrecalllaw @matt-swieboda
Thank you for pointing this out. I just uploaded a new x64 version that (hopefully) resolved this issue! In case somebody still can't run the x64 version try the x86 version as well. The x86 worked on any machine so far. Now with the fix the same should apply for the x64 version.
🎤 InsanityCode
28. Apr 2021 · 14:58 UTC
@skleembof Dropbox does ask you to sign in, but you can just close the popup and download it anyway.
🎤 InsanityCode
28. Apr 2021 · 16:24 UTC
@skleembof
```
but I didn’t like how hard it was to tell when I was taking damage
```

We render additional blood stains at the border of the screen, that indicate from where you took damage (for bullets as well as explosions). But you're right, we were lacking an explanation for that. I added a screenshot and a little description to our game page. Thank you for telling us!

Edit: We were originally planning to implement some sort of bullet lines that indicate the trajectory of projectiles, but we ran out of time for that. It's planned for a post Ludum Dare release tho.
darkshadow
29. Apr 2021 · 20:53 UTC
Game was stuck on the loading screen and trying to quit I got an unhandled exception:
```
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at LD48.Game.DoDispose()
at ChaosGame.Disposable.Dispose()
at System.Windows.Forms.Form.OnFormClosing(FormClosingEventArgs e)
at System.Windows.Forms.Form.WmClose(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.8.4084.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
LD48
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Users/Alex/Downloads/x64/LD48.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.8.4084.0 built by: NET48REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.8.4084.0 built by: NET48REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.8.4084.0 built by: NET48REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
ChaosGame
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Users/Alex/Downloads/x64/ChaosGame.DLL
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.8.4084.0 built by: NET48REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.8.4084.0 built by: NET48REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.8.4084.0 built by: NET48REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Collections
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Users/Alex/Downloads/x64/Collections.DLL
----------------------------------------
ChaosMath
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Users/Alex/Downloads/x64/ChaosMath.DLL
----------------------------------------
ChaosGraphics
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Users/Alex/Downloads/x64/ChaosGraphics.DLL
----------------------------------------
ChaosSound AL
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Users/Alex/Downloads/x64/ChaosSound%20AL.DLL
----------------------------------------
ChaosInput
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Users/Alex/Downloads/x64/ChaosInput.DLL
----------------------------------------
ChaosPhysics
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Users/Alex/Downloads/x64/ChaosPhysics.DLL
----------------------------------------
ChaosSound
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Users/Alex/Downloads/x64/ChaosSound.DLL
----------------------------------------
ChaosMenu
Assembly Version: 1.0.0.0
```