SFML community forums

General => SFML projects => Topic started by: Sygmei on March 21, 2016, 10:58:42 pm

Title: [2D Platformer] Melting Saga
Post by: Sygmei on March 21, 2016, 10:58:42 pm
Hey guys !
So about the game :
It's a 2D Platformer with a lot of RPG aspects (spells, levelling, etc...), epic battles and so more.
Right now there isn't much gameplay content but the platformer engine is almost done :)
All the engine is written in C++ in top of SFML.
The game logic is written in Lua with a binding named Kaguya (by Satoren).

Here's an old trailer :
https://www.youtube.com/watch?v=-14c_VzCeKc (https://www.youtube.com/watch?v=-14c_VzCeKc)

And an other video to show more recent features :)
https://www.youtube.com/watch?v=7P2aYnFjCt0 (https://www.youtube.com/watch?v=7P2aYnFjCt0)
Title: Re: [2D Platformer] Melting Saga
Post by: bitano on March 21, 2016, 11:07:26 pm
Nice. Looking good!!!

The jumping looks a bit teleporty. Don't know if that's intended. But i like the pace of the game and the looks are nice :D

Keep posting the updates please
Title: Re: [2D Platformer] Melting Saga
Post by: Hapax on March 21, 2016, 11:38:35 pm
It looks really well done. The newer video is impressive.

The jumping looks a bit teleporty.
In the older video, certainly; I agree. It seems to be the sudden extreme velocity when jumping away from grabbing a wall...
Title: Re: [2D Platformer] Melting Saga
Post by: Sygmei on March 23, 2016, 11:03:25 pm
Thanks a lot for the answers :)
And yeah, sometimes it's a bit glitchy :/
If some people are interested to help the developpement by testing the game and try to find some bugs, it would be cool :D
Title: Re: [2D Platformer] Melting Saga
Post by: bitano on March 24, 2016, 07:58:41 am
I'm always in for some testing!
Title: Re: [2D Platformer] Melting Saga
Post by: eXpl0it3r on March 24, 2016, 09:14:11 am
Sign me up as tester. I love platformers. :P
Title: Re: [2D Platformer] Melting Saga
Post by: Sygmei on March 28, 2016, 07:18:28 pm
A little screenshot of the future updater :D
This updater will be released in a few days / weeks to test the debug versions of Melting Saga.

(http://i.imgur.com/kmpoyfX.png?1)

Any suggestions about design ?
Or some feature you would like to see in the updater ?
Title: Re: [2D Platformer] Melting Saga
Post by: Jesper Juhl on March 28, 2016, 07:42:30 pm
Any suggestions about design ?
Or some feature you would like to see in the updater ?
Make sure it's idempotent (https://en.m.wikipedia.org/wiki/Idempotence) so that failed updates are rolled back perfectly and can be re-tried.
Title: Re: [2D Platformer] Melting Saga
Post by: Sygmei on March 28, 2016, 08:02:09 pm
Good idea, I don't know how to implement it yet, but I'll try :)
Title: Re: [2D Platformer] Melting Saga
Post by: Jesper Juhl on March 28, 2016, 08:19:21 pm
Here are a few ideas:

1. Create a filesystem snapshot before the upgrade that you can roll back to if the upgrade fails.

2. (Something I did for a product at a previous employer) - install every update in a new directory, then upon (re)launch of the app, find the newest update dir and calculate a checksum for all files in it and compare to a csum file in the dir - if no match, delete the dir and try the next - continue until success. Then launch app from newest successful dir (which may then retry downloading and applying updates). Requires a small "find best dir and launch app wrapper" that you really don't want to screw up during an update, but other than that seemed to work well.

3. Copy all files before changing them and then move them back if anything fails.

