loudo
|
|
« Reply #60 on: December 09, 2014, 07:33:14 AM » |
|
Hello there, It's been a long time I didn't post something here. Until the end of the year I will work very slowly on the game because most of my time I'm working on paid projects to secure my funds. Fortunately, Spriter came closer to a stable version and I will be able to move forward on the animation these next days. Codewise, I will improve my Spriter library written in haxe a little. And I have so much spritesheets that I will need a tool to combine 2 small spritesheets or more into one during the game. Finally, there is currently a contest ran by IndieDb to find the top 100 indie games for 2014. So please vote for mine! Thanks
|
|
|
Logged
|
|
|
|
loudo
|
|
« Reply #61 on: February 15, 2015, 07:09:17 AM » |
|
Hi, Again, that's been a long time since my last post. I can say that I'm doing a break in the development of Graal Seeker because I had the opportunity to work more on paid projects for other companies (essentially webgames) to secure the funds of the project. So I will go back again to Graal Seeker only in April or May. However I will still progress on the story. But I have two great news for Graal Seeker. I reached 1057 yes votes on Steam Greenlight and 106 followers! And I'm at 49% of the way to the top 100. It seems that Valve removed a lot of Greenlight games recently so it is probably why I jumped 20% with only few votes. The last news is that I can use special effects with particules with Particule Designer again! Thanks to a member of the openfl community that created a library supporting Particule Designer. I wasn't able to use Particle Designer when I ported my game from as3/Starling to haxe/openfl, but now I can!
|
|
|
Logged
|
|
|
|
loudo
|
|
« Reply #62 on: April 07, 2015, 09:43:36 AM » |
|
Hello, I've made some progress on my open-source animation engine called SpriterHaxeEngine which uses the Spriter software : - fixed a bug that makes looping animation looking not quite smooth
- added support for all type of curve (quartic, quintic, bezier...). So we can have non linear animation now.
- added support for sub entities
I've made other progress but have not commited them yet (refactoring, fixed a little bug on a renderer, removed some dependency, and a way to handle multiple animation files in the engine). Also, in my last post, I was writing about particules. So I've tested the project and with a little effort I can definitely add it to my project. I've made a pull request in the project to fix the flash target (remember that I'm using haxe as a cross-platform technology). before after So now the particules for the flash target look better! Anyway, I will use the C++ target for my game , so my goal here was only to understand better the code to prepare an implementation. Still, I wonder if using particles will fit with the art of my game. Maybe making animations with Spriter will have a better rendering?
|
|
|
Logged
|
|
|
|
loudo
|
|
« Reply #63 on: April 13, 2015, 02:13:41 AM » |
|
Hi, I'm still wondering if I need to add some effects to my game. So, today I've made some tests with normal map which allow to add a 3D lightning effect on a 2D layer. The tests below come from SpriteIlluminator, not from my engine. normal map on character normal map on background Do you think it's worth?
|
|
|
Logged
|
|
|
|
loudo
|
|
« Reply #64 on: April 19, 2015, 05:58:34 AM » |
|
Graal Seeker has been Greenlit!I?m happy to share with you this fresh news. After being 7 months on the Steam Greenlight platform, it has been Greenlit this week! It?s a nice surprise that?s happening. Indeed, I didn?t make as many updates as I intended to make this campaign successful and to make the community growing. But here we are! That?s excellent news and I would like to thank every one who voted, commented and have spread the word. Thank you!What does it mean?Being Greenlit means that our game Graal Seeker will have the opportunity to be released on the Steam platform. So it?s a really big news because I know now that Graal Seeker will reach the Steam market when it will be released. So, what?s next?My recent experience being an indie game developer, with all the financial implications, leads me to say no ETA, but don?t worry I definitely believe that it will come in 2016. I?m very optimistic for the future, and now I have to manage all the resources I can towards game development itself and provide more updates for the community. Thanks for reading and stay tuned
|
|
|
Logged
|
|
|
|
aamatniekss
|
|
« Reply #65 on: April 19, 2015, 11:06:11 AM » |
|
Congrats on your greenlight success! You deserved it.
|
|
|
Logged
|
|
|
|
loudo
|
|
« Reply #66 on: April 21, 2015, 11:53:35 PM » |
|
Congrats on your greenlight success! You deserved it. Thank you I just thought about something regarding my idea of adding normal map. It will multiply the number of my images by 2. I don't know if I can do that, I have already so many images :D
|
|
|
Logged
|
|
|
|
loudo
|
|
« Reply #67 on: June 02, 2015, 09:23:08 AM » |
|
Today I make a little helper library to dynamically merge many small atlases into one during runtime. It merges the texture but also the descriptor file (I use the Sparrow descriptor file). The purpose of this library is having only one atlas during the combat for technical reasons. Obviously performance is one of the main reason (with a texture atlas you can draw all objects at once and avoid texture swapping on your GPU) but I have also to manage with texture size limitation! Indeed, I have too many images to fit in a texture of a decent size. So when a combat begins I merge all the atlases of each characters involved. I've already talked about it here, it was 6 months ago... I was a little afraid of coding this but finally it took me few hours thanks to some other library I found on github. It's not really optimized because it has no trim option but all the small atlases are made with TexturePacker with the trim option activated, so I guess if my small atlases are correctly made, I may not need that option to make the big atlas. So, next move I will clean my animations! And then I will be able to play with all my characters
|
|
|
Logged
|
|
|
|
loudo
|
|
« Reply #68 on: June 10, 2015, 01:54:37 AM » |
|
So finally my atlas containing all my assets used in the combat is 16384x16384 big. So obviously, it's too big, only last graphic cards can have textures of this size (direct3D 11). So I've checked graphic cards capabilities and I've concluded that it will be preferable to have a maximum texture size of 4096 for computers running direct3D 9 and tablets, and a maximum of 8192 for computers running direct3D 10 & 11 and consoles. So I guess I can't render my combat with a single pass, I will have more draw calls. It seems that I can have all the assets for one character in a 4096x4096 tilesheet. So I've just have to use as many tilesheets as characters in the combat (up to 8 different characters simultaneously). I can still merge tilesheets for computers that support a texture of 8192 to reduce draw calls. Since the rendering method I used ( Tilelayer) can only use one tilesheet, I have coded a new rendering method based on it for my animation engine that you can find here. It uses the drawTiles rendering from OpenFL framework and reduces the number of draw calls if applicable as follow (from background to foreground). //2 draw calls - character 1 uses tilesheet A
- character 2 uses tilesheet A
- character 3 uses tilesheet B
//3 draw calls because we have to respect the z-order - character 1 uses tilesheet A
- character 2 uses tilesheet B
- character 3 uses tilesheet A
And finally I will make a SD version of my game for screen resolutions below 1366x768 (2nd most common screen resolutions of Steam users (26%) and near most common tablets resolutions) to put more things in the atlases and reduce the memory used.
|
|
« Last Edit: June 10, 2015, 02:06:46 AM by loudo »
|
Logged
|
|
|
|
loudo
|
|
« Reply #69 on: June 17, 2015, 01:50:09 AM » |
|
I'm still making some effort to reduce the number of images in my game. And well, it's also looking nice in 12fps! So 3 images per second removed (-20%), yay! It's not perfect especially in the walking animation because it's a loop, so this is the only 15fps animation remaining. I think I should be able to have a good 12 fps walking animation but I have to export it again from the 3d software and it's too much pain. So I'm just procedurally removing images from the whole timeline. I have also changed the shadow of the characters and it fits better with the 2d assets now. Until now, I used a plain black shadow with glaussian blur and now it's brown with a radial opacity mask, some noise and a glaussian blur. Let's have a look (old on left, new on right). You may notice that the knights have different sizes. Indeed the older one was too big. It was on my todolist since last October . I'm glad it's done now ! From this todolist, I've also recently managed to find the correct frames I need for each animation. The different characters don't use all the same animation (a knight doesn't use bow!) so I've created a batch to copy the frames from the rendering folder to the final folder used by Spriter and TexturePacker. Like this I can just pack the frames needed, nothing more. And of course it's faster than copy/paste by hand, I just have to click on the .bat file Here is a sample of my batch for the sword animation (from frame 108 to 123): FOR /L %%G IN (108,1,123) DO COPY /Y %GS_FROM%%GS_classe%e\%GS_nation%\left\fps12\left0%%G.png %GS_TO%%GS_classe%\%GS_nation%\left\left0%%G.png FOR /L %%G IN (108,1,123) DO COPY /Y %GS_FROM%%GS_classe%e\%GS_nation%\right\fps12\right0%%G.png %GS_TO%%GS_classe%\%GS_nation%\right\right0%%G.png FOR /L %%G IN (108,1,123) DO COPY /Y %GS_FROM%%GS_classe%e\%GS_nation%\front\fps12\front0%%G.png %GS_TO%%GS_classe%\%GS_nation%\front\front0%%G.png FOR /L %%G IN (108,1,123) DO COPY /Y %GS_FROM%%GS_classe%e\%GS_nation%\back\fps12\back0%%G.png %GS_TO%%GS_classe%\%GS_nation%\back\back0%%G.png The bad news with the decision of using 12 fps is that I have to rebuild my animations in Spriter. As a reminder, I use Spriter to add effects and weapons in my animations. But I have significantly improved my process and I'm pretty confident to have the animations done next week. Thanks for reading. Hope to see you next week to show you some new animations.
|
|
|
Logged
|
|
|
|
loudo
|
|
« Reply #70 on: July 02, 2015, 01:40:09 AM » |
|
I have now finished to add weapons and some effects in my animations. I still need to add shields and other special effects like sword trails, stars turning around when a character is stunned, magical effects, etc. If somebody (an artist) is interested to help me achieve that (possibly with Spriter), please let me know. In this devlog, I will show you how was the addition of weapons. In my previous animations which were running at 15 fps, I have only tried weapons like sword (I don't use curved sword). But now I need to check if every animation is working fine with all weapons and especially with axes and spears. Why? Let's see. Firstly, if having a direction for the weapon doesn't seem obvious for swords, it appears highly needed for axes. In the first image you can see the initial direction of the axe. But as you can see it doesn't work on the second image. Image 3 shows the fix by inverting x-scale property. Then I encountered different problems with spears. In some animations the character's arm moves behind him, so I need to change the z-ordering. Checking the animations with spears make it easier to spot z-ordering problems. On the left, it feels like the spear passes through the legs while on the right it's better but it doesn't fit very well in the arm. Here are some fix shots to see what I'm talking about. On the left, the bottom of the spear should be behind, on the right the top of the spear should be in front of the arm. Of course, I could use different images for the weapons (top and bottom) but I think it will be too much work for something that you don't really notice during the animation. Anyway, what's your thought? The last fixes I made during my check was the weapon orientation. On left, it seems that the spear goes through the ground while on the right it seems better. Thanks for reading. I look forward for your thoughts. Cheers;
|
|
|
Logged
|
|
|
|
loudo
|
|
« Reply #71 on: July 22, 2015, 04:15:16 AM » |
|
I'm currently adding the shields to the characters. It's more laborious than I thought so I need few days more to complete the task. Unlike the weapons which use only two sprites for all the animations, we have exported 1 image of a shield per frame. We did like that because it was impossible to have a correct rendering especially when the character does not always face the camera at the same angle. But we all agree that it will be too much sprites to use! Also, the 3d artist didn't pay much attention of the results of the animations with shields in the 3d software, so sometimes the animations need to be reworked. So let me show you an initial animation with a shield (close to the 3d animation) ...and a reworked animation that uses less differents sprites of the shield to save some memory and have a better looking in my opinion. On the left the initial animation. On the right the reworked animation using only 2 images of the shield (10 sprites of the shield removed). Of course it's not perfect but I think the left one is unrealistic, no knight should expose his chest like that. Also, I can't have the very same result on each directions (left, right, front, back) because I have to manage with the movement of the arm. Cheers;
|
|
« Last Edit: July 22, 2015, 08:07:24 AM by loudo »
|
Logged
|
|
|
|
loudo
|
|
« Reply #72 on: September 08, 2015, 05:22:07 AM » |
|
ImprovementI found a way to optimize the memory usage of my game. Prior to that, it took 1Go of memory to use simultaneously 8 of my characters, now with only a simple extra line in my code, it takes only 100Mo I'm glad I noticed this tweet from someone using the same technology ( OpenFL). Screenshot SaturdayLast screenshot saturday, I showed this animation of the Pict knight. Do you like it? All my character animations are finished and I will show some more in the coming weeks. I'm currently looking for an artist/animator that can help create effects animations like magic effects on Spriter. I plan to have these effects done this winter. Spriter Animation EngineI'm currently improving my animation engine in an alternative branch. I had some feedbacks and guidelines from people who are using it, and with the help of the HxScout profiler, I can definitely improve the engine by reducing allocations and find bottlenecks. I've also added some features : - using more than one animation file (scml).
- custom character mapping that allows to quickly build an animation file based on an other one.
- own atlas file descriptor in xml
- save animations files into a binary to save disk memory and parse time
Overall progressI worked this summer on improving the rendering and stabilizing and debugging stuff. I've also made some changes on the game design to simplify the combat. Last blog postI've made a blog post on the Lancelot du Lac movie. If you are passionate about movies and Arthurian legends, go take a look to discover some secret stufs Cheers;
|
|
|
Logged
|
|
|
|
loudo
|
|
« Reply #73 on: November 08, 2015, 09:38:14 AM » |
|
ScreenshotI've recently released the death animation rework of a character. Here it is! Fixing my tilesI'm using Haxe and OpenFL framework to make my game cross-platform. So I can compile to flash, html5, or native C++ (windows, mac, linux, android, IOS). In the beginning, I was only compiling to flash because it's the fastest target to compile to. But recently I had to switch definitely to native target because of the high amount of textures in the game. However there are some slight differences between all targets and as soon as I compiled to C++ for the first time and scale down the game to support lower resolutions I encountered a problem on the rendering of my tiles. Indeed, when the tiles are placed side by side, it is possible to have unsightly artifacts between them when the game is down-scaled. It can appear as a hole or as a black border as shown in the following picture. To avoid this and get the best result possible, I need to combine these three solutions. - First, we must place the tiles on screen with integer numbers.
- We also need to slightly upscale the tiles to fill the holes. It seems that many developers resize with a ratio of 1.01 (see the HaxeFlixel framework) or sometimes even more when the results are not convincing enough.
- Openfl legacy will require more attention when creating the atlas. It requires to check the reduce border artifact box in the TexturePacker software.
To find the good scale ratio to fix our problem, we have to calculate it. When we resize the application, it's possible that the actual size of the tile on the screen is not an integer number. Indeed the tile seems truncated and the space between the tiles corresponds approximately to the decimal part as shown in the following pictures. The red square is using a integer value for the width. We still see the space between the tiles. The red square is using a decimal value for the width. The space is filled by the square! So, to fix the problem, we just have to upscale the tile to make its size an integer value on the screen whatever the downscale made on the game.However there are some exceptions. - The results are not convincing when using a ratio below 1.01
- If the game is not scale down, we don't need to fix the scale of the tile.
In the next picture, you can see that the border between the tiles is not perfect when you use the fix (x1.01). Ok, it's not really obvious. But if you look closer on the red area, you will see a slight difference with the x1 version which has a smoother transition between the tiles.
And finally here are my results with OpenFL next and different sizes of my tiles. If you are also using OpenFL, you can find the script I made on gist. Last Blog PostI’ve started writing articles about the Arthurian myth and the Holy Grail. In case you missed it, Graal Seeker is about seeking the Holy Grail In my last blog post, I showed you a secret I found on the Lancelot du Lac movie. Now I take you on a journey with me to find the Holy Grail. Let’s start with Doune castle located in Scotland.
|
|
|
Logged
|
|
|
|
loudo
|
|
« Reply #74 on: August 07, 2016, 02:20:33 AM » |
|
Hello, that's been a long time since last post. The game development is progressing slowly, my schedule is shared between the game and freelance work which is needed to fund the whole team. I had some concern about some element of the game design: the real-time combat wasn’t praised by everyone according to lot of comments I have received and was difficult to achieve for an only one team member. So I took the decision to make the combat turn-based. I'm pretty sure this will make the game greater and also easier to develop. I've also reinforced the team with an additional game designer that will help me improve the game and test it before releasing anything, it will probably take some months. Anyway, let's talk about one of main thread here in this devlog : memory management and texture limitations. Regarding RAM used in the game, I'm currently trying to upgrade the version of the framework I'm using (openfl). That will allow to facilitate the current development. One the missing feature was the ability to release RAM memory of the atlas while keeping it as a texture. I've made a pull request here. Regarding texture limitations, I'm trying to limitate the texture to a square-based 4096x4096 to support most GPUs. I have some characters with a lot of animations and they don't fit right now to this size. So I have four options : - smaller size in screen (91% of the original)
- remove some animations (150 frames to remove)
- a mix of the two previous ones
- flipped asset
So basically, flipped assets which use same assets for left and right directions thanks to negative scale would make characters appear right-handed or left-handed depending on the direction. Do you think it's matter for the player?I'm not a big fan of flipped asset and I don't think it will fit well in my game, but I've just noticed that some well-knowned games like Banner saga use it and that's why I'm currently thinking about it. So here are some screenshots to illustrate what I'm talking about... which is your favorite?Current implementation: Right-handed implementation: Left-handed implementation: Flipped assets will allow to save 25% of textures. I look forward to hearing from you. I'll try to give some details about the changes in the combat in the next post. See you soon.
|
|
|
Logged
|
|
|
|
|