Karma Run by THX1342

[raw]
made by THX1342 for LD 40 (JAM)

About

I've been following LD for a long time, always wanted to participate. This year I took a chance at it!

This was the first jam I participated in, and also my first game developed from scratch (not using a tutorial). Also, please ignore the horrible code... I program as a hobby (mostly)!

I came up with the idea of the game about 2h into the challenge. And this is what I was able to code so far.

karma.gif

The Game

The concept is quite simple:

  1. You play as a.. well.. not so nice guy.. and you want to move forward in life
  2. Sometimes people will get in your way, so you deal with them
  3. You may use some 'special actions' to help you along...
  4. ...but beware of the negative karma they may bring in the future

Go as far as you can. Use specials wisely. Things can get really bad, really fast!

Features

  • 3 types of NPCs
  • 3 different special actions to use
  • One inevitable wall of time/karma coming for you...

The more you collect special actions, the easier (and faster) you will get to your goal. But, the more you use them the higher your Karma and the tougher things will get for you in the future... Use special actions wisely!

Things to know

  • Like in life, Karma is not instantaneous, but your actions do have consequences
  • You can use a special action more than once but it will make your Karma stay negative longer

features.PNG

Playing

Use the arrow keys and numbers to play.

Your goal is to get as far as possible before your karma holds you back and you get crushed by time.

Credits

The great soundtrack was made by @draysound (Hihellohiya) who kindly offered to make some tracks after seeing my initial posts on the LD devblog :)

Known bugs

  • If you restart the game with 'R' your previous Karma status will maintain even tho it won't say in the Karma tab on the right hand side. The status will be reset again after you activate the associated special action and wait for it's Karma to subside. Consider this playing on 'hard mode' :D

(Bugs will be corrected after LD 40 rating period ends and v0.2 is launched :))

Running from Source Code

An alternative method is running from the source code.

  1. Make sure you have Python 3 on your machine
  2. Clone the repository at https://github.com/gcmartinelli/karma - git clone https://github.com/gcmartinelli/karma.git
  3. Go to the game folder at /karma
  4. Run pip install -r requirements.txt
  5. Run the game python main.py
  6. Enjoy! :)

Ratings

Overall 510th 3.5⭐ 39🧑‍⚖️
Fun 557th 3.333⭐ 38🧑‍⚖️
Innovation 224th 3.625⭐ 38🧑‍⚖️
Theme 528th 3.486⭐ 39🧑‍⚖️
Graphics 517th 3.59⭐ 41🧑‍⚖️
Audio 233th 3.588⭐ 36🧑‍⚖️
Humor 547th 2.968⭐ 33🧑‍⚖️
Mood 622th 3.221⭐ 36🧑‍⚖️
Given 33🗳️ 47🗨️

Feedback

azlen
05. Dec 2017 · 01:53 UTC
I can't seem to get past the initial screen. The window is not accepting keyboard inputs (MacOS).
🎤 THX1342
05. Dec 2017 · 01:55 UTC
Ouch... I have no way of testing and debugging that right now :( The menu screen was done in a hurry so it might be totally broken. If I can't find the bug I'll try publishing a version without it.
azlen
05. Dec 2017 · 02:22 UTC
I managed to get it working by moving `pygame.init()` after `tdl.init()`
🎤 THX1342
05. Dec 2017 · 02:38 UTC
I'll incorporate that in the source code! thanks!
🎤 THX1342
05. Dec 2017 · 02:52 UTC
@draysound thanks for incorporating that tutorial! :)
TowerHufham
05. Dec 2017 · 02:59 UTC
Python is a pain to package! Your options are really just pyinstaller and py2exe. If you are still interested in roguelikes but don't want to deal with python, I recommend rot.js. It's got a lot of features and since it's javascript, it'll run on just about anything no problem.

About the game itself: I love it. The ascii graphics are super blocky and cute. The music is good, and the game incorporates mechanics I've never seen before. Be proud of your game!
🎤 THX1342
05. Dec 2017 · 03:05 UTC
@towerhufham thank you for the compliment! :)

