It’s finally here! Alright I’m just going to dump everything here. Prepare for face melting.
Windows MSI Installer (60 MB)
Note: You might get a malicious file warning. It’s because I can’t afford a code signing signature at the moment, so the installer has not been signed.
If you’re NOT reading this on the shiny new website, did you know that you COULD BE? It’s right here: lemmagame.com
Please play the alpha and leave your comments! Your feedback is greatly appreciated!
And if you simply can’t be arsed to play the alpha OR watch the video, here’s some screenshots:
Enjoy!



Sweet concept! I played until I got to the red block building section… it didn’t tell me how to build using them…
So many critiques!
- Too many buttons imo. It plays a lot like Red Eclipse in that there’s too many buttons devoted to acrobatics, and my hand hurt so much after playing that game for too long. No wonder it’s community is dead. Maybe merge roll and slide in future build, wallrun and jump together? I think mirror’s edge got the idea with just “up” and “down” buttons. Maybe even hold jump to climb environments (instead of double tapping to mount an obstacle)
- Uncanny perspective… look down and I can see my own nose right in the center? It’s disturbing, makes me feel like a cyclops.
- Bouncy water
- Face clips into walls sometimes
Praise!
- Cellphone is cool plot carrier
- Kicking is satisfying *Kaploom*
- Dying feels right.
- Good sound effects
I really like what you’re doing! Good job!
Thanks for the feedback, let me assure you I will put it to good use!
For the block building section, you’re supposed to whip out your cell phone and ask for help, and she tells you how to do it. Gimmicky, I know.
Your last three critiques are known bugs that I’ve been meaning to fix… hopefully those will make it into the next release.
Re: too many buttons: you’re probably right. I like the idea of merging roll and slide, maybe even wall running too, all on the Shift key. Time to experiment!
Hey Evan! It’s Dan from Robotics. I need help using blender/Panda3d.
It said to leave this in a comment? Should I not have moved it out of the folder onto my desktop?
System.IO.FileNotFoundException: Could not load file or assembly ‘BEPUphysics, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31f6a8732a21de19′ or one of its dependencies. The system cannot find the file specified.
File name: ‘BEPUphysics, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31f6a8732a21de19′
at Lemma.Main..ctor()
at Lemma.GameMain..ctor(Boolean allowEditing, String mapFile)
at Lemma.Program.Main(String[] args)
WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
Did you *only* move the executable out to the desktop? That would be a problem. You should be able to take the entire “Lemma” folder and move it to the desktop though.
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Lemma.Components.Map.addBox(Box box)
at Lemma.Components.Map.buildFromBoxes(IEnumerable`1 boxes)
at Lemma.Components.Map.Regenerate()
at Lemma.Factories.PlayerFactory.c__DisplayClass6a.c__DisplayClass70.b__58()
at Lemma.Components.Animation.Execute.UpdateInterval(Single x)
at Lemma.Components.Animation.Sequence.UpdateInterval(Single x)
at Lemma.Components.Animation.Interval.Update(Single dt)
at Lemma.Components.Animation.Lemma.Components.IUpdateableComponent.Update(Single dt)
at Lemma.Main.Update(GameTime gameTime)
at Lemma.GameMain.Update(GameTime gameTime)
at Microsoft.Xna.Framework.Game.Tick()
at Microsoft.Xna.Framework.Game.HostIdle(Object sender, EventArgs e)
at Microsoft.Xna.Framework.GameHost.OnIdle()
at Microsoft.Xna.Framework.WindowsGameHost.RunOneFrame()
at Microsoft.Xna.Framework.WindowsGameHost.ApplicationIdle(Object sender, EventArgs e)
at System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at Microsoft.Xna.Framework.WindowsGameHost.Run()
at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun)
at Lemma.Program.Main(String[] args)
Thank you sir! Another bug to be squashed for the next release.
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Lemma.Components.Map.addBox(Box box)
at Lemma.Components.Map.buildFromBoxes(IEnumerable`1 boxes)
at Lemma.Components.Map.Regenerate()
at Lemma.Factories.PlayerFactory.c__DisplayClass6a.c__DisplayClass70.b__58()
at Lemma.Components.Animation.Execute.UpdateInterval(Single x)
at Lemma.Components.Animation.Sequence.UpdateInterval(Single x)
at Lemma.Components.Animation.Interval.Update(Single dt)
at Lemma.Components.Animation.Lemma.Components.IUpdateableComponent.Update(Single dt)
at Lemma.Main.Update(GameTime gameTime)
at Lemma.GameMain.Update(GameTime gameTime)
at Microsoft.Xna.Framework.Game.Tick()
at Microsoft.Xna.Framework.Game.HostIdle(Object sender, EventArgs e)
at Microsoft.Xna.Framework.GameHost.OnIdle()
at Microsoft.Xna.Framework.WindowsGameHost.RunOneFrame()
at Microsoft.Xna.Framework.WindowsGameHost.ApplicationIdle(Object sender, EventArgs e)
at System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at Microsoft.Xna.Framework.WindowsGameHost.Run()
at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun)
at Lemma.Program.Main(String[] args)
This loos pretty interesting, I’ll give the game a try on my windows 8 os.
Will report any bug or glitches after.
Did not run too well on my laptop, lacking the graphic specs needed.
If anything can be improved on the game while it’s in alpha stage… you should allow it to run on lower spec computers so you can gain more fan base. (ports to other systems, etc.)
Anyways good luck!
Thanks! Did you try turning the graphics all the way down? I do plan on offering more low-quality options to allow lower spec computers to run the game.
looks* (sorry about that)
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Lemma.Components.Map.addBox(Box box)
at Lemma.Components.Map.buildFromBoxes(IEnumerable`1 boxes)
at Lemma.Components.Map.Regenerate()
at Lemma.Factories.PlayerFactory.c__DisplayClass6a.c__DisplayClass70.b__58()
at Lemma.Components.Animation.Execute.UpdateInterval(Single x)
at Lemma.Components.Animation.Sequence.UpdateInterval(Single x)
at Lemma.Components.Animation.Interval.Update(Single dt)
at Lemma.Components.Animation.Lemma.Components.IUpdateableComponent.Update(Single dt)
at Lemma.Main.Update(GameTime gameTime)
at Lemma.GameMain.Update(GameTime gameTime)
at Microsoft.Xna.Framework.Game.Tick()
at Microsoft.Xna.Framework.Game.HostIdle(Object sender, EventArgs e)
at Microsoft.Xna.Framework.GameHost.OnIdle()
at Microsoft.Xna.Framework.WindowsGameHost.RunOneFrame()
at Microsoft.Xna.Framework.WindowsGameHost.ApplicationIdle(Object sender, EventArgs e)
at System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at Microsoft.Xna.Framework.WindowsGameHost.Run()
at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun)
at Lemma.Program.Main(String[] args)
Happened in the second lava room,when i tried to kick the..ash? beam on the ceiling. Also,easy to get way outside of bounds but at the same time very difficult…leave it that way. Also is the kick supposed to be used almost as a double jump?
Thanks for the bug report! And yes, at the moment the kick can be used that way, but it’s mostly for destroying blocks.
Error on load after pressing space with music playing, never got to game:
System.NullReferenceException: Object reference not set to an instance of an object.
at Lemma.Components.AnimatedModel.loadModel(String file, Boolean reload)
at Lemma.Components.Model.b__16(String value)
at Lemma.Components.Property`1.set_Set(Action`1 value)
at Lemma.Components.Model.InitializeProperties()
at Lemma.Components.AnimatedModel.InitializeProperties()
at Lemma.Components.Component.SetMain(Main _main)
at Lemma.Main.AddComponent(Component component)
at Lemma.Components.Entity.SetMain(Main _main)
at Lemma.Factories.Factory.SetMain(Entity result, Main main)
at Lemma.Factories.PlayerFactory.Bind(Entity result, Main main)
at Lemma.Factories.Factory.CreateAndBind(Main main, String type)
at Lemma.GameMain.Update(GameTime gameTime)
at Microsoft.Xna.Framework.Game.Tick()
at Microsoft.Xna.Framework.Game.HostIdle(Object sender, EventArgs e)
at Microsoft.Xna.Framework.GameHost.OnIdle()
at Microsoft.Xna.Framework.WindowsGameHost.RunOneFrame()
at Microsoft.Xna.Framework.WindowsGameHost.ApplicationIdle(Object sender, EventArgs e)
at System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at Microsoft.Xna.Framework.WindowsGameHost.Run()
at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun)
at Lemma.Program.Main(String[] args)
Thanks for reporting this!
Kind of frustrating to get completely stuck in collision with the edge of a platform (in the wall jump high room), unable to unstuck the character…. And forced to quit the game because there’s no reload or restart…
Other than that, your game is really impressive! Thanks for letting us test it.
Just crashed mid-game, after the tutorial on STRG and fall-damage:
System.NullReferenceException: Object reference not set to an instance of an object.
at Lemma.Components.Water.Lemma.Components.IUpdateableComponent.Update(Single dt)
at Lemma.Main.Update(GameTime gameTime)
at Lemma.GameMain.Update(GameTime gameTime)
at Microsoft.Xna.Framework.Game.Tick()
at Microsoft.Xna.Framework.Game.HostIdle(Object sender, EventArgs e)
at Microsoft.Xna.Framework.GameHost.OnIdle()
at Microsoft.Xna.Framework.WindowsGameHost.RunOneFrame()
at Microsoft.Xna.Framework.WindowsGameHost.ApplicationIdle(Object sender, EventArgs e)
at System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at Microsoft.Xna.Framework.WindowsGameHost.Run()
at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun)
at Lemma.Program.Main(String[] args)
Really good game!
Here’s some feedback:
I love this game. The atmosphere is very creepy and the graphics are unbelievably amazing. The mobile phone is a very clever plot carrier.
The game run just fine on max settings (PC specs: Intel dual-core i5 4GHz, 8GB RAM, GeForce 9800 GT), though the motion blur sometimes caused a bit of lag. The game crashed once, when I switched to fullscreen in the menu (I didn’t remember to copy the error log thingy).
The controls were a bit too complex. I liked the right-click precision jump thing, but it didn’t have much use. You could also combine the two wall-run buttons into a single one.
Sometimes I got stuck in a corner of some block. It was a bit annoying, but I usually could detach myself by whacking the keyboard wildly. I managed to skip some sections by doing something a lot simpler than the thing I was supposed to do (The first bridge-building section, for example. I just jumped and rolled over the gap.) The last room was also a bit tricky, when I had crushed most of the important blocks. That’s why the rooms should reset after dying. Now it feels like dying has no purpose because the checkpoints are so numerous. The water is also quite bouncy and the character looks quite funny when in water.
Also, the nose. THE NOSE.
Thanks a lot for testing this man! Hopefully I will have these issues ironed out for the next release.
Haha, I know. The nose is kinda creepy! If I have time I’d like to redo the character model soon.
If you change resolution to a small resolution, mobile phone is not rescaled.
If you die, the sms from before are still there.
Thanks for commenting!
The second issue is by design. The game does not reset when you die. Everything is exactly as you left it.
I didn’t know about the first issue. Thanks for reporting it, I’ll look into it!
Also:
Great work on the game and I’m looking forward to watch the game evolve
So yeah, here you go:
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Lemma.Components.Map.addBox(Box box)
at Lemma.Components.Map.buildFromBoxes(IEnumerable`1 boxes)
at Lemma.Components.Map.Regenerate()
at Lemma.Factories.PlayerFactory.c__DisplayClass6a.c__DisplayClass70.b__58()
at Lemma.Components.Animation.Execute.UpdateInterval(Single x)
at Lemma.Components.Animation.Sequence.UpdateInterval(Single x)
at Lemma.Components.Animation.Interval.Update(Single dt)
at Lemma.Components.Animation.Lemma.Components.IUpdateableComponent.Update(Single dt)
at Lemma.Main.Update(GameTime gameTime)
at Lemma.GameMain.Update(GameTime gameTime)
at Microsoft.Xna.Framework.Game.Tick()
at Microsoft.Xna.Framework.Game.HostIdle(Object sender, EventArgs e)
at Microsoft.Xna.Framework.GameHost.OnIdle()
at Microsoft.Xna.Framework.WindowsGameHost.RunOneFrame()
at Microsoft.Xna.Framework.WindowsGameHost.ApplicationIdle(Object sender, EventArgs e)
at System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at Microsoft.Xna.Framework.WindowsGameHost.Run()
at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun)
at Lemma.Program.Main(String[] args)
System.IndexOutOfRangeException: Индекс находился вне границ массива.
в Lemma.Components.Map.addBox(Box box)
в Lemma.Components.Map.buildFromBoxes(IEnumerable`1 boxes)
в Lemma.Components.Map.Regenerate()
в Lemma.Factories.PlayerFactory.c__DisplayClass6a.b__55(Single dt)
в Lemma.Components.Updater.Update(Single elapsedTime)
в Lemma.Main.Update(GameTime gameTime)
в Lemma.GameMain.Update(GameTime gameTime)
в Microsoft.Xna.Framework.Game.Tick()
в Microsoft.Xna.Framework.Game.HostIdle(Object sender, EventArgs e)
в Microsoft.Xna.Framework.GameHost.OnIdle()
в Microsoft.Xna.Framework.WindowsGameHost.RunOneFrame()
в Microsoft.Xna.Framework.WindowsGameHost.ApplicationIdle(Object sender, EventArgs e)
в System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef)
в System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
в System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
в System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
в System.Windows.Forms.Application.Run(Form mainForm)
в Microsoft.Xna.Framework.WindowsGameHost.Run()
в Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun)
в Lemma.Program.Main(String[] args)
Firstly a good note, Love it.
Agree with first comment about less buttons and personally i think if it becomes more fluid it should have less narrow corridors and more of a playground feel but other then that the whole red bricks thing and the game itself is fantastic cant wait to see where it goes!
Secondly a bad note. Bugged out on my first run through
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Lemma.Components.Map.addBox(Box box)
at Lemma.Components.Map.buildFromBoxes(IEnumerable`1 boxes)
at Lemma.Components.Map.Regenerate()
at Lemma.Factories.PlayerFactory.c__DisplayClass6a.c__DisplayClass70.b__58()
at Lemma.Components.Animation.Execute.UpdateInterval(Single x)
at Lemma.Components.Animation.Sequence.UpdateInterval(Single x)
at Lemma.Components.Animation.Interval.Update(Single dt)
at Lemma.Components.Animation.Lemma.Components.IUpdateableComponent.Update(Single dt)
at Lemma.Main.Update(GameTime gameTime)
at Lemma.GameMain.Update(GameTime gameTime)
at Microsoft.Xna.Framework.Game.Tick()
at Microsoft.Xna.Framework.Game.HostIdle(Object sender, EventArgs e)
at Microsoft.Xna.Framework.GameHost.OnIdle()
at Microsoft.Xna.Framework.WindowsGameHost.RunOneFrame()
at Microsoft.Xna.Framework.WindowsGameHost.ApplicationIdle(Object sender, EventArgs e)
at System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at Microsoft.Xna.Framework.WindowsGameHost.Run()
at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun)
at Lemma.Program.Main(String[] args)
Two things I noticed so far:
-Do you plan to add an option to change keybinding? Playing the WASD keys on a non-QWERTY keyboard is just… Well, it’s a game in itself:)
-The water is very nice when you’re stand still but looks like it moves with lag when the view moves. Also (but already stated here) there’s the bouncy effect when you jump in.
-I don’t guess it’s a bug but just me being a bad player, but I’m stuck at the “hit CTRL just before landing…”. I keep dying whenever I hit CTRL. I guess I need more practice.
Apart those issues, the game just look amazing. I also hope you’ll enhance a bit the character model, for now it’s a bit too much basic, but it’s not a priority in your dev schedule
Thanks a lot for sharing your work. It’s a delight to test
.V.aka.Nootilus.
I have one extremely odd bug here….
Some of the blocks are invisible ?
I cant see them or get trought….
Graphic card = Asus radeon HD 7700 series, so i think its not the problem.
DX10/11 and latest drivers installed.
Everything should be okay but cant get it working