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

0 Members and 1 Guest are viewing this topic.

shadowmouse

  • Sr. Member
  • ****
  • Posts: 302
    • View Profile
Re:creation - a top down action rpg about undeads
« Reply #120 on: July 24, 2015, 06:37:35 pm »
To add on to dabbertorres' questions I have a few of my own.
With the name "Re:creation", where did the colon come from? I actually thought up until now that you'd put two colons as a sort of coding mini-easter egg of having the scope operator in the title, but I just reread it.
Also, if you're open to suggestions I have a few (I appreciate that you can't just put everything everyone thinks of into your game, but if you like any of the suggestions, then please use them).
Slightly changing an enemy's appearance when you possess them. Mainly for convenience if there is a large group of the same type of enemy then it would get confusing as they all look the same as the one you control. Maybe a different skin tone.
An enemy (maybe a wizard of some sort) that can be possessed and has special abilities which mean that you need to possess them, but slowly saps your health when you do.
Ghosts that can possess your body while you are in ghost form and use it to attack you.

Finally, I thought my previous posts of how amazing this is weren't enough so a few more things that I really like, especially about the recent update.
The little flick of the arrow when it hits something is brilliant. It's the tiny details that make games like this great.
The animation of the grave coming out of the ground is really smooth and in general the animation you've done is brilliant.
I'm not sure how, but you've actually managed to make a grass tile that doesn't look repetitive.
:D

Elias Daler

  • Hero Member
  • *****
  • Posts: 602
    • View Profile
    • Blog
    • Email
Re:creation - a top down action rpg about undeads
« Reply #121 on: July 24, 2015, 09:49:39 pm »
@dabbertorres Feel free to ask all types of questions here. Stuff gets lost on twitter, it's more accessible for other people there! :)
I've actually written the article about top-down drawing.
Here it is!
I've optimized it a bit. You can actually sort static (non-moving) objects by z-order only once they're created on the level. Dynamic (moving) objects need to be sorted each frame, and then you can quickly merge them with static object list in O(n) and then render it in the order which is explained in the article. If you have tons of moving objects, you may want to use grid partitioning to sort objects which are in one cell and then merge this stuff together.

With the name "Re:creation", where did the colon come from?
Ha-ha, I came up with this name when this game was a post-apocalyptic steam-punk rpg. So, it's kinda like someone said a reply to an e-mail with the subject "Creation".
 Lots of things have changed since then and I came up with a recreation mechanic. And I thought "Hey, this title still works!". As for colon: it has no meaning now. But I think it makes a game title more recognizable. I might change it someday to something like "The Recreation of Undead Knight" or "The Recreation of Undead *name of the hero*".

Slightly changing an enemy's appearance when you possess them. Mainly for convenience if there is a large group of the same type of enemy then it would get confusing as they all look the same as the one you control. Maybe a different skin tone.
It's already done. Maybe it isn't very obvious, but here's how normal and undead versions of the same NPC look like:


An enemy (maybe a wizard of some sort) that can be possessed and has special abilities which mean that you need to possess them, but slowly saps your health when you do.

That's a good idea :)

Ghosts that can possess your body while you are in ghost form and use it to attack you.

I've thought about it! :)
Maybe I'll come up with puzzles in which the player will have take care of his body, so nobody would be able to do harm to it. So you'd need to lock yourself in cells, block all paths with some objects, etc.! :D

Finally, I thought my previous posts of how amazing this is weren't enough so a few more things that I really like, especially about the recent update.
The little flick of the arrow when it hits something is brilliant. It's the tiny details that make games like this great.
The animation of the grave coming out of the ground is really smooth and in general the animation you've done is brilliant.
Thanks a lot! Sometimes I spend lots of time trying to fit those little details into tiny sprites. And it's worth it most of the time.

I'm not sure how, but you've actually managed to make a grass tile that doesn't look repetitive.
:D
Here's how.
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 rpg about undeads
« Reply #122 on: July 24, 2015, 10:31:56 pm »
Progress update

Here's a tileset I've been working on for the past week! (Do you recognize the painting? ;))

This is a house of Master of Recreation. He's the guy who will teach you the main principles of recreation and some combat stuff.
This tileset is quite reusable and I'll use it in other houses as most games do.

