Memory Piano


Memory Piano is a audio memory game, testing both your ears, brain and eyes. The goal is simple—re-play the notes that are played by the program.
They are randomly selected, and are quarter notes played in 4/4 at 120 bpm (approx. 2 notes per second). You have two full octaves at your disposal, but so does the program! The range is C4-C6, without semi-tones, so you can either play songs you know, or doodle around if you don't!

Note that before you start playing, introduce yourself to the controls, and try to learn the notes. It helps if you already have musical knowledge, and it's even better when you have absolute hearing, but if you don't this will help you get at least some of it!
Created for GMC Jam 14 by Shadowrend
Thanks to Greenblizzard for fixing a large bug, which made the game very bad.

The game still needs some more features, and those will be added.

Download (5.23 MB)


Hire Me!

Today I announce that I will take on jobs from now on.
You can see the list of jobs I can provide in this pdf.
The prices are currently negotiable, but I will soon setup a basic price list.

If you wish to hire me, send me a email through the contact form, or send me a PM over the GMC. Please also note that I am a student, and this is not my full-time job. This means I will not be available 24/7.

Thank you,
Nikola Nešić


Riddle me this

You might have noticed but now I have a Ask.fm page for you to ask me any quick question you want to know. I will not answer to some types of questions, so please be civilized and polite. You can also post a quick question directly from my blog, as there is a widget on the right.

Speaking of social networks you can also follow me on Twitter or look at my GMC profile.


Game Recorder

Have you ever wanted to record a bit of your game and post that .gif somewhere? Most programs offer you low quality or bad manipulation. Well now you needn't look no more!
This is an open source example that works only with Game Maker 7, 8, 8.1 and Mac versions! It is possible to use it with GM:S, but you cannot select the directory where to save your recording.

All you need to do is import the single object into your project, place it in the room and whenever you want to record just hit "R" (or the key of your choice). Since it is open source, you can modify anything you want! The engine also supports area recording, so you can record a custom area of your game.

The engine supports 9999 recordings of infinite duration (determined by your HDD space) in one folder! More than 9999 and it will start overwriting. It also has the frame modulation option, so you can slow down or speed up the recording real-time.

The output is a directory with ".png" frames of your recording. All you need to do now is merge them into a .gif file or an animation with a program and post previews of your game!


DevBlog Live!

I was wondering whether to post this or not, but I guess some people might be interested so what the hell.

Here it is.
You can also get to it by clicking the page.



Hi! I've created this funny rating system for you using the Sheen-O-Meter

Just download the exe and start rating stuff!

PS: Charlie, respect, this is just for a bit of fun :) If you want me to remove it, I will.


One Script Pong Game Example

Hello! I've made an example of how to make a diverse remake of the classic Pong game in GM, using only one script!

        This example has the following:      
        -Player vs AI
        -Two Player Game
        -AI vs AI
        -Individual Scoring
        -Customizable Colours

        -Customizable Pong and Players
        -Customizable Map
        -Speed Managing
        -Key Mapping
        And they are all easy to customize, so you can make a pong game of your own, since the script is heavily commented!

Have fun!


Pathfinding Improved

After creating the system yesterday, I took the liberty to improve and modify it a bit. I managed to improve the speed, while increasing precision. Alongside that, I've included a debug object that displays all kind of useful information. The engine is running 60 fps all the time, except when moving the nodes of the NavMesh. That is because at this time, the pathfinding grid is being calculated (and displayed) whenever the mesh is changed, which is quite resource costly in GM. In the game this won't happen as the grid will be pre-calculated.
Here is the first video preview of the engine, displaying the NavMesh and the pathfinding.
Turn on the captions!


Pathfinding and Movement Finished

After a few days of work, I've managed to get the movement system working good. What the system does is that it takes the NavMesh, and checks the mesh against a grid. The grid cell's outside the mesh are solid, while the ones inside are not, and you can move freely inside the mesh. After that the program uses a basic A* pathfinding engine to produce the near-shortest path towards the destination. Precision of the grid, that is the edges can be changed easily, but I am keeping the cell size 16px for now, as it is somewhere between performance and quality (precision). Smaller cell size results in a more precise checking, but takes 16x more CPU power.

Here is a preview, with the grid and cells (red cells are solid, green are the walk area or the NavMesh). The white rectangle is the "player" object, and the line is the path it will take to reach the destination.
I will see to improve both the precision and the quality, while improving performance. A better A* pathfinding engine is also planned.


Project Map

As the program is quite complex, and has quite a number of features, I've made a "Mind Map" to keep things organized, as well so that I can add or remove, or write something down for that, so that I have a plan what to work on.
In this post I will only explain the basics on how the program should work, and give you the preview of the mind map.

The program is divided into four sections, three of which are pre-programmed and created, while the fourth one needs to be created by the user. These are:

1. Engine
The core part of the tool, as this is what enables the game to function and work. The engine features NavMeshes, Dialogues, AI and engine functions, that are actually program settings.

2. User Interface
This sections covers the interface and the user-computer communications. Featuring a HUD with the actions and the inventory, save/load functions and interaction on the scene.

3. Tool
This is planned for a future version, since without this you cannot create anything in this engine without the source. This is also the most complex thing, as it will feature a composite nodes system, which was covered in a previous topic, integrated GML scripting and GLSL ES for shaders, an audio sync tool, which is used to fix dialogue voice timings, but can be also used to modify the sound, objects, and the necessary functions like saving and loading your project, and exporting it as a standalone. The tool also features a four editors, a scene editor, in which you setup the objects and the visual part of the scene, then a cutscene editor, where you can create scripted events, making the cutscenes rendered in real-time. The particle editor and the shader editor are the part of the composite nodes system, but they are major functions.
The DLL's the engine uses are just my notes. Since FMOD is so damn expensive for commercial products, I will probably use a free version of a similar sound engine. Cypher will provide the file archiving and protection, so that others cannot steal the resources if you want.

4. The Game
This section is what is needed to be created by the user. It is the game content.

The bottom section shows the menu options for the game, that should be available.

You can preview the map here.