4. Make your app dir a git repo.
Title: Re: [2D Platformer] Melting Saga
Post by: Tukimitzu on March 28, 2016, 08:53:46 pm
Looking good! Is the shapeable platforms a mechanic of the game or just an editor thing?
Title: Re: [2D Platformer] Melting Saga
Post by: Sygmei on March 28, 2016, 10:28:14 pm
You mean, being able to move platforms while playing ?
It probably wont be in the game, but the engine can do it.
So if someone want to create a game with that feature, feel free to use my code :D
Title: Re: [2D Platformer] Melting Saga
Post by: Mortal on March 29, 2016, 12:25:59 am
it looks so awesome, i have looked to your youtube change, i like the video-dev for this game.

i'm now working on 2d platformer (Mario) and i'm using tiled editor which has polygon shape feature for object layer but yours is much flexible  from what i have seen in this video. and yeah, i'm interesting to try it but where the code at. could you post a link to the code.
Title: Re: [2D Platformer] Melting Saga
Post by: Sygmei on March 29, 2016, 01:01:18 am
I just posted the sources on Gitlab (similar to Github) today, I'll correct some little bugs, implement a few things and then I'll release the code and start a public alpha :)
The first release will not contain a lot of gameplay, but you'll still be able to create your own maps and scripted objets :D
Title: Re: [2D Platformer] Melting Saga
Post by: Sygmei on March 30, 2016, 07:24:38 am
Well, sources are available !
CMakeLists.txt isn't working at the moment :( (I'm working on it)
All needed dependancies are in the README

https://github.com/Mizugola/MeltingSaga
Title: Re: [2D Platformer] Melting Saga
Post by: bitano on March 30, 2016, 12:45:32 pm
Well, sources are available !
Cool! I'll check it out as soon as i can (in about 6 hours *sob*) :D
Title: Re: [2D Platformer] Melting Saga
Post by: ScArL3T on April 04, 2016, 09:24:58 am
Hi! I was wondering how did you implement the updater. The game looks neat btw.  :P
Title: Re: [2D Platformer] Melting Saga
Post by: Sygmei on April 05, 2016, 03:07:54 am
Updater is a borderless window with custom GUI :)
It uses a system to check if client file fingerprint is equal to server file fingerprint.
Title: Re: [2D Platformer] Melting Saga
Post by: Sygmei on April 28, 2016, 10:47:06 pm
New video with a new little guy : https://www.youtube.com/watch?v=zGpi5yG5Yyc&feature=youtu.be
Say hello to mister Octopus  8)
Title: Re: [2D Platformer] Melting Saga
Post by: Sygmei on April 28, 2016, 11:43:54 pm
If you want to test the game, you can now use the Updater :D
http://188.226.212.159/updater/Updater.zip

To launch the game, first of all, start Updater.exe and click on Update button.
Wait for the Updater to check all the files and it should start to download everything.
When it's done, go to MeltingSaga folder and launch MeltingSaga.exe

If you have missing DLL : https://www.microsoft.com/fr-fr/download/details.aspx?id=48145

Here's are the zip hashes :
Hashes :
MD5
    c9013ce3e7cb3fe77675c26944ef07c1
SHA-1
    aa803e8f745320690c4e2323717905d301ecda3e
SHA-256
    e6995069c1d65f4d1241d566c1884c18c53c3b3ec235451b0b330f64279a053f
SHA-384
 
c27fcff035f50cd9b04e44df1e7e759c0551d52d4d0557c396b20c57ddec74899cc8a6c8127aeb32d8fc1de40fd31988
SHA-512
    7fefff4d92e3850ee188848798ab89b997186040506c34a83b475697e0768fdf259e3c796c6e685db79068d7eb9a87dadde7921297faa63c35876c4f48f3298d

VirusTotal : https://www.virustotal.com/fr/file/e6995069c1d65f4d1241d566c1884c18c53c3b3ec235451b0b330f64279a053f/analysis/1461879289/
Title: Re: [2D Platformer] Melting Saga
Post by: eXpl0it3r on April 29, 2016, 07:46:29 am
Cool! :)

The updater downloads everything into a subdirectory MeltingSaga, is this supposed to work like that?
Would be cool if the updater after downloading showed a button to start the game directly.