You can also go into buildings now.

This was quite interesting to make, because it involved attaching AIComponent to the player.
First, door's state is changed to "DoorOpenedState". Then I disable player's CollisionComponent (so he can go through houses's collision box). This is much more easier than making multiple collision boxes for houses.
Then a target inside the house is set and AI turns on, so the character walks in without player doing so. Then a transition effect happens and another target for AI is set and the character goes there. After he arrives at destination, AI turns off and  player can control the character again. CollisionComponent is enabled. Pretty easy and works perfectly well.
Tomb Painter, Re:creation dev | eliasdaler.github.io | @EliasDaler | Tomb Painter dev log

Hapax

  • Hero Member
  • *****
  • Posts: 3043
  • My number of posts is shown in hexadecimal.
    • View Profile
Re:creation - a top down action rpg about undeads
« Reply #123 on: July 25, 2015, 12:57:12 pm »
it's kinda like someone said a reply to an e-mail with the subject "Creation".
This is how I always thought it looked  ;)

You can also go into buildings now.

There's a pretty obvious tile edging visible in this GIF. When the player enters the building, the map moves to the right twice. The second time, a lot of vertical edges flash.

I'm impressed with the progress on this project. Good work  :)
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 rpg about undeads
« Reply #124 on: July 25, 2015, 01:17:35 pm »
There's a pretty obvious tile edging visible in this GIF. When the player enters the building, the map moves to the right twice. The second time, a lot of vertical edges flash.
Yeah, this is something I really need to fix. I think it's because the camera's sf::View  has non-integer coords. I have to find a way to make sprite stay in the center of the screen. (It shakes a lot if I just use std::round for sf::View's coords)

I'm impressed with the progress on this project. Good work  :)
Thanks a lot!
Tomb Painter, Re:creation dev | eliasdaler.github.io | @EliasDaler | Tomb Painter dev log

UroboroStudio

  • Newbie
  • *
  • Posts: 25
    • View Profile
    • Email
Re:creation - a top down action rpg about undeads
« Reply #125 on: July 25, 2015, 02:00:04 pm »
Great stuff over here!

I like this proyect, it reminds me the old school rpg but with modern ideas. Nice work!

The possesion mechanic is original and a lot of puzzles can be made around this.

Also, let me say, your code is very good and clean. Personally I don't like the composite pattern, I feel more natural and comfortable with hierarchy. But I see similarities in how approach the game structure.

In our game, we also do a z-order rendering but only with entities visible on screen, so we need to filter firts. The average map size is 8000x6000, with 15-25 rooms and 25-100 objects, depending of the room size. So yes, we need to filter the amount of entities to be drawn, and tilesets is the way to go.

Early in the development I used polimorphism to manage the differents enemy types, but adding LUA remove any need of polimorphism and the AI is purely made of lua scripts.

Also I like the way you managed the triggers and events in the game, is similar to ours, and this way is very flexible and customizable.

And believe me, as a programmer, I kwnow how hard and frustating can be doing your own art, but the results are worth it. Good job!

Keep it up!  :)

Lo-X

  • Hero Member
  • *****
  • Posts: 618
    • View Profile
    • My personal website, with CV, portfolio and projects
Re:creation - a top down action rpg about undeads
« Reply #126 on: July 25, 2015, 03:57:16 pm »
I'm so glad you keep us up to date with your project, specially when you provide tech stuff :) Awesome work

Elias Daler

  • Hero Member
  • *****
  • Posts: 602
    • View Profile
    • Blog
    • Email
Re:creation - a top down action rpg about undeads
« Reply #127 on: July 25, 2015, 05:44:03 pm »
@UroboroStudio Thanks a lot for you feedback! And thanks for providing info about your game.
Entity/component/system just makes it easier to create new types of objects with scripts only. No need to write classes, it's pretty cool. :)

@Lo-X Thanks! I'm glad to post updates too! :)

Also, here's a side attack animation I've made. It makes hits very satisfying!
Tomb Painter, Re:creation dev | eliasdaler.github.io | @EliasDaler | Tomb Painter dev log

Hapax

  • Hero Member
  • *****
  • Posts: 3043
  • My number of posts is shown in hexadecimal.
    • View Profile
