SFML community forums

General => SFML projects => Topic started by: Ironbell on February 03, 2016, 06:18:42 pm

Title: Cendric: An RPG Platformer
Post by: Ironbell on February 03, 2016, 06:18:42 pm
(http://cendric.ch/download/196/title_img.png)

Cendric is an open source (https://github.com/tizian/Cendric2) RPG-Platformer game
where the player can explore a world by completing levels and solving quests.

(https://i.imgur.com/5WKFbF7.png)

1.0.4 Release (http://store.steampowered.com/app/681460/Cendric/) available at Steam for Windows / Mac / Linux
1.0.4 Release (https://ironbell.itch.io/cendric) available at Itch.io for Windows / Mac / Linux
1.0.4 Release (https://github.com/tizian/Cendric2/releases/tag/1.0.4) available at GitHub for Windows / Mac / Linux

Genre: RPG, Platformer, Puzzle
Platforms: Windows, Mac, Linux
Mode: Single Player
Languages: English, German, Swiss Germa
Libraries: SFML, TinyXML, LUA, LUABridge, SQLite

Main Features


(https://assets-cdn.github.com/images/modules/logos_page/GitHub-Mark.png) (http://www.github.com/tizian/Cendric2) (http://media.indiedb.com/images/global/indiedb.png) (http://www.indiedb.com/games/Cendric/) (https://www.fepblue.org/assets/img/twitter_button.png) (http://www.twitter.com/CendricGame/)(http://i.imgur.com/siUSGG8.png) (http://cendric.ch)
Title: Re: Cendric: An RPG Platformer
Post by: xylr117z4 on February 03, 2016, 06:24:43 pm
Looks pretty sick. I'll have to check it out when I get some spare time. I've always loved the idea of a top down map which lets the player explore and then having side scrolling levels which allow for awesome combat and gameplay.
Title: Re: Cendric: An RPG Platformer
Post by: Jabberwocky on February 03, 2016, 08:35:16 pm
Pretty impressive for a "learn c++" project.  :)
That water effect is particularly neat!
Title: Re: Cendric: An RPG Platformer
Post by: Ungod on February 03, 2016, 11:19:25 pm
I really like it. Would like to read more about it soon. :)

However, the code-layout looks okay but lacks comments. I generally dont like tons of <50 line files. You could merge some of them that are related to each other, especially when the code is well tested and wont be altered much more (no recompiling). But thats just a personal preference i think. Cant say much more about the code atm but it looks well working since the game seems to be far progressed.
Title: Re: Cendric: An RPG Platformer
Post by: Hapax on February 03, 2016, 11:37:42 pm
This looks really nice. I now remember seeing this in the screenshot thread but couldn't really tell what was going on in that shot.

I generally dont like tons of <50 line files. You could merge some of them that are related to each other
Treating objects to their own files doesn't really have any down-side, other than having to create include guards over and over...
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on February 05, 2016, 11:59:41 am
I'm glad you like it! Thanks for all your nice comments.

However, the code-layout looks okay but lacks comments.

You're right, it is not as well documented as it could be. I'm going to polish that when everything's more final. I skipped that mostly because of time reasons (I can't work full time on the project as I'm still studying) and because our very small team has no problems with understanding the code.

I generally dont like tons of <50 line files. You could merge some of them that are related to each other, especially when the code is well tested and wont be altered much more (no recompiling). But thats just a personal preference i think.

Yes, and I prefer to work small classes and files :)

I'm planning to implement two more types of blocks for the platformer part, an unstable block that will fall down after a small delay when the player jumps on it and moving platforms that really challenge me with their physics  ;D. I'll keep you updated with the progress.



Title: Re: Cendric: An RPG Platformer
Post by: Tukimitzu on February 05, 2016, 05:44:15 pm
Hey, nice water!
Title: Re: Cendric: An RPG Platformer
Post by: Kojay on February 05, 2016, 06:43:51 pm
This is very impressive.

Some minor notes on building:
To get it to compile on linux with gcc5.2 it was necessary to make some changes, namely
- forward declare Slotclone in InventoryEquipment.h
- take some iterators by copy instead of reference (auto rather than auto&)

Will be definitely following development!
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on February 05, 2016, 09:28:33 pm
Some minor notes on building:
To get it to compile on linux with gcc5.2 it was necessary to make some changes, namely
- forward declare Slotclone in InventoryEquipment.h
- take some iterators by copy instead of reference (auto rather than auto&)

Thank you for the catch! All the compiler errors are fixed now. We compile it from time to time on linux and mac systems to fix cross-platform issues, but didn't do so recently.

Hey, nice water!
Thanks  ;)
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on February 08, 2016, 07:25:31 pm
Moving platforms are coming to Cendric  ;D And with them, a lot of new possibilities for puzzles.

Implementing collision for those was the most challenging thing I've coded for the project so far, and it's still not 100% perfect, but we're working on it.

For now, the platforms have the following features:

(https://media.giphy.com/media/xT0BKiTGElMNUdEfRu/giphy.gif)
Title: Re: Cendric: An RPG Platformer
Post by: Jabberwocky on February 10, 2016, 01:34:01 pm
That physics stuff just screams out "use Box2D" to me.  But if it's for learning purposes, it makes sense to do it yourself.

Regardless, agree the platforms are cool and make for some interesting puzzle pieces!
Thanks for the update, Ironbell.
Title: Re: Cendric: An RPG Platformer
Post by: Kojay on February 10, 2016, 04:02:20 pm
That physics stuff just screams out "use Box2D" to me.  But if it's for learning purposes, it makes sense to do it yourself.

I am not convinced this is so straightforward. Box2D offers realistic physics, which is not the physics of classic retro platformers.
Title: Re: Cendric: An RPG Platformer
Post by: fallahn on February 10, 2016, 04:35:38 pm
That physics stuff just screams out "use Box2D" to me.  But if it's for learning purposes, it makes sense to do it yourself.

This (http://www.learn-cocos2d.com/2013/08/physics-engine-platformer-terrible-idea/) sums up quite nicely why I don't think box2D is the best platform physics solution, plus writing your own is fun! :D I have to say the physics (and the water) remind me a lot of this:

http://youtu.be/g574U0Zlyf8?t=37s

I guess we must read a lot of the same books ;)
Title: Re: Cendric: An RPG Platformer
Post by: Mortal on February 11, 2016, 01:40:34 am
it looks amazing, i remember this project from screenshot thread while ago, i was so sure it will be one of sfml success projects and it is. great job

the graphics and effects are pretty awesome, the water effect is special and looks fabulous. 

i would like to thank you for making this project open source it will help me and others to learn more about making games with sfml.
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on February 12, 2016, 02:35:52 pm
That physics stuff just screams out "use Box2D" to me.  But if it's for learning purposes, it makes sense to do it yourself.

This (http://www.learn-cocos2d.com/2013/08/physics-engine-platformer-terrible-idea/) sums up quite nicely why I don't think box2D is the best platform physics solution, plus writing your own is fun! :D

Agreed. I just read that article and I've stumbled upon most of the problems discussed there while implementing the collision logic, especially the paragraph about moving platforms. It was important to me to have it written at least once from scratch - you learn a lot and if you're going to code a similar game sometime in the future, you can still use a physics library (which you understand a lot better then, of course).

I have to say the physics (and the water) remind me a lot of this:

http://youtu.be/g574U0Zlyf8?t=37s

I guess we must read a lot of the same books ;)

Wow, that's your game, isn't it? Looks awesome, I'd love to see more :)

it looks amazing, i remember this project from screenshot thread while ago, i was so sure it will be one of sfml success projects and it is. great job

the graphics and effects are pretty awesome, the water effect is special and looks fabulous. 

i would like to thank you for making this project open source it will help me and others to learn more about making games with sfml.

Thanks for the motivation :) I really hope that we're able to finish this game. It's hard work and needs a lot of time, but I'm quite enthusiastic about it. It was also important to me to leave it open source, so people can have a look and profit themselves, even if its code is maybe not always the best example.
Title: Re: Cendric: An RPG Platformer
Post by: fallahn on February 13, 2016, 09:06:17 am

Wow, that's your game, isn't it? Looks awesome, I'd love to see more :)

Long abandoned unfortunately since I realised I should have built in networking from the ground up. (It is open source (https://github.com/fallahn/crush) though). Anyway you're doing a far better job, keep it up :)
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on February 14, 2016, 01:06:38 pm

Long abandoned unfortunately since I realised I should have built in networking from the ground up.

I know that feeling, sometimes I just want to throw everything over and start again, but that's just too late now :).

Progress update:
Unstable blocks are implemented! I think that we will reduce the time these blocks are shaking before they fall. They are - of course - highly inspired by the donut blocks of some Super Mario games.
 
(https://media.giphy.com/media/26FPzxiZNJDObXvb2/giphy.gif)
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on February 21, 2016, 12:00:07 am
I did a lot of art this week for Cendric as we will finally start with the game's story and level design.

Our hero has to face this monstrous cat - a welcome change to the rats you've seen so far.
(https://media.giphy.com/media/xT0BKspS3AvmPIEuGY/giphy.gif)

Still, I couldn't keep my hands of programming. The enemies (and npcs) in the game have learned some serious platforming skills. Previously, they only "guessed" whether they could do a jump or not. Now, they send a "ghost" to check where and how they land if they do a jump or walk over a cliff. We also thought about using algorithms like A* to solve this problem, but pre-calculating jumps is not a good solution for Cendric as the levels collidable regions are not static.

(https://media.giphy.com/media/26FPF8ySXoHb47HRm/giphy.gif)

This is going to be the tutorial level where you learn that some blocks can be destroyed. The speech bubbles are also a new feature, but it is not finished yet.
Title: Re: Cendric: An RPG Platformer
Post by: AncientGrief on February 21, 2016, 12:04:53 am
I am really impressed!!!

And reading that you are writing the physics stuff yourself makes it even more awesome!

I like the idea, and the graphics! I am jealous  :-[ ;D

Keep up the good work!

PRE-EDIT:
I just wanted to post this and you just updated this thread!...WTF, the AI algorithm looks awesome :D
The "Ghost" thing is something I always wanted to implement myself, but never had time for it! Looks great!

The "Cat" looks cool :D Reminds me of Sesshomaru  :D

Does the AI calculation slow down the game or is it just the recording software or my computer?! Seems laggy a bit...
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on February 21, 2016, 12:14:45 am
Thanks  ;D

The "Cat" looks cool :D Reminds me of Sesshomaru  :D

Oh my god, you recognized it! He really was my inspiration, this monster is a mix between him and Kirara ;)

Does the AI calculation slow down the game or is it just the recording software or my computer?! Seems laggy a bit...

It is the recording software (screen to gif), its compression also messes a bit with the colors. The fps in this scene on my computer is still 60 (limited by vsync)

Title: Re: Cendric: An RPG Platformer
Post by: AncientGrief on February 21, 2016, 12:24:12 am
Oh my god, you recognized it! He really was my inspiration, this monster is a mix between him and Kirara ;)

Hehe, that explains the stripes, i guess :D I remember playing Inuyasha:  A Feudal Fairy Tale on the PS1 ... the series and games gave me some ideas back then, great to see I am not alone with this :D too bad I suck @ pixeling ...  :(

Can't wait to see this "monster" in action ê.ê

It is the recording software (screen to gif), its compression also messes a bit with the colors. The fps in this scene on my computer is still 60 (limited by vsync)

Okay, I see, maybe switching to YouTube (Fraps/DxTory + MeGui h.256) to get rid of the stuttering is an idea?
Anyway, I like how your game evolves!!!
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on March 08, 2016, 12:31:25 am
Progress Update

We've accomplished a lot of things for Cendric in the last two weeks as we've finally moved on from testing the engine to actually developing the game itself. Our first pre-alpha build (0.1.0) is pretty outdated and we wanted to compile the game in its current state as a test. The binaries of 0.2.0 for Windows and Linux (Ubuntu) can be found on Github: https://github.com/tizian/Cendric2/releases (https://github.com/tizian/Cendric2/releases). If you wish to play it on a Mac, you'll  have to compile it yourself (it's actually compiling, we've tested that) You can download them for your platform and play through the tutorial of Cendric.

In the tutorial, you can see the four first quests, of which three are solvable. The map is not finished and it's really just a sneak peek into the game. There are three levels in the current build, one tutorial level, one "real" level and one level that's just there for fun and will be extended later. As this is just the tutorial and the beginning of the game, you only have a beginner weapon and the default spell. If you want to see more items and all spells, you can load the savegame "Elemental Power" but be aware that this is a major spoiler as all spells and spell modifiers are unlocked and there are items in your inventory that you should not have yet. But if you're not interested in the story and only want to see some gameplay mechanics, feel free to load that game.

New Features


Cutscenes
A simple cutscene format, where you can define the texts that get displayed and an arbitrary number of images that move with a certain velocity and angle, to create a parallax effect. The cutscene you see in the game is very scetchy and only a placeholder.

New GUI Elements
The GUI has a new look and feel! We've implemented "arrow-selector" buttons (seriously, what's the proper name for this kind of button? See below) for the options screen and redesigned the tab buttons in the quest journal, inventory and spell book, to get a more homogeneous looking GUI.

(http://i.imgur.com/vZFtv7h.png)

Bitmap Text update
We don't use TTF but our selfmade bitmap fonts. To make the text more visible, we've added a shadowed version. To avoid aliasing problems with the font, we've made a 8px and a 12px font.

Hints
Our first intention was NOT to have hints in this game to make it harder. But, we've realized that it may be a better idea to have them and for the "hardcore" gamers who despise hints, there is still an option to turn it off.

Screen Overlays
Screen overlays that fade in and out give the game a nice touch. We've used them for location texts, quest state changes and hints.

Items with permanent boni
The consumable items in Cendric act as a buff, they can be consumed in a level and strengthen the player for a certain time. Permanent items add permanent attribute boni to the character.

Screenshot function
Using the built-in function from SFML, we've included it into our game.

Scripted enemy behavior
A scripted (lua) enemy behavior can be fed into the engine. The hunter in the tutorial level with his speech bubbles is such an example and we hope that we can also implement the logic for boss fights using lua.

New items, quests and NPCs
Just take a look :)

If you find any bugs or have other suggestions, feel free to write, we appreciate any feedback :)
Title: AW: Cendric: An RPG Platformer
Post by: eXpl0it3r on March 08, 2016, 08:25:13 am
Cool! :)

Too bad it didn't came out before the weekend when I wrote my blog post (https://dev.my-gate.net/2016/03/05/sfml-games-february-2016/) mentioning you guys. ;)
Guess I'll have to mention the project again next time.
Title: Re: Cendric: An RPG Platformer
Post by: SeriousITGuy on March 08, 2016, 10:28:58 am
I just wanted to give you a quick shoutout that I really like what I see. The two different game perspectives for world and dungeon are a real cool idea. It also looks polished to some degree, which is a heavy acomplishment for indie/Hobby devs ;)
Keep up the work.

p.s. You may look into OpenBroadcaster for screen recording, it's available for all common OS'es
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on March 08, 2016, 01:34:23 pm
Cool! :)

Too bad it didn't came out before the weekend when I wrote my blog post (https://dev.my-gate.net/2016/03/05/sfml-games-february-2016/) mentioning you guys. ;)
Guess I'll have to mention the project again next time.

Shame on me, I missed that blog post! I'm not spending much time on Twitter as I was pretty busy the last few days  ;) Nice blog btw, I feel honored and will follow your blog from now on :)

I just wanted to give you a quick shoutout that I really like what I see. The two different game perspectives for world and dungeon are a real cool idea. It also looks polished to some degree, which is a heavy acomplishment for indie/Hobby devs ;)
Keep up the work.

p.s. You may look into OpenBroadcaster for screen recording, it's available for all common OS'es

Thanks! Yeah, using the demo version of Fraps was not the best idea for that video. You can see the "lags" when I had to start a new capture (captures in the demo version can only be up to 30s long). I think the full version of Fraps would be nice, but I'm going to check out OpenBroadcaster for my next recording.

Update

After a long night of intense .app building, my Cendric-buddy Tiz managed to finish the Mac version of 0.2.0 ;D. It's also available on the Github Release page.
Title: Re: Cendric: An RPG Platformer
Post by: eXpl0it3r on March 08, 2016, 11:12:46 pm
Nice blog btw, I feel honored and will follow your blog from now on :)
Thanks! I hope to get a bit more active again.

I'm going to check out OpenBroadcaster for my next recording.
I can recommend OBS as well. Keep in mind though that there are now two versions available. Open Broadcaster Software and Open Broadcaster Studio, both do essentially the same, the later is also available for OS X and Linux, and is still in heavy development.


I just played around a bit with 2.0 and I really like it! The quests already made my intrigued (who's the elderly in the village!?! ;)). Here is some feedback - I'm sure some of the stuff you've already thought of.

Currently mouse and keyboard are in my opinion quite mixed in regards to the tasks they do. For the beginner I think it would be a lot easier, if there was more of a separation. Meaning the mouse can do these 5 actions and the 5 actions are "similar" or it just makes sense to use a mouse for them. And everything else is done with the keyboard.
Right now it's just confusing and makes me try random combinations, e.g. Does left click work? Does right click work? How about F? Or maybe E? If the use cases for mouse and keyboard where clearly defined, it would lead to less guessing.
However you might still leave all the possibilities open with custom key bindings. ;)

I hope these points help! :)

Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on March 08, 2016, 11:41:56 pm
Thanks for testing  ;D These are valid concerns.


 Here is some feedback - I'm sure some of the stuff you've already thought of.

  • After the intro some small hint regarding the movement with arrows/WASD would be interesting, because some might try and click around with the mouse.
