Re:creation dev log. November 2014. Core game mechanic explained and more.

Re:creation info/press kit | Previous dev log

 

I did a lot of stuff this month and I’ll start with the most important thing.
I’m ready to present the core game mechanic in the game!

Recreation

I call this mechanic “recreation“. Here’s how it works.

First, you kill someone

Then you can become a ghost and travel around the screen without taking any damage and colliding with anything

You can’t get too far away from your body though!

When you are in the ghost form you can become the enemy you just killed

It gets revived in the zombie form. You don’t have many health in this form so you can’t complete an entire level like that, you’re most likely to die. When you die, you return to your original body.

This mechanic is used to solve puzzles and progress forward. Each enemy will have unique skills which will help you on your way.
Here’s an example of solving a simple puzzle.

I have some other puzzles but I can’t show them right now because they need to be polished! I also don’t want to spoil too much for people who read my dev logs.
There are lots of puzzles which can be invented with this mechanic and I’m really excited to work on puzzles involved it!

And now I’ll tell you about other things I’ve done

Continue reading

Using Lua with C++. Using Lua scripts with C++ classes.

Read the first part about LuaBridge here to see how to install it and use it for basic things.

You can find the complete source code of this article here

This part will show you how to register C++ classes in Lua, call member functions and how to apply scripts to something practical like putting object behaviour code in scripts.
I’m a game developer, so I’ve used examples related to gamedev but you can use Lua almost everywhere, so take a look even if you’re not interested in gamedev.
The code used in this article is as simple as possible while also remaining a complete example which you can run and compile.
I leave out the details which are irrelevant to focus on the main topic: scripts.

Continue reading

Re:creation info / press kit

by9icgm
Re:creation is a hobby gamedev project being made by Elias Daler. Re:creation is an action adventure game inspired by The Legend of Zelda: A Link to the Past and Earthbound.
You play as an undead knight who can become people he kills and get their abilities to progress in the game and solve various puzzles using unique recreation mechanic which can be summarized in this gif:
Release date: When it’s done
Platforms: Windows, Linux, Mac
Developer: Elias Daler

Continue reading

Re:creation dev log. September 2014. Drawing art, being a solo dev, fixing bugs.

Lots of time passed since the last dev log. How’s the game? It’s doing pretty well.

Some things changed, the most notable thing is that I’ve become a solo gamedev now, because the artist abandoned the project. Every sprite you see in the latest screenshots was drawn by me.

Being solo dev is hard, very hard. I spend lots of time practicing art, drawing sprites, animating them and trying to make them as good-looking as possible without spending too much time. And I still have to do programming, scripting, designing and story writing!

Continue reading

re:Creation week #5. Improved level format and saving system.

Previous weeks:

Foreword

Last week I’ve posted this screenshot of re:Creation to /r/IndieGaming to know what people think about new graphics. I expected 2 or 3 people tell me something like: “it’s good, keep working” or “that’s bad, keep working”. The thread got lots of upvotes and comments and there was lots of constructive critique which I didn’t expect. Some people said the game looks really great. This was really awesome and now I know in which direction art style should be moving.

And here’s what I’ve been doing this week.

Continue reading

re:Creation week #4. New graphics, chests, doors, screen transitions

Previous weeks:

This week was totally awesome!
Dmitry has redrawn lots of graphics and the game looks a lot better now.
We’ve also decided to make character proportions more realistic which is also great.
Here’s the graphics comparison

Continue reading

re:Creation dev log. Week #2 and #3. AI stuff and vacation

Week #0: Preparation

Week #1: Things are getting bigger

Week #2 and #3. AI stuff and vacation

I started to prototype the first “real” level of the game. As I was working on it, I realized all the flaws of level editor and features it lacked of. So I worked a lot on the level editor!

A lot of time was also put in optimization. Release build was always working at 60 fps without a problem, but as an object counter grew bigger and bigger Debug build started to slow down, so I decided to optimize my game a bit and now it’s running at 60 fps on Debug too. Neat.

I was also working on AI for some time. First I got NPC to go to the specified point of map.

I accidentally swapped walking animations and results were hilarious.

Continue reading

Using Lua with C++. LuaBridge makes everything easier. Variables and functions

Why use Lua?

Using scripts with C++ is great. They provide lots of flexibility and free you from using those .txt files for your configuration files and also let you write complex functions. You can modify your scripts without recompiling. This is really important because you get distracted less often. Even a short compilation can break your concentration.
And you can even design your system that even those people who don’t know how to code can create new scripts or modify existing object behavior without modifying your source code! If you want to know more reasons of what makes Lua great read the beginning of this article.

I wrote about how you can develop your own binding library in previous chapters. But this library is very basic, it doesn’t have the power some other libraries have. It’s really hard to write your own binding because it usually involves lots of templates magic and meta-programming.

I’ve tested lots of libraries and found LuaBridge to be the most awesome. It has MIT license, doesn’t have any dependencies(like Boost which some libraries use) and it doesn’t require C++11. You don’t need to build it. Just drop LuaBridge folder in your project folder, include one header and you’re ready to go!

Continue reading