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 279361 times)

0 Members and 2 Guests are viewing this topic.

Elias Daler

  • Hero Member
  • *****
  • Posts: 602
    • View Profile
    • Blog
    • Email
Re:creation - a top down action adventure about undeads
« Reply #495 on: January 23, 2016, 10:14:19 pm »
Elias, seeing your improvement in the cafe makes me wonder why we didn't notice how short the walls were before!
How did the cat get even cuter?  >:(
I think you didn't notice it, because when I've made the changes in perspective, the walls stayed at the same height. So you imagined that you looked at the old angle at them. But not long ago I've realized that if I make walls higher, the angle would fit the style and perspective better. And it worked! :D
And I think the cat got cuter because of longer ears and better head shape. :D

Specter, as for his pose, just imagine that he sits like this... it makes the whole thing better ;D


icecap, not to sound rude, but while some of your suggestions are good, I think that you're giving too many suggestions instead of feedback... I can't add that much stuff based on your vision of my game.
Tomb Painter, Re:creation dev | eliasdaler.github.io | @EliasDaler | Tomb Painter dev log

icecat

  • Newbie
  • *
  • Posts: 5
    • View Profile
Re:creation - a top down action adventure about undeads
« Reply #496 on: January 23, 2016, 11:12:56 pm »
I can't add that much stuff based on your vision of my game.

understood

Elias Daler

  • Hero Member
  • *****
  • Posts: 602
    • View Profile
    • Blog
    • Email
Re:creation - a top down action adventure about undeads
« Reply #497 on: January 30, 2016, 09:31:43 am »
So, I'm done with the exams and I have more time to do stuff. I'm working on scripted sequences now. I've implemented multiple choice inside dialogs and tagged actions.

Here's how this looks in Lua:
local cat = getEntityByTag("CAT")

local cutscene =  {
    {
        type = ActionType.Dialogue,
        dialogue = {
            {
                entity = cat,
                text = { "meow_meow_pop_quiz", "pop_quiz" },
                choices = {
                    {
                        text = "yes",
                        f = function()
                            cutsceneGoTo("ANSWERED_YES")
                        end
                    },
                    {
                        text = "no",
                        f = function()
                            cutsceneGoTo("ANSWERED_NO")
                        end
                    }
                }
            }
        }
    },
    {
        tag = "ANSWERED_YES",
        type = ActionType.Dialogue,
        dialogue = {
            {
                entity = cat,
                text = { "incorrect" },
            }
        }
    },
    {
        tag = "ANSWERED_NO",
        type = ActionType.Dialogue,
        dialogue = {
            {
                entity = cat,
                text = { "i_thought_you_would" },
                portraitName = "sad"
            },
            {
                entity = cat,
                text = { "silly_me" },
                portraitName = "shrug"
            }
        }
    }
}

return cutscene
Pretty easy to follow, but maybe there's some stuff I can improve? :D
As you can see, some actions are tagged, and I can go to them with cutsceneGoTo function. There's a lot more I can do with this stuff and I'll make another, more complex cutscene to show it off soon!
Tomb Painter, Re:creation dev | eliasdaler.github.io | @EliasDaler | Tomb Painter dev log

Elias Daler

  • Hero Member
  • *****
  • Posts: 602
    • View Profile
    • Blog
    • Email
Re:creation - a top down action adventure about undeads
« Reply #498 on: January 31, 2016, 04:33:28 pm »
Made a quick and easy system to draw overlays on sprites which let me minimize copy-paste between human and zombie sprite sheets. Previously I had to make human sprite sheet and then copy-paste it and redraw face, hair and hands. This was obviously a pretty silly thing to do.
But now I do things a lot better. I have separate sprite sheets for body and face + hair + hands and just draw one sprite on top of another. So, I get something like this:





Right now face, hair and arms are at the same positions in sprite sheet as they are in original one, so I set same textureRect for both main and overlay sprite without having to deal with different coordinates. I don't waste much space by having huge empty spaces in .png.

This will also allow me to make different faces for NPC with same bodies to make reusing art easier!

My plans for the next week is to work on the battle system, puzzles and awesome boss battle which I won't spoil for you. :D
« Last Edit: January 31, 2016, 04:41:37 pm by Elias Daler »
Tomb Painter, Re:creation dev | eliasdaler.github.io | @EliasDaler | Tomb Painter dev log

ZackTheHuman

  • Newbie
  • *
  • Posts: 33
    • View Profile
Re:creation - a top down action adventure about undeads
« Reply #499 on: January 31, 2016, 07:53:15 pm »
Looks really good. Reminds me of how the sprites in Mega Man worked. I'd love to hear more about how you specify this kind of layering/compositing in your data files. I want to do something similar in the game I'm working on.

I don't waste much space by having huge empty spaces in .png.

Nitpick: this is true for the .png file on disk, but not really true once the image is in memory.
Project Hikari Dev Blog: http://hikari.zackthehuman.com/blog/

Hapax

  • Hero Member
  • *****
  • Posts: 3043
  • My number of posts is shown in hexadecimal.
    • View Profile
Re:creation - a top down action adventure about undeads
« Reply #500 on: February 01, 2016, 12:21:12 am »
"InferXX"
"Can you fill in the blanks?"
(Yes/No)
"No"
"I thought you would help."

Made me laugh although sad cat's face also made me sad.
Selba Ward - SFML drawables
Kairos - Timing Library
Rectangular Boundary Collision - Rectangular SAT Collision

@Hapaxiation - Hapaxia on Twitter

Elias Daler

  • Hero Member
  • *****
  • Posts: 602
    • View Profile
    • Blog
    • Email
Re:creation - a top down action adventure about undeads
« Reply #501 on: February 02, 2016, 08:39:04 am »
Looks really good. Reminds me of how the sprites in Mega Man worked. I'd love to hear more about how you specify this kind of layering/compositing in your data files. I want to do something similar in the game I'm working on.
Right now it's pretty simple, I just have this table in Lua:
overlays = {
    default  = "res/images/enemy_human_skin.jpg",
    zombie = "res/imaged/enemey_human_zombie_skin.jpg"
}
And overlay textures are stored in std::map<std::string, sf::Texture*>. So I can easily do this:
entity->get<GraphicsComponent>()->setOverlay("zombie");
so the "zombie" texture gets set to sf::Sprite overlaySprite and it's drawn on top of main sprite.

Nitpick: this is true for the .png file on disk, but not really true once the image is in memory.
Yeah, that's true. But after all the size if not the main issue, because the sprites are really small. Not having to copy-paste stuff is what makes it cool (because if I change some stuff in "human" sprite, I could have forgotten to change it in "zombie" sprite. But that's not a problem anymore)