You're right. As we already have hints, this would be an easy thing to add. The problem and reason why we don't have this yet  is that you get a little overwhelmed with all the hints in the beginning and the second thing you do after trying to move with the mouse is probably using WASD or the arrow keys anyway.

  • The first mission didn't trigger nicely. I walked into the other guy, then into some stones and then randomly it started.
The stones with the torch on top is the entry for that level. You can enter that level after you've talked to the first guy and then he will walk there and you have to follow. If you just run there alone after having talked to him, it will also start. Maybe we should "open" the level only after the hunter has walked to the entry.

  • The trigger for the hint regarding "press W to leave the level" (paraphrased) also showed up when I was on the platform above the exit. Might want to narrow the trigger area.
There is no trigger area, the hint appears after the npc leaves the level, so that you can follow. We might want to change that, though.

  • How you actually use the stick is not really explained (left click or F key)
There is a hint in the beginning of the level on how to use the stick (F key)

  • How you can pickup things is not explained
True, we can add that.

  • The lines of text in the dialog boxes are nearly a bit too long. Makes it harder to follow.
I've already thought about that and I agree. Will be changed :)

  • It's currently not clear from the visuals on the map where you can walk and where not, plus the collision grid needs to be a bit more granular, i.e. you can get "randomly" stuck quite a bit.
