Welcome, Guest. Please login or register. Did you miss your activation email?

Author Topic: Re:creation - a top down action adventure about undeads [hiatus]  (Read 157206 times)

0 Members and 1 Guest are viewing this topic.

Elias Daler

  • Hero Member
  • *****
  • Posts: 570
    • View Profile
    • Blog
    • Email
Re:creation - a top down action rpg about undeads
« Reply #270 on: September 12, 2015, 12:15:35 am »
@FRex, don't really know how fast it is compared to my method. What concerns me is that you'd have to do luaL_loadstring for each table you want to get keys of which just doesn't seem right to me. :S

Quote
Lua 5.2.
Is there any special reason or feature that made you pick this over 5.1? I've used 5.2 for learning Lua because that's what was newest when I started but then went back to 5.1 so I could use LuaJIT if I wanted to and 5.3 issues made me think I made the right choice.
No, that was just the latest version of Lua when I started to do scripting. I didn't consider to use LuaJIT at that moment, so I went with 5.2. I don't think that I use lots of 5.2 features, so I think I can still use LuaJIT if this would be necessary. :)

@dabbertorres, yep, that's the best syntax to have, but implementing it with one function is impossible, but I've tried to create function which would explain the general concept as simple as possible.

To everyone who are volunteering for the translation: I've created a trello list which I would expand.
Thanks for offering your help, it means a lot :)
Tomb Painter, Re:creation dev | eliasdaler.github.io | @EliasDaler | Tomb Painter dev log

Elias Daler

  • Hero Member
  • *****
  • Posts: 570
    • View Profile
    • Blog
    • Email
Re:creation - a top down action rpg about undeads
« Reply #271 on: September 16, 2015, 12:27:24 pm »
Sorry for the lack of updates, been working on some awesome stuff and fixing bugs all week.
I'm working on a combat system and try to make it enjoyable and not boring. So far, the progress is great.
I'll work on the new art soon, so expect some cool screenshots and gifs.

I'm trying to focus more on making the game, not the engine for it, and it feels good. Are there any great articles about this? I want to plan better and focus on what's the most important.

And here's some random concept art:
Tomb Painter, Re:creation dev | eliasdaler.github.io | @EliasDaler | Tomb Painter dev log

Strikerklm96

  • Jr. Member
  • **
  • Posts: 74
    • View Profile
    • Email
Re:creation - a top down action rpg about undeads
« Reply #272 on: September 17, 2015, 05:57:51 am »
This game looks awesome :) and as a novice programmer, I had some questions.

How do you make components interact? When a player damages another, what code and functions does that flow through?

For your lua, how does this get translated to an actual c++ instance of a GraphicsComponent?
Do you have to go through and set each value for the instance of GraphicsComponent to each value in the lua?
Like:
GraphicsComponent gc;
gc.filename = lua("GraphicsComponent.filename");
  GraphicsComponent = {
        filename = "res/images/chest.png",
        animated = true,
        defaultAnimation = "closed",
        z = 0,
        animations = {
            closed = {
                frame = {0, 0, 16, 16},
                numOfFrames = 1,
                frameTime = 0,
                looped = false
            },
            opened = {
                frame = {16, 0, 16, 16},
                numOfFrames = 1,
                frameTime = 0,
                looped = false              
            }
        }
    },


Or is there some way to get it to auto assign the values?
« Last Edit: September 17, 2015, 06:04:26 am by Strikerklm96 »

Elias Daler

  • Hero Member
  • *****
  • Posts: 570
    • View Profile
    • Blog
    • Email
Re:creation - a top down action rpg about undeads
« Reply #273 on: September 17, 2015, 08:16:18 am »
Thanks!

When a player attacks, his weapon creates "damage" entity which contains DamageComponent and CollisionComponent. If CollisionSystem detects that "damage" bounding box intersected with some other entity, this entity's "damaged" Lua function is called. It may look like this:

damaged = function(this, second) -- this - entity which was damaged, second - entity which damaged it
    decreaseHealth(this, getDamageValue(second))
end

I go through each value in C++ when I create GraphicsComponent, yeah. But then I copy this GraphicsComponent in C++ without Lua script.
Tomb Painter, Re:creation dev | eliasdaler.github.io | @EliasDaler | Tomb Painter dev log

Brax

  • Newbie
  • *
  • Posts: 39
  • Wannabe C++ Game Developer
    • View Profile
Re:creation - a top down action rpg about undeads
« Reply #274 on: September 17, 2015, 11:17:40 am »
@EliasDaler I have a feeling this article might be of some use to you. :)

The art of enemy design in Zelda a link to the past

Elias Daler

  • Hero Member
  • *****
  • Posts: 570
    • View Profile
    • Blog
    • Email
Re:creation - a top down action rpg about undeads
« Reply #275 on: September 17, 2015, 10:49:46 pm »
Thanks a lot. It's very interesting and will be totally useful.
Tomb Painter, Re:creation dev | eliasdaler.github.io | @EliasDaler | Tomb Painter dev log

Elias Daler

  • Hero Member
  • *****
  • Posts: 570
    • View Profile
    • Blog
    • Email
Re:creation - a top down action rpg about undeads
« Reply #276 on: September 18, 2015, 09:04:17 am »
Another concept art of cafe

I'm working on art for it, so in-game screenshots will come soon. :)
Tomb Painter, Re:creation dev | eliasdaler.github.io | @EliasDaler | Tomb Painter dev log

shadowmouse

  • Sr. Member
  • ****
  • Posts: 302
    • View Profile
Re:creation - a top down action rpg about undeads
« Reply #277 on: September 18, 2015, 05:32:06 pm »
I really like the scene you've drawn above. Looks to me (and this is just my take) that you have a retired pirate and one of his fellow pirates who died at sea and then they started a tavern together.