Made me laugh although sad cat's face also made me sad.
Ha-ha, this is now one of my favorite comments about my game of all time. I want to make the game which will be called "roller coaster of emotions". ;D

Btw, I'm currently working on the first boss which will be much cooler than I've thought before and fit "prison" theme better. I'll fully redesign him later and make a lot of changes to boss battle. I'll probably show as much as possible because I don't want to spoil anything for you. :D
This boss is very complex and has a lot of different states and reactions to the stuff you do. It would have been pretty hard to make it with script state machines, so cutscene/scripted sequence helps a lot. It becomes more and more complex and lets me do stuff I never imagined to do before. For example, now I can easily track how many times one or another action happened (for example, how many times someone said something to you), so I can make NPCs react in another way if you do something twice. That's pretty cool, but also very hard to make good. So I'm trying out different approaches and maybe I'll write an article about that later.

So, I have a question: what are some good editors in games (AAA or not, doesn't matter) which let you do cutscenes in games? It would be pretty good to see how other games do it.
Tomb Painter, Re:creation dev | eliasdaler.github.io | @EliasDaler | Tomb Painter dev log

Dark2Dragon

  • Newbie
  • *
  • Posts: 16
    • View Profile
Re:creation - a top down action adventure about undeads
« Reply #502 on: February 02, 2016, 12:50:41 pm »
Quote
Btw, I'm currently working on the first boss which will be much cooler than I've thought before and fit "prison" theme better. I'll fully redesign him later and make a lot of changes to boss battle. I'll probably show as much as possible because I don't want to spoil anything for you. :D
This boss is very complex and has a lot of different states and reactions to the stuff you do. It would have been pretty hard to make it with script state machines, so cutscene/scripted sequence helps a lot. It becomes more and more complex and lets me do stuff I never imagined to do before. For example, now I can easily track how many times one or another action happened (for example, how many times someone said something to you), so I can make NPCs react in another way if you do something twice. That's pretty cool, but also very hard to make good. So I'm trying out different approaches and maybe I'll write an article about that later.
I hope you doesn´t make it too complex - because then i think u can´t finish this game (alone).
You make it better and better, but not only the engine have to run, also the story must be implemented.
Your work and this game is really great, but it would be a shame when it never comes out.  :'(

Elias Daler

  • Hero Member
  • *****
  • Posts: 602
    • View Profile
    • Blog
    • Email
Re:creation - a top down action adventure about undeads
« Reply #503 on: February 03, 2016, 08:51:57 am »
I hope you doesn´t make it too complex - because then i think u can´t finish this game (alone).
You make it better and better, but not only the engine have to run, also the story must be implemented.
Your work and this game is really great, but it would be a shame when it never comes out.  :'(
Thank you! I completely understand your concerns. I'll try not to make it all overly complex, I don't want to make simple game, but it won't be a game with 10+ hours of gameplay with tons of NPCs (I plan to have something like 6-8 hours). The engine work is almost done and it feels really great. I've spend only 2 days making a boss behaviour which would take me like a week before. This will be even faster in the future, because these two days weren't just about scripts, I had to add some stuff to script system which was missing. But as I add these features, I need to do it less and less.
I've yet to learn how to develop faster and be more pragmatic, but I think I'm getting better at that. :D

Just a quick note: I now realize even more stuff which script sequence system help me to solve and it leads to removal of lots of C++ code and less hardcoding. Feels really great. :D

I've also made CameraGoToAction which lets me scroll camera to specified entity. This works pretty funny: I create an invisible entity which camera follows just as it follows the player. Then I add AIComponent to it and set AISeekState which sets entity to go to another entity. But because the first entity is invisible, it looks like camera scrolls to the entity I specified.
This is a cool example of reusing my code without simple copy-paste. :D
Tomb Painter, Re:creation dev | eliasdaler.github.io | @EliasDaler | Tomb Painter dev log

Ungod

  • Newbie
  • *
  • Posts: 44
    • View Profile
Re:creation - a top down action adventure about undeads
« Reply #504 on: February 03, 2016, 11:21:55 pm »
How is the boss-progress going? Would like to see some gameplay. :)