yes... the last 3h of the jam I messed around with both pyinstaller and py2exe with no success... it's a dissapointment because coding in Python is very fun :) I'll keep trying to find the least painful solution. If not, I will consider other languages/frameworks. Thank's for pointing out rot.js
Draysound
05. Dec 2017 · 03:13 UTC
I just realized I could slap the the three songs back to back, maybe loop the first one once, I doubt people will play long than 7min either, put it all into one file. It may not be linear with the game, but it would encompass the darker theme as the player becomes more skilled. Yay or Nay?
azlen
05. Dec 2017 · 03:14 UTC
@THX1342, if you enjoy coding in python, you might want to check out the [Godot Engine](https://godotengine.org/). The syntax is very similar to python and the engine itself has — over the last few days since I started using it (I have a habit of participating in Ludum Dare using languages and engines that I haven't used before) — impressed me with its ease of use.
Draysound
05. Dec 2017 · 03:24 UTC
Too late https://soundcloud.com/user-711563966/the-whole-karma-saga
Draysound
05. Dec 2017 · 03:24 UTC
Too late https://soundcloud.com/user-711563966/the-whole-karma-saga
Draysound
05. Dec 2017 · 03:38 UTC
Just realized I was on the wrong thread XD not the on we were using, it's your discretion which you like better, good karma is definitely the most fun even as a standalone, I don't know if a variety of music scores higher or not, either way I'm pretty satisfied with the result, you could make the karma due to to moves/time a little easier though haha.
Exploding Bits
05. Dec 2017 · 04:53 UTC
I have had problems getting pyinstaller and py2exe working as well, you might give cx_freeze a try though. Game is great and has bit of ftl vibe with the split paths and wall of doom.
ryuzaki_mrl
05. Dec 2017 · 06:10 UTC
Just tried the game and it's awesome! Had no problems running it.

I suggest taking a look at cx_freeze as @exploding-bits mentioned.
MrPhil
05. Dec 2017 · 06:42 UTC
Man, what pain it was to get python installed and running. You'd think it would be easier, sheesh. Game is interesting. I wish I understood better what the number keys are doing. I hope you continue to improve the game. Thanks.
🎤 THX1342
05. Dec 2017 · 06:46 UTC
@exploding-bits I've tried cx_freeze also :( but I didn't really dive deep into any of them because of the time restraint. Thanks for the feedback!

@ryuzaki-mrl I'm glad you enjoyed it! How far did you go? LVL 9 was my record :) ![lvl9.PNG](///raw/7de/e/z/d4e1.png)

@draysound I really like the idea, but not sure if I can change the game now (for LD). But I will do some more work on it and I'll included the extended track! :) Also, I might try to use some game elements to mix and match the mood of the tracks

@azlen I've played a bit with Godot a few years back and enjoyed it. Not quite python but seemed familiar anyhow. In any case, I'm playing with making games more as a programming learning exercise, but if I continue enjoying sharing games as much as I am now, maybe I'll need to broaden my toolset :) thanks for the feedback and tips
🎤 THX1342
05. Dec 2017 · 06:51 UTC
@mrphil thanks for the feedback! sorry you had a hard time using Python :( I was just thinking about giving a better description of whats inside the game (without spoiling the surprises)
ryuzaki_mrl
05. Dec 2017 · 06:52 UTC
LVL7 was my best. The karma really got me on there.
🎤 THX1342
05. Dec 2017 · 07:17 UTC
Yes... after Level 6 things can get a bit hectic with that bad karma pilling up :joy:
Draysound
05. Dec 2017 · 15:05 UTC
@thx1342 I'm 90% sure (only 90) you can update external things like music as long as you aren't altering the core game itself, I've seen it happen in other games.
MachoCodes
05. Dec 2017 · 16:18 UTC
Great
kkneville
05. Dec 2017 · 16:45 UTC
I LOVE this idea and I love the graphics too, and I'm really excited to see it come to life.
Kirill Venzhin
05. Dec 2017 · 18:47 UTC
yeeeaah! python))) good game, sq for fun!
🎤 THX1342
05. Dec 2017 · 19:09 UTC
@machocodes @kkneville @kirill-venzhin glad you guys enjoyed!!! :)
Laylow
06. Dec 2017 · 04:33 UTC
Unique game. Felt a bit forced though, like I was just going through the motions, almost like I was expecting to lose too early on. I like the map effect and the layout was pretty concise
Dudum Lare
06. Dec 2017 · 14:24 UTC
I saw you around when posting posts so I bookmarked you!
I have played for some time now and I really enjoy this game.

Concerning the graphics it looks awesome! Despite the simple graphics you could not have done better. Love it!

Concerning the audio, that’s the best thing with this game. I just want to listen to it all day long. So relaxing!!!

Overall I like this game very much. I had an amazing time playing it. I’ll definitely come back and play some more, but there's a lot of games to explore right now! Thank you so much for this experience and good luck in the future! Have an awesome day, and I hope to see you in the next jam!