Elias Daler

  • Hero Member
  • *****
  • Posts: 570
    • View Profile
    • Blog
    • Email
Re:creation - a top down action rpg about undeads
« Reply #278 on: September 18, 2015, 11:18:11 pm »
I really like the scene you've drawn above. Looks to me (and this is just my take) that you have a retired pirate and one of his fellow pirates who died at sea and then they started a tavern together.
Thanks! That's a good interpretation, ha-ha.
I'm going to post the pixel art of them tomorrow. :D
Tomb Painter, Re:creation dev | eliasdaler.github.io | @EliasDaler | Tomb Painter dev log

Jesper Juhl

  • Hero Member
  • *****
  • Posts: 1405
    • View Profile
    • Email
Re:creation - a top down action rpg about undeads
« Reply #279 on: September 18, 2015, 11:21:57 pm »
I'm really impressed with what you are with this this game. Keep up the amazing work. It's really impressive.
« Last Edit: September 18, 2015, 11:23:36 pm by Jesper Juhl »

Elias Daler

  • Hero Member
  • *****
  • Posts: 570
    • View Profile
    • Blog
    • Email
Re:creation - a top down action rpg about undeads
« Reply #280 on: September 19, 2015, 04:45:22 pm »
I'm really impressed with what you are with this this game. Keep up the amazing work. It's really impressive.
Thanks a lot. Very glad to hear that. :)

Okay, here's a new screenshot.
Undead cafe which I've been working on lately.
Tomb Painter, Re:creation dev | eliasdaler.github.io | @EliasDaler | Tomb Painter dev log

shadowmouse

  • Sr. Member
  • ****
  • Posts: 302
    • View Profile
Re:creation - a top down action rpg about undeads
« Reply #281 on: September 19, 2015, 05:07:12 pm »
Looks brilliant as always. Do the characters in the cafe have backstories/sidequests?

argh

  • Newbie
  • *
  • Posts: 16
    • View Profile
    • my blog
    • Email
Re:creation - a top down action rpg about undeads
« Reply #282 on: September 19, 2015, 08:51:18 pm »
This game looks amazing! (artwork, colors, layout. well everything is spot on tbh). Keep up the great work. I hope the release date will end some time soon ;)

Just wanted to cheer you on.

Elias Daler

  • Hero Member
  • *****
  • Posts: 570
    • View Profile
    • Blog
    • Email
Re:creation - a top down action rpg about undeads
« Reply #283 on: September 19, 2015, 10:16:45 pm »
@shadowmouse, thanks! Yes, all of them have backstories. I thought about making NPCs without any backstory, but I just can't do it! :D
As for the sidequests... probably. I haven't thought about it yet.

@argh, thanks! I'll try to work as hard as I can to finish the game as fast as possible without sacrificing its quality.
And feedback cheers me on for sure, so thanks again. :)

Progress update
Cute undead cat tells about its life:

And do you recognize the painting behind the cat?

There are some cool changes I've made lately.
First of all, I've changed the dialogue font. Compare it with the old one:

First of all, the new font is more readable. It also lets me fit a lot more text in the dialogue window.
The text doesn't scroll anymore. I think that separating text by meaningful chunks (1-2 sentences) keeps it more readable. That's how most games do it, anyway.
Because I have to fit as much as I can in one screen, rephrasing stuff is important. I think it's a good thing, because it keeps text short and precise (most people don't like to read long texts in games, unless it's a huge RPG with deep history).

I will also start to add line breaks myself (I was breaking text in lines automatically before). It lets me compose the text manually, so it looks and reads a lot better. If you look closer at NES/SNES games with lots of dialogue, you'll notice that most of the text fits the box very neatly.
To do this more easily, I'll create a tool which will let me edit text in it and immediately see how it will look in the game. This tool would also be useful for translators, I think. (especially for languages which have long words!).
I also added little talking animation which makes things a bit more lively. :D

I'll also start to move animation data from Lua to JSON, so the script won't take as much space as its currently does. For example, main hero's script is now 504 lines. 354 of them is devoted to animation descriptions (location on the sprite sheet, frame time, etc.). And there's no need to keep info like that in Lua files, because this info doesn't use any Lua capabilities. So, I would move each animation description into JSON file and then just write something like this in the script:
GraphicsComponent = {
    ... -- some stuff
    animations = "anim/hero.json"
}
This animation info would be loaded in C++ later.

Oh, and one more thing. I finally came up with the name of the main character! I'll tell you later with some other cool stuff. ;)
« Last Edit: September 19, 2015, 10:38:22 pm by Elias Daler »
Tomb Painter, Re:creation dev | eliasdaler.github.io | @EliasDaler | Tomb Painter dev log

Elias Daler

  • Hero Member
  • *****
  • Posts: 570
    • View Profile
    • Blog
    • Email
Re:creation - a top down action rpg about undeads
« Reply #284 on: September 20, 2015, 01:44:19 pm »
I've moved animation descriptions to JSON.
This removed 1047 lines from Lua scripts which is cool, as scripts are now more compact and easier to edit.

I also made a dialogue tool. It took me just half an hour to make!

Yes, line breaks can be easily inserted automatically. But this tool lets me compose the text in such way, that there's no situations like this:

Code: [Select]
Some text, some text, some text
some_very_long_word_which_doesn't_fit_in_previous_line, even more text,
a giant space is left on the first line. Meh, not cool!

This also lets me see how much text I can still fit in this box. I don't want to break one long sentence into several boxes, because this may be not very readable.
Tomb Painter, Re:creation dev | eliasdaler.github.io | @EliasDaler | Tomb Painter dev log