Game
The Last Minute Dungeon
8 years ago

Devlog #02: Barrels, clocks and orbs (and a little more!)


I’m “back to business”, shall we say. I took a week-long break since I truly needed it. Suddenly I lost all my motivation. No idea what was the reason, Trump, darkness, the fact I failed to exams, or I just had spent too much time with my programming and game dev projects.

Anyway, now I have my game development energy back, so let me introduce you…

Devlog #02: Barrels, clocks and orbs (and a little more!)

5d0b6df3d0a38.gif

Clocks

They are pretty obvious: collect clocks to earn more time.

Barrels

Break the barrels to find orbs and hearts

Orbs

There are four types of orbs. Orbs will flicker and change their colors every half a second. Each color will give experience to different status attribute. When you have enough experience, the stat level will increase.

The stats are:

  • Strength: Increases your attack power

  • Speed: Increases your moving speed (and maybe something else, too?)

  • Reflexes: Increases your attack speed (any attack type)

  • Magic: Increases magic power and magic attacks will consume less mana

As you can see, there is no stat called “Health”. Instead, killing enemies will give experience to health (see the bar in the top-left corner?)

Hearts

They are not shown in GIF, but there are two types of hearts: normal (red) and golden. The first one will restore one heart, and the latter one three hearts (one heart is worth two hitpoints)

Roll-jump

It’s a new move, now the player can roll AND jump to perform a roll-jump. It’s pretty risky, but provides fast moving above obstacles.

Bonus: The technology behind TLMD, part 1:

The game engine is written in C++. It uses Allegro to provide all the “multimedia needs” (aka graphics, window handling, audio etc) and Lua for scripting.

However, the most interesting part is a marking language called “Clumsy-ML”. I first tried to use XML, but there were some memory issues with rapid-xml lib, and xml format is pretty clumsy, so I create my own marking language.

It looks like this (the file is called “index.cml”):

		
			@ clumsy-ml-v-010

    # The index file

     # Contains everything useful
     # Please do not edit unless you know
     # what you are doing.

{ application

    ! title "Machine"

    { properties

        ! fps 60
        ! assetpath "Assets/assets.cml"

        { shaderpath
            ! vertex "Assets/Shaders/vertex.glsl"
            ! fragment "Assets/Shaders/fragment.glsl"
        }

        ! scanlinepath "Assets/Filter/scanlines.png"
        ! borderspath "Assets/Filter/borders.png"
        ! filter 1
    }

    { canvas
        ! width 256
        ! height 192
    }

    { scripts

        ! path "Assets/Scripts/"

        { module
            ! path "Essentials"
        }

        { module
            ! path "Library"
        }

        { module
            ! path "Game"
        }

        { script
            ! path "main.lua"
        }

    }

}
		
	

For my next project I’m going to write an improved version with more C-like syntax and less restrictive line changes and spaces (now the node name (like “script” or “module”) must be after {, and there must be at least one space).



0 comments

Loading...

Next up

I have had bad luck with my projects this year, so I decided to make a sequel for A Graveyard for Dreams. Maybe I will finish this project one day, maybe not, but at least I have fun making it!

#metroidvania #pixelart #gamedev

The working title is "A Memory of Owls". I'll start a devlog if this project survives that long.

Some funky hand-drawn animation. And I really mean hand-drawn animation: I drew the frames on a paper with a pencil and then scanned the result and created the gif.

Sometimes I start a project but I lose motivation to finish it. This is one of these projects. The source code is available on Github, though, and there you can also play the prototype:

https://github.com/jani-nykanen/unnamed-dungeon-crawler

Devlog #4: Chaos! ...and a new story

Devlog #3: Enemies ahead!

(don't let the video "thumbnail" confuse you, this is a new video!)

Hey cool, video uploading is up (heh) and running again!

I added intro sequence and intro map to the game. The story is going to be a bit more minimal than I originally planned.

Night is coming.

Note that "night" is just used to reveal some objects that are required to collect to enter the final area, it's not a distinct game area.

More about it later.

Stuff

Devlog is coming once I draw the logo and create the game page.

Who would have guessed, making a puzzle game with metroidvania-like progression for MS-DOS with CGA graphics didn't really work, but if you want to try it, see here: https://github.com/jani-nykanen/the-curse-of-cga (see "Releases"; requires DOSBox)

I still had fun, though.