The game has a very efficient collision grid (a boolean matrix, O(1) lookup). For the map, this might be too chunky. We will change that in the future, still using the grid but with a higher resolution.

  • The ESC key should close dialog fields, i.e. the fireplace dialog field
I just implemented that, thanks :)

Currently mouse and keyboard are in my opinion quite mixed in regards to the tasks they do. For the beginner I think it would be a lot easier, if there was more of a separation. Meaning the mouse can do these 5 actions and the 5 actions are "similar" or it just makes sense to use a mouse for them. And everything else is done with the keyboard.
Right now it's just confusing and makes me try random combinations, e.g. Does left click work? Does right click work? How about F? Or maybe E? If the use cases for mouse and keyboard where clearly defined, it would lead to less guessing.
However you might still leave all the possibilities open with custom key bindings. ;)

The mouse is there to pickup things / interact with npcs and switches and for aiming spells. All these things need  the accuracy of the mouse  (especially aiming, the other things could be implemented with keys when you are "standing on them" but this seems cumbersome to me).

All other tasks are on the keyboard. We tried to do as much as possible on the keyboard. That you can click to execute a spell that has no target or to choose a dialogue option is only for convenience, all these things can also be accomplished by only the keyboard. Maybe I exaggerated a bit by assigning many keys to the same function (to skip the intro, you could press Esc, Enter or Space; to choose a dialogue option you could use W/S, the arrows, a left click or the scrolling wheel).


I hope these points help! :)
They do :D
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on March 23, 2016, 07:44:43 pm
Progress Update

After the first alpha release with content, we fixed a lot of small issues in the game, based on tester feedback.
And, we went on with development, of course.

New tiles (and enemies)

Falling, spikey tiles, inspired from the thwomp tiles from Super Mario.