Could you add an option for limiting the FPS? My GPU goes crazy when it has to render at 1700 FPS. ;D
Title: Re: [2D Platformer] Melting Saga
Post by: Sygmei on April 29, 2016, 10:47:17 am
Yes :D It's supposed to download everything in the MeltingSaga folder :)
A "Play"  button is planned, I just have to figure out how to execute the game from another exe
And yus I'll add an option to limit the FPS :3 (And you have a good PC, I can't even get 1700 FPS :( )
Title: Re: [2D Platformer] Melting Saga
Post by: Jonny on April 29, 2016, 01:07:44 pm
I just have to figure out how to execute the game from another exe

I suspect it'll need platform-specific code, but I've used this successfully in the past :

https://msdn.microsoft.com/en-us/library/windows/desktop/ms682425(v=vs.85).aspx

Hopefully it helps! Also the game is looking good!
Title: Re: [2D Platformer] Melting Saga
Post by: Sygmei on April 29, 2016, 03:01:12 pm
I'll try to use that ! Thanks :)
Title: Re: [2D Platformer] Melting Saga
Post by: klafyvel on April 30, 2016, 06:17:18 pm
Hi ! Your project is nice.

However I tried to change the CMakeLists.txt and some other files in order to try MeltingSaga on my PC (I'm using Manjaro Linux). I'm able to compile, but I've strange errors when I try to run MeltingSaga :

[klafyvel@klafyvel MeltingSaga]$ ./MeltingSaga
Data/GameScripts/ScrInit.lua:20: unexpected symbol near ';'
[string "protect("ID")"]:1: attempt to call global 'protect' (a nil value)
[string "protect("Private")"]:1: attempt to call global 'protect' (a nil value)
[string "protect("Public")"]:1: attempt to call global 'protect' (a nil value)
type mismatch
[string "table.insert(Core.ImportedLibs, "Console")"]:1: attempt to index global 'Core' (a nil value)
PANIC: unprotected error in call to Lua API (attempt to index a nil value)
 

Any idea ?  :D
Title: Re: [2D Platformer] Melting Saga
Post by: Sygmei on April 30, 2016, 06:44:32 pm
Mmh..
First of all, delete the Data / Sprites folder if you have any in the same folder of the executable.
After that, download this : http://188.226.212.159/updater/Data.zip
And this : http://188.226.212.159/updater/Sprites.zip
Unzip the two archives at the same location as the executable.

You also need to ensure that you used Lua 5.3 when compiling the game.
Could you show me the content of your CMakeLists.txt :) ?
Title: Re: [2D Platformer] Melting Saga
Post by: klafyvel on April 30, 2016, 07:03:25 pm
Ok, so I just downloaded the two archives and unzipped both them in the same directory as the MeltingSaga exectuable, but I still get the same error  :( .

[klafyvel@klafyvel bin]$ ./MeltingSaga
Data/GameScripts/ScrInit.lua:20: unexpected symbol near ';'
[string "protect("ID")"]:1: attempt to call global 'protect' (a nil value)
[string "protect("Private")"]:1: attempt to call global 'protect' (a nil value)
[string "protect("Public")"]:1: attempt to call global 'protect' (a nil value)
type mismatch
[string "table.insert(Core.ImportedLibs, "Console")"]:1: attempt to index global 'Core' (a nil value)
PANIC: unprotected error in call to Lua API (attempt to index a nil value)
 

Could you show me the content of your CMakeLists.txt :) ?

Of course :
(click to show/hide)

It is not really beautyfull but it works :P .

I also replaced every
#include <Windows.h>
to

#ifdef _WIN32
#include <Windows.h>
#endif
Title: Re: [2D Platformer] Melting Saga
Post by: Sygmei on April 30, 2016, 07:49:14 pm
What version of Lua do you use :o ?
Also if you have Skype, you can PM me your nickname to fix that problem quicker :)