operation bloodshed

I’ve been working on a new project lately, operation bloodshed, an attempt at the creation of a spiritual successor to Operation Carnage, one of my favorite childhood games.

operation bloodshed

Operation Carnage is a 1996 abandonware arcade game with a very simple but addicting and fun gameplay. It has a very interesting shooting/strafing mechanic that is easy to learn but hard to master. Unfortunately, it also has some design flaws that I’ll try to solve in my game.

operation bloodshed

The gameplay is very fast-paced, a typical feature of overhead retro-shooters. I worked on persistent blood particle effects and used my custom pseudo-physics engine, SSVSCollision, to deal with collisions and enemy movement. It works quite well so far.

operation bloodshed is very work-in-progress, but I’ve recorded some video devlogs that you can watch on my youtube channel.

Here is devlog #13 showing some gameplay!

The project will be free, open-source and crossplatform.

I’m also trying to maintain an updated devlog here on TIGSource.

ludum dare 27 - 10corp

I’ve finally participated in Ludum Dare 27, a 48 hour game-development competition.

My game is 10corp, a reflex-based, frustrating, puzzle platformer.

10corp

The game is written in C++11, using only SFML2.1 and JsonCpp as external dependencies. It is written using my personal “SSV framework”, written from scratch, which is free, open-source and available on GitHub.

I couldn’t manage to polish the game as much as I wanted to. There only are 7 playable levels, no gfx options, no key rebinding, et cetera.

Still, being my first Ludum Dare, it was a very interesting and learning experience and I’m glad (and surprised) I managed to create something (in my opinion) worth playing that could become a fun little game with additional polish.

Hope you enjoy my entry!

Gameplay #1 Gameplay #2

Also, Open Hexagon news:

cppdiscount

After adding discount to my static website generator, I was unsatisfied with the C code introduced in my project:

extern "C" 
{
    #include <mkdio.h>
}

// ...

FILE* f1 = fopen(mdPath.c_str(), "r");
FILE* f2 = fopen(mdResPath.c_str(), "w");
MMIOT* in = mkd_in(f1, 0);
markdown(in, f2, 0);
fclose(f1);
fclose(f2);

I looked for alternatives, but I couldn’t find any native C++ Markdown library or any C++ wrapper for C Markdown libaries. So I decided to create a C++11 wrapper for discount, called DiscountCpp. It currently implements very few functions from Discount, but offers a very easy-to-use interface to quickly convert Markdown to HTML.

The updated code looks like this:

#include <DiscountCpp/DiscountCpp.h>

// ...

discountcpp::getHTMLFromMarkdownFile(mdPath);

Now I can sleep in peace.

P.S.: I also implemented syntax highlighting on the site thanks to highlight.js.

markdown and more

I added discount to my static website generator.

Writing blog posts is now much easier!


###ffmpeg, twitch.tv

I’ve also started occasionally streaming myself code on twitch.tv. It was painful to set up, but these are the commands I use:

  • Setting up loopbacks to record both microphone and pc audio

      #!/bin/bash
      pactl load-module module-null-sink
      pactl load-module module-loopback
      pactl load-module module-loopback
  • Launching the stream itself

      #!/bin/bash
      KEY="<your twitch.tv key here>"
      ffmpeg -f x11grab -s 1920x1080 -r 20 -i :0.0+1680,0 \
          -f alsa -ac 2 -i pulse -c:v libx264 -preset ultrafast \
          -pix_fmt yuv420p -s 1920x1080 -threads 4 -acodec libmp3lame \
          -ar 22050 -qscale 3 -b 712000 -bufsize 512k \
          -af aresample=44100 \
          -f flv "rtmp://live-ams.twitch.tv/app/$KEY"
  • After launching the stream

      pavucontrol # to set up loopbacks redirection


###school finals results

After the last blog post my exam score was announced: I graduated with 100/100 cum laude!

This is a great achievement for me. I am already looking forward to start computer science in university in a few months.

done with school finals

Today was the last day of school finals. I'm very happy about how my exams went and even happier that I finally have a lot more free time!

I 've also been working on Open Hexagon 2.0, which will be a big gameplay update with new levels and mechanics. Check the beta out on the official Facebook page.

open hexagon v1.92 linux release

Finally, a multi-architecture (both 32 and 64 bit) .tar.xz archive is available!

Download on the projects page, as usual.: )

open hexagon v1.92 released

Friend list and key customization added. (minor update)
If you 're using the auto updater to update, delete ' config.json ' from your folder first!

open hexagon auto updater v1.1 released

Rewritten from scratch... opening the way for cross-platform updating.