Do you currently work full-time on your game?

etiennebp

  • Newbie
  • *
  • Posts: 1
    • View Profile
Re:creation - a top down action adventure about undeads
« Reply #505 on: February 04, 2016, 05:25:35 am »
Just wanted to say that I'm looking forward to playing this game. What you got going on is really cool and it has inspired me to build my own ECS engine. Cheers!

Tukimitzu

  • Full Member
  • ***
  • Posts: 117
  • Anti-Hero Member
    • View Profile
Re:creation - a top down action adventure about undeads
« Reply #506 on: February 05, 2016, 06:36:03 am »
Hey, dude, nice work!

I also share your love for ECS. And it's interesting to see a implementation different from mine.
I have 2 questions about your implementation:

1) Do you have/need communication between systems?

2) How do you handle events?

Thanks!

Elias Daler

  • Hero Member
  • *****
  • Posts: 602
    • View Profile
    • Blog
    • Email
Re:creation - a top down action adventure about undeads
« Reply #507 on: February 05, 2016, 09:13:01 am »
How is the boss-progress going? Would like to see some gameplay. :)

Do you currently work full-time on your game?
The boss development is doing great. I'm almost finished with it, just need to redraw everything, make some more states for the battle and make sure that the battle doesn't have bugs in it.
As for gameplay: I won't show boss battle to not spoil it. But I plan to make some new puzzles soon which I'll show (and also I'll maybe show improved battle system when I'll make it)

I don't work full-time on the game, because I have to do some other stuff (study math, read, spend time with family, etc.), but I'm getting much more time to work on the game than I normally do which is great.

Just wanted to say that I'm looking forward to playing this game. What you got going on is really cool and it has inspired me to build my own ECS engine. Cheers!
Thank you! Glad that it inspires you. This is turn inspires me. :)

Hey, dude, nice work!

I also share your love for ECS. And it's interesting to see a implementation different from mine.
I have 2 questions about your implementation:

1) Do you have/need communication between systems?

2) How do you handle events?

Thanks!
Thanks!

1) Yeah, I have some communication between them, but it's pretty minimal and is done with events. So, systems just send events to which everything (including other systems) may subscribe to and then handle as needed.

2) There's some info here: http://en.sfml-dev.org/forums/index.php?topic=18062.msg139016#msg139016
But feel free to ask more questions if you feel that this is not enough to see the whole picture. :)
Tomb Painter, Re:creation dev | eliasdaler.github.io | @EliasDaler | Tomb Painter dev log

Ungod

  • Newbie
  • *
  • Posts: 44
    • View Profile
Re:creation - a top down action adventure about undeads
« Reply #508 on: February 05, 2016, 10:45:12 am »
Its your decision, but many games chose a boss to include it in teaser-gameplay (e.g. see Dark Souls 3).

I don't want to make simple game, but it won't be a game with 10+ hours of gameplay with tons of NPCs (I plan to have something like 6-8 hours).

Just wondering about that. While 6-8 sounds enough for a 1-man-game, i would say that the time to create gameplay content (if the required tools are developed), is small in proportion to the overall dev-time. Your data-driven-philosophy should go hand in hand with that anyway.

You seem to be at a point in dev where you might want to plan the next years instead of a few month so how are your future plans? I could imagine some kind of episode-format?

Tukimitzu

  • Full Member
  • ***
  • Posts: 117
  • Anti-Hero Member
    • View Profile
Re:creation - a top down action adventure about undeads
« Reply #509 on: February 05, 2016, 05:30:45 pm »
1) Yeah, I have some communication between them, but it's pretty minimal and is done with events. So, systems just send events to which everything (including other systems) may subscribe to and then handle as needed.

2) There's some info here: http://en.sfml-dev.org/forums/index.php?topic=18062.msg139016#msg139016
But feel free to ask more questions if you feel that this is not enough to see the whole picture. :)

I see, the communication between my systems happens through events as well. As you said, it is minimal, but don't you think it is a big deal? I sure do. Maybe it's because I'm working on a turn-based strategy game, where events are essential.

I have another question, I don't know if you talked about it already somewhere: how about GUI? Are buttons and other GUI elements Entities as well?

 

anything