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

Author Topic: Eleutheromania - 2D RPG - Work in progress  (Read 10882 times)

0 Members and 1 Guest are viewing this topic.

Sleepless

  • Newbie
  • *
  • Posts: 9
    • View Profile
    • Email
Eleutheromania - 2D RPG - Work in progress
« on: January 31, 2014, 06:30:50 pm »
Eleutheromania
Hello and thank you for reading! I thought it would be fun to share my hobby project Eleutheromania with the SFML community. I'm from Sweden so please bare with me if my english is somewhat crude. I would also like to share some of my thoughts and design decisions, as I think it's a good way to identify what you've done wrong and what you've done right. Maybe someone here also can get some inspiration, who knows! I can be a bit of a rambler, so if this post is too long (tl;dr), let me know.

About the game
Eleutheromania is a 2D RPG game that is a work in progress. I've always loved old school RPG games such as Fallout 2 and Arcanum: Of Steamworks and Magic Obscura. What I want to do with Eleutheromania is to mix a big open world with the rich dialogues and flexible quests that can be found in such older RPGs. I also want to give the game a more realistic flavor by adding hunger, thirst and sleep to the game. This is not an easy undertaking for me but it's alot of fun and has been a real learning experience.

Also, to avoid confusion I just want to say that most of the graphics are the work of Reiner “Tiles” Prokein over at Reiner's tileset. I've used his work to fit my needs, and just made the GUI graphics from scratch myself. I'll add a link to his website in the thanks section.

Design
I like using SFML because it is easy to use, got good documentation and an active forum. I like that SFML leaves it up to me as the user to implement all of the game specific details, and does not force me into a specific design.

The world of Eleutheromania consist of world cells, and each cell contains 1000 * 1000 squares, but this number is flexible. I've written a map editor in C# using SFML.net and Winforms. The map editor is also a work in progress, but so far you can add tiles to the world grid in two layers, add static and dynamic actors, zoom in and out, and manipulate actors attributes, such as scale, name, faction etc. The world is saved in an SQL database using SQLite.net.

The Eleutheromania game client is written in C++ and uses SFML 2.1. As I couldn't find a free SQLite C++ wrapper with an acceptable license, I wrote my own. From the start of this project a core design feature has been extendibility and flexibility. I've therefore tried to make it as easy as possible to add new content to the game and to edit existing content. A "modder" can add new graphics, audio, NPC types, texts, fonts etc. without a deeper understanding of the game or programming in general. It is also possible to add new factions to the game and set up its relationship towards other factions.

Eleutheromania uses a event based script system, and Lua as the script language. An NPC for example, lets a script file determine how it should react to a certain event, such as seeing an ally in combat. This system makes the game easy to modify and fast, as all the heavy calculations are done in the native code. Abilities (and in the future, quests and items) also use a similar event based system. It also makes it possible to add new content to the game without the need to recompile the native code.

Earlier in the project I wanted to add physics to the game. I realized after a while that the AI pathfinding became hard to handle because of this, and the AI was already complex enough because of the way I had designed the game world (not fixing static objects to specific grid points etc.), so another problem like physics would be a big hassle. I therefore made the decision to not add physics.

The games AI uses the A* pathfinding algorithm. The algorithm checks against a generated sparse matrix for collisions. The matrix is generated from the worlds static actors and the world tiles. The collision detection in the game supports circles, rectangles and irregular objects consisting of triangles.

Video
http://youtu.be/PoL3KDFFrBU

Thanks
Thanks to Laurent Gomila for making SFML! I'd also like to thank the user Nexus for having Thor open-source. Your code taught me a lot about particle effects. A big thank you as well to Reiner “Tiles” Prokein at http://www.reinerstilesets.de/ for the graphics.

Contact
Feel free to contact me at contactsleeplesscoder@gmail.com.
I don't have a website or devblog, but it would be fun to write a website for Eleutheromania. If I do, I'll add a link here.
« Last Edit: January 31, 2014, 06:59:21 pm by Sleepless »

Mercy404

  • Newbie
  • *
  • Posts: 21
    • View Profile
Re: Eleutheromania - 2D RPG - Work in progress
« Reply #1 on: January 31, 2014, 06:42:12 pm »
Wow, that looks really impressive! How long have you been working on the project?