Re:creation - a top down action rpg about undeads
« Reply #128 on: July 26, 2015, 01:41:29 am »
...tile edging...
Yeah, this is something I really need to fix. I think it's because the camera's sf::View  has non-integer coords. I have to find a way to make sprite stay in the center of the screen. (It shakes a lot if I just use std::round for sf::View's coords)
Have you considered pre-rendering to a render texture? Non-integer values can then be used without edging artifacts.
Selba Ward - SFML drawables
Kairos - Timing Library
Rectangular Boundary Collision - Rectangular SAT Collision

@Hapaxiation - Hapaxia on Twitter

FRex

  • Hero Member
  • *****
  • Posts: 1839
    • View Profile
    • My GitHub Page
    • Email
Re:creation - a top down action rpg about undeads
« Reply #129 on: July 26, 2015, 06:11:21 am »
Or you could try that renderer (evil self promotion :P): https://github.com/SFML/SFML/wiki/Source%3A-ShaderTileMap
ZipSavings, script to count rar/7z/zip savings: https://goo.gl/vvBj5M
LuaConsole: https://goo.gl/X4kRUk
FoxRaycaster: https://goo.gl/27nVS8
Small Games - Heart, Routing and Snek: https://goo.gl/15ZGWE https://goo.gl/k5gwWD https://goo.gl/4nKPnT
Botes - a notes app in Pascal: https://goo.gl/bzTqsi

Elias Daler

  • Hero Member
  • *****
  • Posts: 602
    • View Profile
    • Blog
    • Email
Re:creation - a top down action rpg about undeads
« Reply #130 on: July 27, 2015, 07:33:10 pm »
Have you considered pre-rendering to a render texture? Non-integer values can then be used without edging artifacts.
Just tried it. Works well most of the time, but there are some artifacts when the camera is shaking a lot. Pretty strange. Are there any examples of doing this properly?

Or you could try that renderer (evil self promotion :P): https://github.com/SFML/SFML/wiki/Source%3A-ShaderTileMap
Sorry, that would require changing lots of stuff I've already wrote :S
Tomb Painter, Re:creation dev | eliasdaler.github.io | @EliasDaler | Tomb Painter dev log

Hapax

  • Hero Member
  • *****
  • Posts: 3043
  • My number of posts is shown in hexadecimal.
    • View Profile
Re:creation - a top down action rpg about undeads
« Reply #131 on: July 27, 2015, 07:59:27 pm »
Have you considered pre-rendering to a render texture? Non-integer values can then be used without edging artifacts.
Just tried it. Works well most of the time, but there are some artifacts when the camera is shaking a lot. Pretty strange. Are there any examples of doing this properly?
I'm not sure there is much to do 'properly'  ;D
What artifacts are you getting? I'm assuming that you're rendering to integer values on a render texture and then displaying the render "sprite" at non-integer (if required) and applying camera shake to this sprite.
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 rpg about undeads
« Reply #132 on: July 28, 2015, 09:22:40 am »
Have you considered pre-rendering to a render texture? Non-integer values can then be used without edging artifacts.
Just tried it. Works well most of the time, but there are some artifacts when the camera is shaking a lot. Pretty strange. Are there any examples of doing this properly?
I'm not sure there is much to do 'properly'  ;D
What artifacts are you getting? I'm assuming that you're rendering to integer values on a render texture and then displaying the render "sprite" at non-integer (if required) and applying camera shake to this sprite.

Yes, I'm rendering to integer values and then randomly change view's position (non-integer coords).
I'll try it on a more simple examples, maybe I'm doing something wrong. :S
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 rpg about undeads
« Reply #133 on: August 01, 2015, 10:30:24 pm »
Nothing special to show off: I'm mostly refactoring my code and making some code a lot better :D
But I've made ladders today:

The perpective is quite off, so I'll be working on that!
Tomb Painter, Re:creation dev | eliasdaler.github.io | @EliasDaler | Tomb Painter dev log

Tank

  • SFML Team
  • Hero Member
  • *****
  • Posts: 1483
    • View Profile
    • Blog
    • Email
Re:creation - a top down action rpg about undeads
« Reply #134 on: August 03, 2015, 09:24:31 am »
I wonder that there's perspective at all. ;)