// Isak from @liquidbrain
tmpxyz
06. Dec 2017 · 15:03 UTC
This idea is fresh, but the relation between choice and result seems not obvious enough,
Fugu
06. Dec 2017 · 15:09 UTC
Original minimalist graphics, simple but efficient gameplay
Victor Sette
06. Dec 2017 · 19:01 UTC
I would like to play, but seems like this is a 64bit version only. Or my PC is going crazy. If there's something you can do for me to play, I'm available.
🎤 THX1342
06. Dec 2017 · 20:36 UTC
@victor-sette yes, only 64bit :( Not sure how I can export 32bit without access to a 32bit Windows machine (which I don't have).

You could try running from the source code. You need:

1. Python 3 on your machine
2. Clone my repo `git clone http://github.com/gcmartinelli/karma`
3. Go into the game's main directory (`/karma`)
4. Install the necessary dependencies with `pip install -r requirements.txt`
5. Play! Type `python karma.py`
🎤 THX1342
06. Dec 2017 · 20:37 UTC
@dudum-lare thanks for following the development and playing the game! I'm glad you enjoyed it, even in this raw form :) The audio is indeed amazing! @draysound did an awesome job and even more amazing is that he volunteered to do it when he saw my posts here on ldjam during development :)
🎤 THX1342
06. Dec 2017 · 20:37 UTC
@tmpxyz thanks :)
🎤 THX1342
06. Dec 2017 · 20:39 UTC
@laylow well, being inspired by roguelikes you are expected to die a lot :D

but indeed the game is not as fleshed out as I hoped it would have been. Unfortunately I ended up having bigger issues than expected during development and content ended up suffering because of it. I hope I can have better time management next time :)
🎤 THX1342
06. Dec 2017 · 20:39 UTC
@fugu thanks! :) glad you enjoyed it
Draysound
06. Dec 2017 · 21:16 UTC
@dudum-lare @thx1342 guess the happy audio was the way to go afterall :) Also thanks for commenting on audio dudum, was kinda getting worried when no one was saying anything cause i got a lot of feedback in my first game entry. Glad to know you liked it :)
🎤 THX1342
06. Dec 2017 · 21:28 UTC
@draysound everyone I spoke to mentioned the audio positively! you did an amazing job
WilloXs
06. Dec 2017 · 22:15 UTC
Would love to play and rate but can't start it on my device, sorry.
Togimaro
06. Dec 2017 · 22:20 UTC
Really cool! I love the aesthetic
It's a kind of retro-modern looking rogue-like and it's super cool!
And the audio is so cool and relax
The game is great and i like the interpretation of the theme!

Great job :D

*PS thanks for the Linux Build!*
yancouto
06. Dec 2017 · 22:25 UTC
An unusual game, I like it. It would be nice if it was clearer what your actions do.
SerpentWorks Games
06. Dec 2017 · 22:27 UTC
This is super interesting and I love the concept. It plays really well, though I'm not sure why I kept insulting old people 0.0;; It fits the theme nicely and there's a lot of potential for a larger game from this.

All in all, great job!
🎤 THX1342
06. Dec 2017 · 22:29 UTC
@willoxs sorry to hear that :( what device are you running?

@togimaro hey! glad you enjoyed it and glad the linux build worked fine! my first time exporting an executable so I'm having some issues on that front

@yancouto glad to head you liked it! yes, I totally agree that its confusing right now.. I set myself a very harsh constraint by the screen size and didn't manage to fit all the necessary information I needed in the time I had. Maybe in a newer version I'll increase the text box size or something. Thanks for the feedback! :)
WilloXs
06. Dec 2017 · 22:35 UTC
Noname-Notebook running Windows10. I'll test it on my pc tomorrow.
Draysound
07. Dec 2017 · 00:29 UTC
I got to level 41 XD, too many keys![2gud.PNG](///raw/ef0/8/z/e16f.png)
🎤 THX1342
07. Dec 2017 · 03:26 UTC
:O that must be a world record! :D

but those keys are valuable when you're in a crunch! Enjoy because next version I'm dialing down on items ehhehe the shipped version shouldn't have had that many drops :P
ACamara
07. Dec 2017 · 08:29 UTC
Love the minimalistic graphics and audio. And karma it's a perfect fit to the theme! :D
🎤 THX1342
07. Dec 2017 · 13:34 UTC
@acamara thank you! cc @draysound
Kerdelos
07. Dec 2017 · 20:07 UTC
Although I find it gorgeous (i really enjoy simple art ) and I loved the music I had the impression of not really having the choice to behave in a good way, sometimes people were just in my way and I had no other choice but to be a bad boy. Maybe providing a bit more explaining or freedom would go a long way. Good job anyway ! Keep working on it !
blubberquark
08. Dec 2017 · 19:00 UTC
This took me a bit to get running on Ubuntu. I managed to install libtcod and TDL and run from source eventually.

I like the idea of the game. I like the clean presentation. But the gameplay itself was meh. The calm music was at odds with the theme, which was good because I like the music, but I don't know if that was a deliberate misdirection. The transcript window was a bit small. I almost wanted to play this in an actual terminal, but a bigger window.

I like what you're going for, and how you stay true to the Berlin Interpretation, but something is missing if you want to make this work. This is less of a coding/more content problem and more of a design problem: How do you make moral choices meaningful?

I doesn't help that I personally hate games that force you to do a thing to progress and then judge you morally.

To end on something positive: This look much better than my first game for LD (also in Python), so keep it up!
UmSingeloPugManco
08. Dec 2017 · 22:02 UTC
Nice game.

Just some things.

I'm running Xubuntu 16.04 LTS and the executable for me was broken.

Tried running from source but tdl install failed several times. I search a bit and had to install the following with apt-get for it to install properly:
gcc libsdl2-dev libffi-dev python-dev libomp-dev

So, you might add that to the "how to run from source"

Congrats on the game and thanks for making it runnable in Linux!
hiki911
11. Dec 2017 · 21:59 UTC
wow, now i have one of my favourite games from this LD! GJ!
i wish i had choosen something more simplistic like that.
Draysound
16. Dec 2017 · 01:14 UTC
@blubberquark there was a longer soundtrack that got progressively darker, but I felt like the nice one would be more enjoyed. There all on the soundcloud link above regardless, if you get time let me know if you felt the other two would have fit or no, it's sometimes hard to tell as a music creator rather than player.