Also, I'm curious, what was wrong with the licenses of the available free SQLite wrappers? Are you going to release your wrapper under a more permissive license to fill the need?

Nexus

  • SFML Team
  • Hero Member
  • *****
  • Posts: 6259
  • Thor Developer
    • View Profile
    • Bromeon
Re: Eleutheromania - 2D RPG - Work in progress
« Reply #2 on: January 31, 2014, 06:48:27 pm »
Hey, your project looks very nice! The characters and animations are really well done, also the trees and houses look pretty good. I think the water and grass textures can be improved a bit (less repetitive and less saturated color), but maybe you want them to remind of a certain game.

Is there already a story about Eleutheromania, or are you currently focusing on the game mechanics and the editor?

Also nice to hear that my library Thor helped you :)
Zloxx II: action platformer
Thor Library: particle systems, animations, dot products, ...
SFML Game Development: first SFML book

Sleepless

  • Newbie
  • *
  • Posts: 9
    • View Profile
    • Email
Re: Eleutheromania - 2D RPG - Work in progress
« Reply #3 on: January 31, 2014, 07:26:31 pm »
I'm new to these forums, is it ok to reply to two people in the same post?

@Mercy404:
Thanks man! I started on this game about two years ago, but most of the progress has been made during summer and fall this year. It's been an on and off project :)

To be honest with you, it was quite a while ago since I wrote the C++ wrapper, but I think it was because I felt that alot of the wrappers had licenses that wanted you to have open-source or not for commercial use. As I only needed basic functionality for my game, I figured I just could write it myself and avoid them. I've not been thinking about releasing it actually. I guess I would need to test it a bit more rigorously then.

@Nexus
Hello and thanks for your kind words! Yea, I could not agree more with you, most of the objects looks good, but the tiles needs a good rework. As making graphics is not my strong side, I've been thinking about possible solutions for this. It's definitely something I want to change.

There is no story behind Eleutheromania yet, I got some ideas though :). Yes, right now I'm working on game mechanics. I want to add support for projectile based abilities, like fireballs, and to add items.

Thanks for sharing the code :)

AncientGrief

  • Newbie
  • *
  • Posts: 32
    • Yahoo Instant Messenger - what?
    • View Profile
Re: Eleutheromania - 2D RPG - Work in progress
« Reply #4 on: January 31, 2014, 08:56:47 pm »
Hi Sleepless,

I recognized reiner's tiles the second I saw your video :D Remember him back in the days @ clickzone :)

I like your game mechanics, the pathfinding looks really smooth :D And the overall feel is great.
I don't like the tile graphics (maybe because I know some of reiner's games) but besides that, it looks really promising :D Keep up the good work!!!

Regards,
AncientGrief
I grew up with C++...but then I met C#...got lazy...time to turn back to my one and only love!
My system:
Wintendo 10 with Intel i7 4770k
Palit GeForce GTX 980
16 GB RAM

AFS

  • Full Member
  • ***
  • Posts: 115
    • View Profile
Re: Eleutheromania - 2D RPG - Work in progress
« Reply #5 on: February 01, 2014, 04:39:30 am »
Fantastic work! The AI, the editor, everything  ;D

Just my opinion, but I think the night is way too dark/black. Perhaps you should try adding more blue? Asuming you are using "Sprite::setColor()" to archieve the effect, instead of using, say, "50,50,50" to make the sprites darker, use something like "70,70,100" to get a lighter and blueish night :P

Regardless, that's a damn fine job. Keep it up  ;)

Grimshaw

  • Hero Member
  • *****
  • Posts: 631
  • Nephilim SDK
    • View Profile
Re: Eleutheromania - 2D RPG - Work in progress
« Reply #6 on: February 01, 2014, 06:46:13 am »
This game immediately attracted my attention! Good to see a project in such a nice state. Can we try it ? :)

eXpl0it3r

  • SFML Team
  • Hero Member
  • *****
  • Posts: 9909
    • View Profile
    • development blog
    • Email
Re: Eleutheromania - 2D RPG - Work in progress
« Reply #7 on: February 01, 2014, 10:36:57 am »
This is awesome work, I really like it and hope you'll progress further! :)