(https://media.giphy.com/media/3osxYxAXI6ILJZHqNy/giphy.gif)

Books, which can be read (with a very interesting content)

(https://media.giphy.com/media/3osxYzzE1d3KWix6RW/giphy.gif)

A few new levels

(click to show/hide)

Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on April 22, 2016, 09:31:20 pm
Cendric Pre-Alpha 0.2.1 Release

Hey all.
We're working like crazy on this project and I finally found time to make a new release and update this thread.

News & Features
(http://i.imgur.com/8QtjWUd.png)
(https://media.giphy.com/media/l0DELiR5dVPg0hGne/giphy.gif)


If you're interested to play through the roughly 20-30min of gameplay we already have, go and get it @ Github:
https://github.com/tizian/Cendric2/releases/tag/v0.2.1

Feedback is always highly appreciated!

Cheers,
Team Cendric
Title: Re: Cendric: An RPG Platformer
Post by: eXpl0it3r on April 23, 2016, 12:37:33 am
Awesome! :)

It's downloading now, I'll be back with some feedback later on.
Title: Re: Cendric: An RPG Platformer
Post by: Tukimitzu on April 23, 2016, 03:17:56 am
MSVCP140.dll missing from Cendric_v0.2.1_win64.

EDIT: Ah, I didn't read the Important Notes.
Title: Re: Cendric: An RPG Platformer
Post by: Tukimitzu on April 23, 2016, 04:01:49 am
I've made a platformer where you controlled a pokemon trainer and your pokemons follow you around, like your NPC on the gif does, so I have a suggestion on how you can make it more smoothly.

I had an object called MoveInstruction that stored:
- The position x,y where the action occured.
- The action (jump, go down, go left or go right).

The pokemons had a list of MoveInstructions, but these instructions were only used for "mid-air" behavior. By default (meaning if the list of move instructions is empty), the pokemon would just see where is the coordinate x of his master, set that as a target and move towards it.

Whenever the master jumps or goes down, the master sent a MoveInstruction with the coordinate where the action occurred and while master is in mid-air, he kept sending MoveInstructions whenever left/right was pressed. The follower would go towards that coordinate and perform the same action, and while in air, it would move exactly like the master did. When master landed, it would stop sending instructions to the follower and when the follower landed it would resume the default behavior described above. Cycle continues.

I was very happy with the results, the followers would move like pros.
Title: Re: Cendric: An RPG Platformer
Post by: eXpl0it3r on April 24, 2016, 12:05:23 am
Long day, so I only got to play through part of it, so here's a list of things I noticed:

I'm not sure how "finalized" your dialog scripts are, but I've noticed quite a few English mistakes, maybe have some native speaker (or some English "teacher") look over them at some point. I'll share my points (so far) regardless. If you think this is helpful as well, I can look more closely in the future as well.

After you've received your first spell thingy, I think it would be important to teach people how to use the "spell dialog" and it might be even better for the first spell to give all the needed "ingredients", just so one can get familiar with the concept.

A final questions: Will the character that you move around in the top-down map adapt to the look of the play during platformers? For example displaying the Hawthorn or some new "armor" etc.

I really enjoy it and will be looking forward to play some more of it. Keep up the awesome work!
Title: Re: Cendric: An RPG Platformer
Post by: shadowmouse on April 24, 2016, 10:39:27 am
With your grammar corrections, 'as you've come here' is fine as long as it is being used to mean 'because you've come here', otherwise it should be 'as you came here' if it means 'while you came here'. Also 'you've drunk too much' is grammatically fine, although 'you drank too much' is also correct. The former seems more correct if you are telling someone before they have finished drinking (or maybe shortly after), whereas the latter refers to a finished activity from the past. Of course, I may be wrong, but you did say get a native speaker to go over it, so I thought I'd try and help.
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on April 24, 2016, 01:19:44 pm
@Tukimitzu Thank you for your suggestion! I've looked over your algorithm and it seems like a good idea - unless you have a level with a collidable grid that can change. What about Cendric jumps off a block that gets destroyed shortly after? The follower npc can't reconstruct the jump then. We were in need of an AI algorithm that is able to handle a changing environment.

@eXpl0it3r Wow, another list of very useful and detailed feedback! Thank you so much.

  • The help dialogs for opening the journal or the inventory don't disappear fast enough, so for a little while you get the dialog overlaying the journal/inventory window or the other way around.
  • There's only a hint to use F to chop things, but not hint, that you can also use the left mouse button.
  • While I like the font, the small "g" does look a lot like the small "s", which can make the text harder to read.
  • When you click on the Waypoint it mentions that you can teleport back to it whenever you want, but it doesn't explain how you can teleport.
  • After you've received your first spell thingy, I think it would be important to teach people how to use the "spell dialog" and it might be even better for the first spell to give all the needed "ingredients", just so one can get familiar with the concept.
Very good points. We're already on it!

  • It feels a bit odd, that when hovering with the mouse over the provided answers during a conversation there's no reaction. I'd expect that the answer is being select or that I at least get a highlight, so I know that I can select this option by clicking.
Well, we can't do a select on mouseover, because the scrolling also works over the up/down (arrow or W/S) keys. But we'll try how it looks and feels with a highlight.

  • The entrances and exits in a platformer level are often not very clearly displayed. Since they are not consistent across all levels, this may be tricky for people to understand/recognize.
I agree, but that's also part of the gameplay. It also opens the possibility to have  something like hidden levels - like the Pokémon games with the high grass - suddenly, you're in a level! (Choosing the wrong dialogue option can also open a level, so those level entries are not consistent at all.)
[edit] Ah, you meant the exits *inside* a platformer level. Yes, maybe we could add some up-arrow when you're standing in front of them to signalize that it is an exit? (like some Mario games, when I remember correctly). I think about something like that. Thanks.

  • In the cutscene with the Elder, Cendric freezes water at the end, but it's not clear where that water came from. Maybe make the Elder offer some water to Cendric first.
Yes, the mysterious water. The cutscenes are not final yet, and when reworking them, I keep that in mind :)

I'm not sure how "finalized" your dialog scripts are, but I've noticed quite a few English mistakes, maybe have some native speaker (or some English "teacher") look over them at some point.

They are not yet "finalized" but we already have someone that is going to proofread them. Thank you and also shadowmouse for your inputs, they help a lot.

A final questions: Will the character that you move around in the top-down map adapt to the look of the play during platformers? For example displaying the Hawthorn or some new "armor" etc.

It was not planned in the beginning - creating those sprites is a lot of work as we're going to have at least 50 equipment items. It would also mean that we have to change the dialogue sprite when you're wearing another  hat, for example. But when I find time... why not :)

Thank you again for testing! It really means a lot to us.  ;D
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on May 09, 2016, 02:59:24 pm
Progress Update

I just wanted to throw a quick progress update into this thread. The game's content is evolving, but rather slowly, as we still rather like to code new features for the engine :D

Level exit markers
We added a level exit marker for the platformer part of the game. It was not really clear before where the player could leave the level as eXpl0it3r pointed out.

Signs

A small but neat feature that allows to place signs, sign posts etc on a level or a map.

(https://media.giphy.com/media/l396VmekVD9QXsN0I/giphy.gif)

Interaction
We decided to rework the interaction of the game to make it less point-and-click-ish and more convenient for the player. Interactions (such as item pickup, reading a book, talking to a NPC, toggling a lever, activating a checkpoint, looting an enemy...) can now be executed using a keyboard key and not only the mouse. The nearest object that can be  interacted with gets highlighted.

(http://i.imgur.com/wU5LAUs.png)

Shooting tiles
Not exactly enemies, but level objects that shoot spells. Examples are fire flowers like you know them from Mario. They can be destroyed by the player with two hits, but will respawn after a certain time.

(https://media.giphy.com/media/3o7qDYGpsrCJXZRsas/giphy.gif)

Fog of War
We decided that the player shouldn't see the whole map from the beginning  ;)

(http://i.imgur.com/0H7B6fX.png)

Weather System
Using our particles, we are able to let it rain or snow in a level or a map. Weather conditions are triggered like other game conditions - choosing the wrong dialogue option might let it rain or darken a map, so better be cautious.

(https://media.giphy.com/media/3o7qE5YJA5JH10gbpC/giphy.gif)

Level, map, enemies
After the first map of the game is finished, we'll build another alpha release to show you the new content - but this is going to take at least another month. But here's a content sneak peek:

(https://media.giphy.com/media/l396R2sJwiKvVFPOM/giphy.gif)

(http://i.imgur.com/3R9DaZj.png)

(http://i.imgur.com/tpLayex.png)

Cheers  ;D
Title: Re: Cendric: An RPG Platformer
Post by: Brax on May 09, 2016, 03:41:23 pm
It looks gorgeous. :D
Title: Re: Cendric: An RPG Platformer
Post by: Jesper Juhl on May 09, 2016, 05:09:28 pm
Absolutely beautiful.
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on July 04, 2016, 11:03:16 pm
Progress Update and Demo Release

Hey guys!
We're back with a progress update for Cendric.

(https://media.giphy.com/media/l0HlDZXvYZ9SZhePC/giphy.gif)

Change Log


(https://media.giphy.com/media/l0HlC49WgEcMxK1m8/giphy.gif)

If you feel like you want to try this all out, get your demo release at Github:
https://github.com/tizian/Cendric2/releases/tag/v0.3.0 (https://github.com/tizian/Cendric2/releases/tag/v0.3.0)

You can use your old save files, but read the important notes on Github on where to copy them.

Feedback is highly appreciated! One thing we'd really like to know, is whether the "boss" of this chapter is beatable or too hard. Who makes it till this monster really deserves a cookie  ;D

Cheers
Title: Re: Cendric: An RPG Platformer
Post by: eXpl0it3r on July 10, 2016, 09:48:48 pm
"Thanks for playing!" :D
(Total play time roughly 1.5h)

First off some big negative points:


Okay, okay now some more serious feedback, some I've already sent you, but I'll include it for completeness sake. ;)

(Intro) cutscene
Levels

World

UI
This is more a general thought. For me it's a bit confusing that I have to use two different UIs for inventory stuff and spell stuff. The confusing part is not the UI, but the fact that I can't easily switch from equipping something to adding a spell. Have you ever thought about having something like tabs (top) or bookmarks (on the side) where you can easily switch between the different interfaces? Like have some clickable icons there and you can switch between, inventory, spell stuff and journal?

Menu

Crash
After all this here a few things that I really like. :)
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on July 11, 2016, 02:49:07 am
Wow, thank you again for your very detailed and useful feedback, we really appreciate what you do for this game. We have already implemented/fixed half of the issues you mentioned:

Fixed
  • The AI seems to like living on the edge: http://i.imgur.com/sjutwQM.png :D Adjusted bounding box
  • When you have the inventory open you can still attack even when you click on the non-interactive UI elements. Maybe attacking while clicking on the game space is fine, but IMHO click "through" the UI feels a bit This is no longer possible
  • The information that you can't equip items inside a level only shows when you try to unequip something and not when you try to equip it. The information will show now
  • Why exactly are there two check points? Seems a bit odd: http://i.imgur.com/qzULIvQ.png Fixed
  • Bridge collision path seems a bit off. Like in the picture I'm standing perfectly on the bridge, but I can't move over it in that position: http://i.imgur.com/VsqHHQR.png Fixed
  • Would be great if the save games were sorted after the date with (newest at the top) Done. Also: Autosave and an option to continue with newest game when it is restarted.

Regarding the jaggy cutscenes, I don't really see what we could change here. The way it's implemented is as follows
cutsceneImage.setPosition(oldPosition + velocity * frameTime.asSeconds());
Where the cutsceneImage is of type
sf::Sprite
Do you mean we should round this float vector to an int vector first and then set the position?

Maybe I clicked too fast, but for me it wasn't clear that I needed to bring multiple and different meat types to the wolf-man. Also not sure why it failed.

The quest failed because you attacked the NPC. Quests can be viewed in detail in the quest log (open with J, for Journal). I think we should add a hint for the quest log. Expecting the user to try out every key or to take a look at the keybindings is maybe not the best thing to do.

Why can Visps sometimes shoot through platforms and sometimes they can't?

They always can (their spell ignores colliders), but maybe they just choose not to.  :P No, but seriously, did a collider stop their spells?

And regarding the boss, we'll work on it. It's a fine line between challenging and frustrating. Maybe the player could get some hints or information about the bossfight from other things, for example, signs or documents.

"Thanks for playing!" :D

Yeah, thank you :D. We are going to check/think about your other points as soon as possible. And keep you posted. ;)


Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on August 06, 2016, 09:39:32 pm
Short Progress Update

For the last few days, we were working on a tool to make the process of creating dialogues easier. To accomplish this, we've  used ImGui and the nice ImGui-SFML binding from Elias (great work btw!  ;))

Here's a screenshot of the tool in action:
(http://i.imgur.com/xDHP337.png)

The tool is not yet very polished, but creating dialogues already takes less time. It's funny to write c++ code that writes (SQL scripts and) a Lua script that, again, links to c++ code. May seem redundant but in the end, it was worth it :)

Meanwhile, the progress of the content got delayed a bit because of the tool, but we're still on it!
(http://i.imgur.com/GLPzvPR.jpg)

Cheers :)
Title: Re: Cendric: An RPG Platformer
Post by: CleverBoy on August 20, 2016, 03:38:19 pm
Hi,

Really a wonderful game and I am looking forward to learn from it.  Trying to compile on Ubuntu and managed to resolve some of the errors. Now I gave up and thought some one can help me here. I copied the imgui header files in the include directory and after running make, I am getting this error.

/home/git/Cendric2/tools/DialogueTool/src/GUI/LogWindow.cpp:14:44: error: invalid initialization of reference of type ‘const ImVec4&’ from expression of type ‘sf::Color’
   ImGui::PushStyleColor(ImGuiCol_Text, log.second);
                                            ^
In file included from /home/git/Cendric2/tools/DialogueTool/include/global.h:3:0,
                 from /home/git/Cendric2/tools/DialogueTool/include/GUI/LogWindow.h:3,
                 from /home/git/Cendric2/tools/DialogueTool/src/GUI/LogWindow.cpp:1:
/home/git/Cendric2/tools/DialogueTool/include/imgui.h:177:29: note: in passing argument 2 of ‘void ImGui::PushStyleColor(ImGuiCol, const ImVec4&)’
     IMGUI_API void          PushStyleColor(ImGuiCol idx, const ImVec4& col);
                             ^
/home/git/Cendric2/tools/DialogueTool/src/GUI/LogWindow.cpp:15:39: warning: format not a string literal and no format arguments [-Wformat-security]
   ImGui::TextWrapped(log.first.c_str());
                                       ^
CMakeFiles/DialogueTool.dir/build.make:182: recipe for target 'CMakeFiles/DialogueTool.dir/tools/DialogueTool/src/GUI/LogWindow.cpp.o' failed
make[2]: *** [CMakeFiles/DialogueTool.dir/tools/DialogueTool/src/GUI/LogWindow.cpp.o] Error 1
CMakeFiles/Makefile2:109: recipe for target 'CMakeFiles/DialogueTool.dir/all' failed
make[1]: *** [CMakeFiles/DialogueTool.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on August 24, 2016, 07:29:45 pm
Hi CleverBoy, thanks for checking it out!

The error you experience is due to the fact that there are currently two projects packed into that repository. One of them is the game itself (Cendric) and the other one is the dialogue tool I mentioned above. The dialogue tool is only built for Windows (it also runs on Mac, but not Linux), because it is a dev-tool and we don't really use Linux to develop the game.

You can just switch it off by changing the cmake option in the CMakeLists.txt to

option(CENDRIC_BUILD_DIALOGUE_TOOL "Build Dialogue Tool?"OFF)

It won't influence the compilation of the main project. I hope this helps.  :)
Title: Re: Cendric: An RPG Platformer
Post by: CleverBoy on August 26, 2016, 04:57:39 pm
Perfect Thank you!  Enjoyed playing it and thanks for making it. Lovely art as well...
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on September 10, 2016, 03:48:28 pm
Thanks for the nice words CleverBoy  :)

Hey all, we're back with another
Progress Update
for Cendric!

First of all, I'm proud to announce that our team has grown. While there are still only two people working on code, sprites and content, we've found

Regarding the game's progress, we've been working on a new mechanic. As we have a thief guild, we wanted to have some sort of stealing in the game, which turned out to be rather challenging in a platformer game.
To solve this problem, we've added so-called "observer spells" that look like eyes and float around in houses where thieves are unwanted. If the player tries to steal something while such an eye is watching, he will be sent to jail. The eyes have a predefined path and the thief has to steal the items without being seen.

(https://media.giphy.com/media/3o6ZtrlAzEVasvlu36/giphy.gif)
An observer spell

The whole jail-thing then opened a wholly new challenge. How to get out? Will there be different paths? Is it beneficial to get caught?

(http://i.imgur.com/dSvkZlQ.png)

Well, it surely isn't a nice place. The player will have to work in the mines until he has enough gold to redeem himself. If he's lucky, he  can get more gold by gambling with a fellow prisoner. And yes, there are other possibilities to get out :)

(https://media.giphy.com/media/l0HlNR8mNtDKxnmjS/giphy.gif)

Title: Re: Cendric: An RPG Platformer
Post by: MrOnlineCoder on October 09, 2016, 12:19:59 pm
Very good work. But when I tried to save a game, I saw an "Operation failed" message. How to fix this?
Title: AW: Cendric: An RPG Platformer
Post by: eXpl0it3r on October 09, 2016, 12:25:40 pm
Where did you copy the game? Are the directories writable?
Title: Re: Cendric: An RPG Platformer
Post by: MrOnlineCoder on October 09, 2016, 03:28:56 pm
Yep. I downloaded just to my games folder on data drive ( not system)
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on October 10, 2016, 01:43:25 am
Which version did you play and on which OS? The 0.3.0 stores the save files to <user>/Documents/My Games/Cendric/saves on Windows or ~/Library/Application Support/Cendric/saves on Mac. The 0.3.1 version tries to store the saves where the game folder is.
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on December 08, 2016, 03:38:05 am
Progress Update for Cendric

Hey all! Long time no update here in the forum, as I was too busy adding stuff to the game. It finally seems like it's getting somewhere. The main problem with the game is that it's getting way bigger that we had originally assumed. The initial plan was to have 5 maps with 3-5 levels each, but the (single) map I'm currently working on has already 6 submaps and 4 levels, and there are still at least 5 more to come. But even if it's a hella work, I'm not going to give it up - it's just sometimes hard to cope with the scale of an RPG as a nearly-one-man project.

Also this is kinda shocking
(http://i.imgur.com/2nzXy8x.png)
(we've expected to have ~100 items in the final game, and now it's about 40% finished)

But it's also a lot of fun doing everything - drawing npc portraits, npc spritesheets, enemies, tiles - writing the story, dialogues, quests, routine scripts and code - designing maps, levels, puzzles, bossfights - creating sound effects and lately even music (I'm not good at it, sadly).

(http://i.imgur.com/Et1iUQB.jpg)

Change Log (heavily summarized)

The game's version is now 0.3.2 and is going to be 0.4.0 as soon as the player can join all three guilds, I'm currently working on the prequests to go there. If you're brave enough, you can play the newest release:
https://github.com/tizian/Cendric2/releases/tag/v0.3.2 (https://github.com/tizian/Cendric2/releases/tag/v0.3.2) (currently only windows, but we'd build for mac and linux too, if requested)

Playing the whole content takes now a bit more than 3 hours. That's a lot of time, and I encourage you to wait with playing Cendric until the next major release (0.4.0) or even the beta or final release. To still see how the game looks like now, take a look at the freshest screenshots I've made:
http://cendric.ch/screenshots (http://cendric.ch/screenshots)

(http://i.imgur.com/SMhTaMR.png)

Comments, critics, feedback and bugreports are as always really appreciated.
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on January 15, 2017, 10:17:49 pm
Pre-Alpha Release 0.4.0

(https://media.giphy.com/media/l0HlDZXvYZ9SZhePC/giphy.gif)

Hey y'all!
We're back with the promised demo release: 0.4.0

You can get the newest build and its source code here (Mac/Win/Linux)
https://github.com/tizian/Cendric2/releases/tag/v0.4.0 (https://github.com/tizian/Cendric2/releases/tag/v0.4.0)

Chapter 2 of the game is now complete. If you want to test the game, you can load the prefab saved game "Chapter 2" that will let you directly start at the beginning of chapter 2. Your old saved games probably won't work anymore. If you're still want to use them, you can send them to me and I'll update them for the new version.

In chapter 2, you can join one of three mage guilds - which one will it be? Depending on your choice you'll learn other spells and get other gear.

(http://i.imgur.com/WN4CM0e.png)

There are also other changes like new enemies and levels, but you'll see :)
Lua is really awesome by the way - - -

(http://i.imgur.com/JW8G31B.png)

Feedback for this chapter of the game would really be appreciated, we need your help to create a better game. But if you don't want to be spoiled for the final version, you'd better not touch it.

Cheers,
Team Cendric
Title: Re: Cendric: An RPG Platformer
Post by: mpeg3 on January 16, 2017, 02:21:18 am
Just gave it a quick try - it's amazing! Keep up the good work :)
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on May 07, 2017, 08:40:20 pm
(http://i.imgur.com/vAsEeza.png)

Hey all! We're back with a new pre-alpha release for Cendric. There's finally an end in sight - 70-80% of the content is done.

Changelog

(https://media.giphy.com/media/l0Iyp8Yzz6Z8YOHEQ/giphy.gif)

(http://i.imgur.com/HvcBq5f.jpg)

You can get the release here: https://github.com/tizian/Cendric2/releases/tag/v0.5.0 (https://github.com/tizian/Cendric2/releases/tag/v0.5.0) but as it is the second-last or last release before the final release, maybe just wait for that. But if you want to test it anyway, we'd be happy to hear your feedback :)

Cheers,
Ironbell
Title: Re: Cendric: An RPG Platformer
Post by: FRex on May 08, 2017, 02:22:18 am
I wish I had time to play this. :(

I'm curious why did you decide to use sqlite over Lua, XML or plain text for defining your items and spells and all? Isn't that more work for little to no gain? Do you just like SQL or sqlite DB Browser? Also, there is Lua 5.3.4 and you have compiled the Windows exe with 5.3.1. Also also - shameless plug - I happen to have a nice LuaConsole that happens to work with 5.3 too. It's very convenient. ;)

Edit: I guess the point stands with why not use Lua (or XML) for the config files too, instead of these 'ini' named files that are some custom non-ini format.
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on May 08, 2017, 10:13:50 am
I'm curious why did you decide to use sqlite over Lua, XML or plain text for defining your items and spells and all? Isn't that more work for little to no gain? Do you just like SQL or sqlite DB Browser?
Good question. When I began implementing this game, I didn't know much about gamedev with C++ so I just sticked with what I knew. The custom config (ini) files were just a way for me to learn how to write a parser and as the config files stayed simple enough, I never changed to something more sophisticated. Using a simple text editor, they are also more readable than XML.

Regarding the database: I started using it because I needed a simple solution for the localisation. With a database, you never have to reload all strings when changing the language and you don't have to keep much in memory. It's really fast and convenient. Items and their properties are all nicely packed in one intelligent file that is kept open while playing. And just imagine the possibilities when balancing the item's stats! Want to know about all items that have a "health" attribute that is at least 5? Easy.
SELECT item.item_id FROM item INNER JOIN item_attribute ON item.item_id=item_attribute.item_id WHERE item_attribute.max_health >= 5;
I'd say it would require more code (and there's overhead) to do something like this when using Lua tables.

Also, there is Lua 5.3.4 and you have compiled the Windows exe with 5.3.1.
Oh, I've never updated the Lua version since I first got it. I guess it's time to do so, thank you :)

Also also - shameless plug - I happen to have a nice LuaConsole that happens to work with 5.3 too. It's very convenient. ;)

That's great, I need one anyway for "cheating" (inserting gold and items into the player's inventory, checking and changing quest states etc.) These functions are already in the API but I got no ingame console - yet. So I'll check it out :)


Title: Re: Cendric: An RPG Platformer
Post by: FRex on May 08, 2017, 01:55:55 pm
Quote
Using a simple text editor, they are also more readable than XML.
Lua with custom environment tables (so you can use 'globals' and just do key = value in the file and not expose any functions to the config file) would be readable too. ;)


Quote
I'd say it would require more code (and there's overhead) to do something like this when using Lua tables.
I meant Lua as just data representation on disk and for editing. Stuff can still be loaded into dedicated C or C++ structs/classes/whatever at runtime, even a database. And the example is quite contrived and rare and I'd say and probably runs fine enough with pure C++. It might be premature optimization. I recently was afraid parsing each line of the original dracula book (I added it as a benchmark/large body of text) in my notes keeping app (another shameless plug - it's called 'botes', I have a github repo too ;) ) would be slow but it works totally fine.

I'm not saying you did something wrong but everytime I get this idea myself, it sounds good on paper (a REAL database that can handle dozens of thousands of elements, cool editor with a GUI and all*, structure data, typesafety and names, constraints in SQL, etc.), but not in practice (I always just go with Lua tables and have few hundred entries in them at best, they are more convenient to edit by hand quickly in notepad++). Same for stuff like Tokyo or Kyoto cabinet, a high performance key value binary databases, good idea on paper and all for file store, but a zip used via physfs beats that in usability and is fast enough too.

I'm actually amazed that you use all three, I understand XML is just to parse tmx files probably since most people hate how verbose XML is but still. It's probably bad I think that but a game that uses XML, Lua and sqlite3 instantly feels like a more serious piece of software to me. I like how complete, packed with content and not like a tech demo your game feels, even though I enjoy metroidvania style platformers and design more than this style of platforming. I myself rarely move my projects past the proof of concept stage. I've never released anything I used Lua or my console in I don't think. ;D


Quote
Oh, I've never updated the Lua version since I first got it. I guess it's time to do so, thank you :)
You could also downgrade to 5.1 or 5.2. I myself like 5.1 and even dissected it's code and wrote a paper on it because LuaJIT is compatible with it, it was the biggest jump (5.0 sucked, it had a stop the world GC) and I don't really like the features of 5.2 or 5.3 enough to switch, even though I started in 5.2, I moved to 5.1 for JIT if I ever need it and then read through entire codebase and just stayed there. But I wanted to make my console compatible with 5.1, 5.2, 5.3 and JIT so it should work with all four so you should have no problems.

If you're changing/upgrading you might also look into http://pugixml.org/ , it's the xml parser I use, it's really nice, DOM style parser with very STL like API. I'm not sure if it's better or worse than tinyxml but it took me a long time to find and it's so good I wish I found it sooner.

Quote
That's great, I need one anyway for "cheating" (inserting gold and items into the player's inventory, checking and changing quest states etc.) These functions are already in the API but I got no ingame console - yet. So I'll check it out :)
Yes, it should be easy to integrate, just drop the sources in your own code and do some init and then update/input/draw as in the example given, feel free to ask (via a PM is best, I might miss the thread post on here, I'm here less and less often lately :( ) if you have problems or questions. I made it primarily for myself, same as my 'botes' notes app, but I try to spread the word and get other people to use them too.

* By that I mean http://sqlitebrowser.org/ I hope you didn't insert all the items by hand using the command line tool and SQL written by hand. ;D
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on May 08, 2017, 04:30:38 pm
Lua with custom environment tables (so you can use 'globals' and just do key = value in the file and not expose any functions to the config file) would be readable too. ;)
True, but I didn't even know about Lua when I started and writing a small parser is always a good exercise :)

I meant Lua as just data representation on disk and for editing. Stuff can still be loaded into dedicated C or C++ structs/classes/whatever at runtime, even a database. And the example is quite contrived and rare and I'd say and probably runs fine enough with pure C++. It might be premature optimization.
Yes but I wanted a clean representation of the data and only load it into memory when I need it. If I wanted to make comparisions like the SQL query I wrote, everything had to be loaded into memory and then compared using C++. Also, finding a certain item is very fast as I use two keys, one for the item type and one for the item id. It's like a hash map inside of a hash map. And, last but not least: Having experience with databases is never wrong ^^. Oh yes, and I make use of type safety and constraints. Also foreign keys: You can't add a convertible component to an item that doesn't exist.

(http://i.imgur.com/kdMEajW.png)
(Image because the forum can't highlight SQL yet :P)

For me, it's not really more work as the SQLite interface is quite convenient and I can make use of the database functionality (see above). But to each his own, eh :)

I'm actually amazed that you use all three, I understand XML is just to parse tmx files probably since most people hate how verbose XML is but still. It's probably bad I think that but a game that uses XML, Lua and sqlite3 instantly feels like a more serious piece of software to me. I like how complete, packed with content and not like a tech demo your game feels, even though I enjoy metroidvania style platformers and design more than this style of platforming. I myself rarely move my projects past the proof of concept stage. I've never released anything I used Lua or my console in I don't think. ;D
Thanks. I count "using all three" also as an exercise. About the proof of concept stage: I think that's a problem all programmer-gamedevs face, we love to implement cool features but when it comes to content and polishing, we're getting bored. I work around this a bit by still adding logic to the game and refactoring the code while creating content.

And thanks for your other tips, I'll check them out :)

I hope you didn't insert all the items by hand using the command line tool and SQL written by hand. ;D
::) *cough. Partly. I've written a own small tool that helps me creating dialogues (choices and conditions can get confusing if you have pure Lua code) and it exports the logic to Lua and the text as SQL insert scripts. For the items... yes I write the SQL code myself but it just works for me :P
Title: Re: Cendric: An RPG Platformer
Post by: FRex on May 08, 2017, 09:38:07 pm
The forum can highlight SQL (code=sql) but it's not in the default combo box list:
DROP TABLE items;

As I said I find the idea of using sqlite awesome and wish I had the willpower to use it myself too, instead of just going with Lua. Your game is very interesting from a technical standpoint. Are you planning to make an engine out of it too?
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on May 08, 2017, 10:06:49 pm
Ah great, good to know :)
I  don't think it's going to be made into an engine because it's just too specific and there are things that are not yet nicely seperated (core vs. content). If I could start anew I would do so many things differently - how about an ECS using a database for component data, with perfect memory utilization. That's something I dream about  ;D

For now, I'm just focusing on finishing the game itself. But after that, who knows ;)
Title: Re: Cendric: An RPG Platformer
Post by: FRex on May 08, 2017, 10:56:48 pm
I'm looking forward to seeing my console in action in there too. That's why I always have an eye out for projects that use Lua. ;)
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on May 13, 2017, 09:02:33 pm
Oookay guys & gals, Cendric is on GREENLIGHT!

http://www.youtube.com/watch?v=qZWzz8LhNoM

Would be great if you could drop a vote ;)

http://steamcommunity.com/sharedfiles/filedetails/?id=924976170
Title: Re: Cendric: An RPG Platformer
Post by: eXpl0it3r on May 14, 2017, 03:36:47 pm
Woho! Up voted! :)
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on May 29, 2017, 02:22:24 pm
Aaand we did it! It's been Greenlit and we're so happy  ;D
SFML is starting to have a real squad of games on Steam, which is great.

(http://i.imgur.com/XHDyf3b.jpg)

Title: Re: Cendric: An RPG Platformer
Post by: eXpl0it3r on May 29, 2017, 02:24:50 pm
Yay, awesome! :)

And I agree wrt to games on Steam (https://gist.github.com/eXpl0it3r/c3436e932c273fc430aceb0f34db825e).
Title: Re: Cendric: An RPG Platformer
Post by: AFS on May 30, 2017, 07:53:44 pm
Congratulations! ;D
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on September 17, 2017, 12:44:38 pm
Time for a new update!

As I took this month off to finish the game, things are getting closer to release and I'm posting an update that was already long overdue.

Chapter IV is done and the only thing missing are a few levels, quests and the FINAL BOSS. Splitting the story into three paths with unique  spells, quests and even levels slowed the development process a bit down but what's a RPG without freedom of choice.

(https://i.imgur.com/8OXIS2N.jpg)

I'm also happy to announce that the team of active devs grew from 1 to 2, with a new composer: Matthew Harnage. You can take a look (a listen?) at the tracks for Cendric here:
https://soundcloud.com/matthewharnage/sets/cendric-original-soundtrack (https://soundcloud.com/matthewharnage/sets/cendric-original-soundtrack)

There are still some tracks in the game from the main dev (Ironbell), but I really don't want to ruin the experience of the game with programmer music. At this point, I have to say however that the SFML game Zeran's Folly has the best programmer music I've ever heard. But he, not everyone is this talented *cough

(https://media.giphy.com/media/3o7aD5yAXhlkOyykmc/giphy.gif)

Before the release on Steam, a closed beta will take place, approximately starting in the first or second week of October. Issues will be reported on Github, so you'll need an account there if you want to participate. Like a kickstarter, the closed beta will have rewards for reporting bugs, exploits, grammar mistakes etc. Unlike a kickstarter, I don't want your $$ but your saved game. Playing through the game will already grant you a Steam key for the final version, so it's worth it. I'll post more info about this soon for the people who'd like to participate.

(https://media.giphy.com/media/l0IsH8L1X2I5lLgiI/giphy.gif)
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on October 22, 2017, 12:00:50 am
(http://cendric.ch/download/200/beta.png)

Registrations for the closed beta are open!
http://cendric.ch/closed-beta (http://cendric.ch/closed-beta)

As already mentioned before, Cendric will have a closed beta that will start on the 9th of November and go until the 30th November. If you're interested in getting fresh builds (one a week for three weeks), register. You can also earn points by reporting bugs.

This is an open source GitHub beta. It's an experiment, but we'll see how it goes. It would be great so see some of you guys participating. But, as always -> the beta will spoil you and you can also wait for the final version of course.

Have a great day. I'm going to sleep now.
Title: Re: Cendric: An RPG Platformer
Post by: eXpl0it3r on October 22, 2017, 12:22:49 am
Registrations for the closed beta are open!
Signed-up! :)
Can't wait to play again and see all the awesome stuff you've added since those early versions.

Have a great day. I'm going to sleep now.
Well deserved!
Title: Re: Cendric: An RPG Platformer
Post by: Tank on October 23, 2017, 09:50:32 am
Signed up as well! :)
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on October 23, 2017, 11:25:14 pm
Thank you! There's already a lot of people who registered. I wonder how I will deal with this. Also, I exhibited the game at a game show in Switzerland and people loved it. There were also quite a lot who asked about how it's implemented and the code. I referenced you :3

(https://i.imgur.com/VKLotpt.png)

So thank you my SFML team.
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on January 06, 2018, 05:01:55 pm
Hey all! The Steam store page of Cendric is finally online. Take a look:

http://store.steampowered.com/app/681460/Cendric/

Also, check out or announcement trailer:

http://www.youtube.com/watch?v=eKYu08o722E
Title: Re: Cendric: An RPG Platformer
Post by: eXpl0it3r on January 06, 2018, 05:20:34 pm
Wohooo! :)

Insta added to my wishlist.
Title: Re: Cendric: An RPG Platformer
Post by: FRex on January 07, 2018, 12:26:37 am
The requirements look like some placeholders you didn't rewrite: 64 bit only and listing of DirectX requirements for sounds and graphics and Windows 10 and Intel i7 recommended. Doesn't sound right.

Oh and you should definitely sell your game on itch.io (it's made in Lua/MoonScript! :P) or somewhere else DRM free too for people who prefer that.
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on January 07, 2018, 03:32:07 pm
You're right, I didn't really check the requirements, but mainly because I don't know the minimal requirements. For the 64bit: I never compiled the game for 32bit but I'd adjust it as soon as I upload a 32bit build.

Well, the code is open source, people who want it DRM free can just compile it. But I'll definitely consider itch.io as well, so thanks for the hint.
Title: Re: Cendric: An RPG Platformer
Post by: FRex on January 07, 2018, 04:32:18 pm
Many people look for (free) indie games on itch.io (and gamejolt). I know there is such a section on Steam but I don't care and prefer itch.io for many reasons.
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on February 28, 2018, 03:04:17 pm
Last Pre-Release Update

After three years of developing Cendric, the release date for version 1.0.0 is now set to
02. March 2018, 9.00 PM (UTC+1); 12:00 PM (PST)
on Steam: http://store.steampowered.com/app/681460/Cendric/ (http://store.steampowered.com/app/681460/Cendric/)

For those who want a DRM free version or just a free version, compile it from Github, or wait for a release (we will most likely upload a 1.0.0 build to Github, but after the Steam release).

Github: https://github.com/tizian/Cendric2 (https://github.com/tizian/Cendric2)

(https://i.imgur.com/c68pjuU.png)

The game has reached an extent and complexity that I never even dreamt of when starting this project. Starting as a student & learn  C++ project, it consists now of over 100k lines of code, excluding external libraries. I know, measuring code by the number of lines is like measuring an airplane by its weight, but hey - it flies!

I started as a C++ noob and ended as a huge fan of the language, as well as SFML. Thank you for this journey!

I'll update you again as soon as the game is fully released. Until then, you can check out our community discord for questions, feedback, help or just screenshots and cat pictures, if you're interested: https://discordapp.com/invite/hsGSZ67

See you on the other side!

(https://i.imgur.com/0yS40qJ.png)

Title: Re: Cendric: An RPG Platformer
Post by: jamesL on February 28, 2018, 04:40:13 pm
> For those who want a DRM free version

how about selling it on https://itch.io/
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on February 28, 2018, 07:36:29 pm
how about selling it on https://itch.io/

I'm definitely considering this. ;)
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on March 17, 2018, 01:47:57 pm
For those who wanted a DRM-free version of Cendric, go checkout

https://ironbell.itch.io/cendric

Also, if you don't have any spare money, we published a release directly on GitHub, alongside with the code and everything:

https://github.com/tizian/Cendric2

The code also has finally a license and is now "correctly" open-source. Have fun playing and reading through the 100k lines of code!

Community Links:
Wiki: https://cendric.gamepedia.com
Discord: https://discord.gg/6mJARSJ
Title: Re: Cendric: An RPG Platformer
Post by: eXpl0it3r on March 17, 2018, 02:30:53 pm
Awesome work! :)
Title: Re: Cendric: An RPG Platformer
Post by: bitano on March 18, 2018, 09:07:00 pm
Hi Ironbell,

I just realized i never posted it, but i just want to say i'm very impressed with your determination and i'd like to congratulate you on your awesome achievement.
Actually having the endurance / patience and imagination to finish a game like Cendric I think is remarkable and rare (for indies at least  :D).
All the elements that went into design, creation, but also implementing unique mechanics - an RPG no less... Really impressive. Well done!

Your game is deff on my buy-list soon as i have found some spare time to do an indie round (which i'm planning somewhere before summer because ...well just because lol)

I think there's plenty of admiration for these types of projects, but it's not always expressed. Well certainly i'm not used to do so.
Title: Re: Cendric: An RPG Platformer
Post by: Ironbell on March 28, 2018, 11:19:03 pm
Ah, sorry, I haven't visited the forum for some time. Thank you so much for your kind words, I really appreciate it. And yes I've also been part of indie game teams which never finished because the scope was too big and teams fell apart. Being the sole person on which the game depends on helps a lot - either you finish it or you don't.
Title: Re: Cendric: An RPG Platformer
Post by: Raincode on March 30, 2018, 05:33:17 pm
Hey congratulations on getting so much work done and actually staying at it for so long. Really impressive. I'm installing the game right now gonna try it out later.