Posts Tagged ‘spark’

Spark: De Sacrificio is finished!

Posted by (twitter: @fullmontis)
Monday, January 6th, 2014 4:47 pm

“… And why should I care?”

Good question. Let me tell you a short story to give it to you.


Screenshot from Spark: De Sacrificio


Spark: De Sacrificio is a little project that stemmed from an old ludum dare entry I created for LD27. I was very excited with it back then, and had it all planned in my mind: a puzzle/platformer with exploration components. It felt like a cool thing to play, so I did a smallish implementation for the compo. I wanted to develop a complete game from the small prototype I created back then, but because of a few personal problems and my inability to focus on one thing for more than 48 hours, I dropped it.

It would have been the end of it if I didn’t get a hold of a copy of GameMaker back in November. I was curious to test this platform, and decided to brush some dust off Spark to recreate it in this bright new engine. I was really excited, and got a lot of work done in a short time. It started to look really amazing for what I was expecting. The game felt just as I wanted and it was interesting to play and explore.

But for some reason I felt reluctant to wrap the game up and send it on its journey through the Internet.


Screenshot from Spark: De Sacrificio


It took me a couple of weeks to pin down what was this dark feeling I was having towards releasing this small game. In the meanwhile, development got very slow. Staring at the game, replaying the same parts over and over started to feel painful. I caressed the possibility of leaving it in a drawer and forgetting about it more than once. The reason wasn’t that I didn’t like the project, but that I loved it way too much.

I was scared of what people would say about it. I’m not new about getting feedback on stuff, and I have a thick skin for hrash comments. But the reality is that I had put a lot more of myself in this game than I would have ever expected. It’s no use to have a thick skin if you have your most vulnerable parts of yourself out in the open. Spark isn’t just a game for me but more of a piece of myself I digitalized and put in a form that others can experience and live. As someone who is extremely reserved, this is terrifying: it’s like living an open door on my soul.

I knew that I had to push though it. On December the 30th, Spark: De Sacrificio was finished. I knew it wasn’t perfect, but it didn’t matter: I knew I had to close this loop and go on. So, here it is. Spark.


Screenshot from Spark: De Sacrificio


So, going back to the original question: why should you care about Spark: De Sacrificio?

Because it’s sincere.

I put all my passion and knowledge in this game. It’s not a great game, I know it. But I know it is unique, in its own weird way. As I said, even if you won’t notice, there is a lot of me in it.

Oh, and it’s free. But that was a given. See it as a present to other developers who really love this medium as much as I do.

If you are in for something different, challenging and (hopefully) touching, you may want to download it here. If you check it out, feel free to pour some feedback on my blog or my twitter account.

Thanks for reading these ramblings.

Spark – Postmortem

Posted by (twitter: @fullmontis)
Monday, August 26th, 2013 3:51 am

So, LD#27 is finally over. There is something peculiar about it this time: Spark is  in the compo! My first completed LD48!

After my insuccess in April, getting this achievement really made me happy, despite the game itself being only a pale shade of what I wanted it to be. Still, no matter the things gone wrong, it was a great learning experience and I learned a lot, which is probably the greatest achievement. But let’s see what were the ups and downs of these two days.