Just my opinion, but I think the night is way too dark/black.
Just needs lighting and everything will look different. ;)
Official FAQ: https://www.sfml-dev.org/faq.php
Nightly Builds: https://www.nightlybuilds.ch/
——————————————————————
Dev Blog: https://dev.my-gate.net/
Thor: http://www.bromeon.ch/libraries/thor/

Sleepless

  • Newbie
  • *
  • Posts: 9
    • View Profile
    • Email
Re: Eleutheromania - 2D RPG - Work in progress
« Reply #8 on: February 01, 2014, 08:09:11 pm »
Wow, thanks to all of you for the great feedback! :)

@AncientGrief: I agree with you about the tile graphics, they sure need some work. I got some ideas for this that I want to try using shaders and bitmasks.

@AFS: Glad you like it! Adding some blue to the night would make it look more like a night with a full moon, good idea. Right now I'm using a simple pixel shader that changes the pixels color based on the games current time of day. The GUI layer renders after that pixel shader.

@Grimshaw: I need to fix some small stuff that I noticed while recording the little youtube video, and I'd like to finish the small harbor town I have planned a bit down south on the demo map. Another thing that kinda holds me back from releasing a little demo is that the melee system right now is a bit of a stub until the items are implemented into the game. With that the game will be updated with correct weapon range, weapon damage, correct dynamic actor body colliders for attacks and more mechanics of that sort. I'll upload a demo when I feel happy about this stuff :), I'm really glad you want to try it though!

@eXpl0it3r: Wow, thanks man! Let me tell you, all the nice responses from you guys have really given me a motivational boost!
« Last Edit: February 01, 2014, 09:17:39 pm by Sleepless »

AncientGrief

  • Newbie
  • *
  • Posts: 32
    • Yahoo Instant Messenger - what?
    • View Profile
Re: Eleutheromania - 2D RPG - Work in progress
« Reply #9 on: February 01, 2014, 11:29:24 pm »
@AncientGrief: I agree with you about the tile graphics, they sure need some work. I got some ideas for this that I want to try using shaders and bitmasks.

Yeah, but this can wait until the engine works :) I hate myself for being an "eye-person"...can't make something without looking good, even when I just managed to write 5 lines of code hehe.

Would like to see your results in the end :)
I grew up with C++...but then I met C#...got lazy...time to turn back to my one and only love!
My system:
Wintendo 10 with Intel i7 4770k
Palit GeForce GTX 980
16 GB RAM

Sleepless

  • Newbie
  • *
  • Posts: 9
    • View Profile
    • Email
Re: Eleutheromania - 2D RPG - Work in progress
« Reply #10 on: February 02, 2014, 08:13:56 pm »
@AncientGrief: Haha, I see what you mean :). Personally, if I have only written "backend" stuff for a long time, it's a nice change to write something that gives more of a direct visual result, so I usually go by what I feel is the most interesting thing to do at the time.

therocode

  • Full Member
  • ***
  • Posts: 125
    • View Profile
    • Development blog
Re: Eleutheromania - 2D RPG - Work in progress
« Reply #11 on: February 04, 2014, 06:24:23 pm »
Even if people have written it before me, I still want to say that the game looks great! Impressive work. :)

Azaral

  • Full Member
  • ***
  • Posts: 110
    • View Profile
Re: Eleutheromania - 2D RPG - Work in progress
« Reply #12 on: February 04, 2014, 06:28:04 pm »
Neat little game

Sleepless

  • Newbie
  • *
  • Posts: 9
    • View Profile
    • Email
Re: Eleutheromania - 2D RPG - Work in progress
« Reply #13 on: February 05, 2014, 02:56:27 pm »
@therocode: Thank you! Glad you like it :)

@Azaral: Thanks!

slucis7593

  • Newbie
  • *
  • Posts: 9
    • View Profile
    • Email
Re: Eleutheromania - 2D RPG - Work in progress
« Reply #14 on: May 10, 2014, 11:16:56 am »
Wow, your rpg game is very impressive!

I really love to make rpg game. :D
So, would anyone please give me some recommendation (Books, Website, Video, ...) about how to make a 2d rpg  game like this?

Thank you so much. (Sorry for my English is not good :()