The Good

  1. LOVE2D
    I’ve been in love with love2d since the first time I discovered it. Because of it, I learned Lua and how amazing of a language it is. Still, I always used it in non time constrained environements: doing a Ludum Dare with it was a breeze, mainly because I got used to the environement, but also because of the amazing semplicity of the modules. I have this idea that a framework should be as transparent as possible so that it doesn’t get in the way of the developer: Love2d achieves that. I never had to stop more than five minutes in the excellent wiki to find out what I needed to do. This to me is like a liberation of a curse: passing hours on poorly documented and overly complicated APIs really kill the creative ideas one may have in a moment. My wet dream would be a love2dJIT, that would be the shit. But only time can tell.
  2. Picking an idea I liked
    I wasted somewhere around 12 hours with brainstorming and another aborted game idea before starting working on Spark. This is a huge down, meaning a quarter of the limited time I had was spent on basically nothing that would be in the final game. This is a wrong thing to do (and will never do it again for the future compos), but it helped me find an idea I really enjoyed. While Spark didn’t come out as I wanted, I really enjoyed working on it and implementing it (The Call, my LD26 jam entry, in comparison, felt more like a chore). I knew from the start it was an overambitious idea and I would never be able to complete it all, but my motivation was so strong I got a lot more done in two days than I would have in a project I didn’t like. So those 12 hours didn’t really feel like a waste but more like an investment: they saved me from working a day and an half on a project I would have hated working on.
  3. Submitting the game
    I was ashamed with how little I was able to put into Spark in the time given. I implemented stuff I never used, I created graphics I didn’t have the time to put in, the final product misses a lot of stuff and doesn’t even remotely resemble how I wanted it to be. But still, the game is in the compo! Great fucking feeling. I was in for a quarter of an hair, but was still able to put something up and online. The last three hours were the worst: I still had to create the levels and implement a lot of stuff and started to think it wasn’t worth all the sleep loss and the hard work since it hardly was the game I wanted after all. I stopped for a few minutes to think, then I realized that I was in the compo to make an amazing game but to finish a game. So I pushed through it. It was hard, but Spark finally got “done” (with quotes so big you could sleep in them). Now that I have something playable, I have even more motivation to complete the game because I see so much stuff I was unable to implement that would make the game so much better. I’ll start working on a post compo version soon.
  4. Theme
    This time around, the theme was actually a theme. LD26’s Minimalism was hardly a theme (more of a style), which frustrated me to no end. I could hardly put something together because of that. This time around, I really liked the theme. I loved it so much I had a lot of ideas that I could be working on in the future, which I had to discard for the compo because they are way too big to fit in 48 hours. It was quite prolific. Even too much, which brings us to the negatives of these two days.
  5. Moonscript
    Moonscript is a language created by leafo that compiles to Lua. It basically gives Lua a python-like style. While I know of a lot of programmers who hate forced indents with a passion, I personally feel they make the code immensely easier to read and write. No more ugly, verbose do..end cycles, just press enter+tab and you are good to go. It also forces your code to look good which is hardly a bad thing. Putting the simplicity and speed of coding of Moonscript on top of the beautiful simplicity of Love2d is like supercharging your game making potential. It literally flows under your fingers. My only pet peeve with it is that the debugging errors given but love2d refer to the .lua files because.moon files are compiled to lua. This means that I have to refer from time to time to the compiled .lua file for debugging instead of the .moon file I’m working on, which kinda breaks the flow for me. But still, Moonscript+love2d is a bomb of a combination.

The Bad

  1.  Overambitious idea
    In the beginning, Spark was a huge idea. I had in mind to put forking paths, complex level design, and a story. None of these got into the final game, by far. Mainly it was because of me being stupid and wasting time, but even for the best programmer it would have been a challenge to put together what I wanted in 48 hours. I remember clearly thinking “I’ll never do this” when I started working on Spark. Buy, was I right. Still, I really liked the idea (see point 2 above) so it wasn’t a complete idiotic choice: it’s not like the idea will self desctruct when I submit the entry. But still, I should have probably toned it down quite a bit.
  2. Tiles
    Oh boy. Tiles. Never really used them. And it shows. I wasted around 4 hours making a tiling system that creates levels from images and carefully drawing the tileset, only to discover that I would have to hand draw every level, every angle, every border. I would never be able to do that. It took me around 20 minutes to make one room! I was so heartbroken when I had to draw blocky levels that hurt my eyes only to watch. Also, since the pitfall and the wall tiles were too similar and difficult to determinate which was which, I had to basically throw in a barf-looking pitfall tile in the last half hour to make the game playable. It hurts to watch what it could have been and how it is instead.

    Spark's original tileset

    Spark’s original tileset

    The original pitfalls

    The original pitfalls

    Instead you got THAT

    Instead you got THAT

    The hell is this?

    The hell is this?



    So… Yeah. I’m not proud of how it looks. But hey, that’s a mistake I’ve learned from.

  3. Horrible code structure
    In my last few projects I got used to an entity component system I’m developing for Lua. While at first it is pretty weird to work with, once you get the hang of it it flows easily and is very clean to mantain and use (even though there are some weird bugs that pop out once in a while). I could have used it for the game but for this ludum dare I wanted to try something from “inspiration”. The result is a mess of a code. I already have problems changing it because of how horrible it is. It is my fault for being lazy and breaking encapsulation too much, which in the end makes mantaining code an abomination. I should be more careful next time around. I’m already thinking about rewriting the engine to make it more human (right now it looks like a deformed monster struggling to breathe).
    The way I implemented stuff was also weird. I had a lot of problems creating a switch that would change the level, which was quite embarassing thinking of it (but still, I have the excuse of sleep deprivation, so shut up>:( ), so I created this weird solution where there is a switch that changes level from one to another, which greatly limits future implementations since it is limited to one switch per room and can only change THAT room. This really hurt level design since there was hardly anything I could do with it, and the time to implement new mechanics simply wasn’t there. I want revenge and I’ll probably reimplement the mechanic in the post compo version.

So, this looks like that’s it. It was a pretty stressful weekend, but Ludum dare is about that. It makes you understand how difficult actually finishing a game is, it takes away your sleep and it makes you ashamed of what you make, but it is still an amazing experience.

Now, for the best part: actually playing the games! I’m so excited. Happy voting!

Blog Entry ->

[cache: storing page]