Lemma Soft Forums

Supporting creators of visual novels and story-based games since 2003.


Visit our new games list, blog aggregator, IRC, and wiki.
Activation problem? Email [email protected]
It is currently Wed May 22, 2013 10:38 am

All times are UTC - 5 hours [ DST ]


Forum rules


Ren'Py support questions should go here. This forum is for discussing changes to Ren'Py itself.



Post new topic Reply to topic  [ 14 posts ] 
Author Message
PostPosted: Wed Apr 04, 2012 4:02 pm 
Lemma-Class Veteran

Joined: Tue Aug 01, 2006 12:39 pm
Posts: 4051
This is something that has occupied my mind and reminded by recent game such as Rejoice Gospel of Matthew. Though Jake's Battle Engine is pretty much good already at what it should do, the fact that I have to use VRAM-hogging filmstrips makes the animations choppy and downright terrible (I'm using 8-16 frames of 128 to 256 square). Combine that with large panning backdrop and I already know my game fails in performance alone.

I think that's a problem that should be tackled on the Ren'Py side with regards to image animation handling. I think the solution would just be to use a single sprite map and use the game engine to animate the pieces themselves, instead of exporting frame by frame.

What if it were possible to make a Odin Sphere or Muramasa or Grim Grimoire or Dragon's Crown animations in visual novel sequences? That could be really cool. I therefore humbly request the creator/maintainer of Ren'Py to at least look into the feasibility of enabling compatibility with the following:

http://www.kickstarter.com/projects/539087245/spriter

Quote:
Spriter game animations won't be tied to a specific development tool. Spriter saves to a fully open XML based format we call SCML, which is an acronym for Spriter Character Markup Language. Our intention is to get Spriter animation supported on every major game authoring tool. So far, we have a feature complete Scirra Construct Classic plugin in beta for creating DirectX 9 games with Spriter. Work has begun by third parties on Unity and Torque2d support for Spriter animations, which means soon Spriter animated characters could be possible on PC, Mac, PS3, XBOX360, Wii, Android, iOS, and Flash.

Anything that can read XML and display images in different positions, can support Spriter animation. With the early version of the plugin we're developing for Scirra's amazing HTML5 game creator Construct 2, we've actually managed to load and animate a Spriter character in a standard HTML5/javascript webpage, this is without using any special plugins - just a stock browser. We are also pursuing support on GameMaker, MMF2, DarkBasic, and other popular game engines.


Top
 Profile Send private message  
 
PostPosted: Wed Apr 04, 2012 4:26 pm 
Ren'Py Creator
User avatar

Joined: Mon Feb 02, 2004 10:58 am
Posts: 10774
Location: Kings Park, NY
Completed: Moonlight Walks
Projects: Ren'Py
16 frames of 64 kilopixels each isn't really all that big, though. So I'm not sure that would be the problem, versus scene complexity or something like that.

_________________
Another Old-Fashioned Bishoujo Gamer
Supporting creators since 2004; Code > Drama
(When was the last time you backed up your game?)
"It is not the critic who counts; not the man who points out how the strong man stumbles, or where the doer of deeds could have done them better. The credit belongs to the man who is actually in the arena, whose face in marred by dust and sweat and blood; who strives valiantly; who errs, who comes short again and again, because there is no effort without error and shortcoming" - Theodore Roosevelt


Top
 Profile Send private message  
 
PostPosted: Wed Apr 04, 2012 5:15 pm 
Regular

Joined: Tue Feb 15, 2011 8:00 pm
Posts: 161
Projects: Mutagen : Journey to Haven's Landing
Oh my God, this would be so amazing if it was hooked up to Ren'Py. Just think of the beautiful animations you could do *dies from sheer awesome overload*

_________________
Visit my game development group's Facebook page : Timekeeper Games
Mutagen : Journey to Haven's Landing Facebook Page
Follow our Twitter feed too : TK Games


Top
 Profile Send private message  
 
PostPosted: Wed Apr 04, 2012 5:54 pm 
Lemma-Class Veteran
User avatar

Joined: Mon Jul 21, 2008 5:41 pm
Posts: 3400
Projects: Planet Stronghold: Warzone, Loren The Amazon Princess, Queen Of Thieves, DIM, Undead Lily, and more...
PyTom wrote:
16 frames of 64 kilopixels each isn't really all that big, though. So I'm not sure that would be the problem, versus scene complexity or something like that.

Maybe batching is the problem? not sure how Jake's engine is coded, but if it's made of tiles or several identic units, using batching should help that a lot... I remember in my "C coding days" that using batch could draw 1000 sprites easily on screen :)

_________________
follow me on Image Image Image Image
computer games


Top
 Profile Send private message  
 
PostPosted: Thu Apr 05, 2012 1:45 am 
Veteran
User avatar

Joined: Thu May 01, 2008 1:12 pm
Posts: 353
Location: Estonia
Projects: Winter, winter
Whoah, Spriter would let me have animated sprites. That would be huge! Imagine the girls throwing their hair when you say something stupid.. :D


Top
 Profile Send private message  
 
PostPosted: Thu Apr 05, 2012 2:49 am 
Lemma-Class Veteran

Joined: Tue Aug 01, 2006 12:39 pm
Posts: 4051
Ive also been looking at nyatraps work and thoroughly agree the problems start with HD resolution with tex bigger than 1024. Really tempted to downscale and redo the scenes. But imagine how smooth a game using Spriter + ATL will be!


Top
 Profile Send private message  
 
PostPosted: Thu Apr 05, 2012 3:17 am 
Lemma-Class Veteran
User avatar

Joined: Mon Jul 21, 2008 5:41 pm
Posts: 3400
Projects: Planet Stronghold: Warzone, Loren The Amazon Princess, Queen Of Thieves, DIM, Undead Lily, and more...
You should never use texture bigger than 1024, just in case you want to do Android port (or iOS in future). It just won't work on those devices...!

_________________
follow me on Image Image Image Image
computer games


Top
 Profile Send private message  
 
PostPosted: Thu Apr 05, 2012 4:25 am 
Veteran
User avatar

Joined: Sun Jan 09, 2011 7:10 am
Posts: 378
jack_norton wrote:
You should never use texture bigger than 1024, just in case you want to do Android port (or iOS in future). It just won't work on those devices...!

All android devices must support at least 2048x2048 textures.


Top
 Profile Send private message  
 
PostPosted: Thu Apr 05, 2012 6:04 am 
Lemma-Class Veteran
User avatar

Joined: Mon Jul 21, 2008 5:41 pm
Posts: 3400
Projects: Planet Stronghold: Warzone, Loren The Amazon Princess, Queen Of Thieves, DIM, Undead Lily, and more...
Hm no, from what I understand, that's true starting from Honeycomb, so Android 3.2+ which is currently not very widespread compared to older versions.
But yes, in future will be more common for sure as the HW becomes more powerful - anyway it's always wise to not use textures too big if you can :wink:

_________________
follow me on Image Image Image Image
computer games


Top
 Profile Send private message  
 
PostPosted: Thu Apr 05, 2012 6:49 am 
Veteran
User avatar

Joined: Sun Jan 09, 2011 7:10 am
Posts: 378
Still, very few devices that are capable of running Ren'Py will have a texture limit under 2048x2048.


Top
 Profile Send private message  
 
PostPosted: Thu Apr 05, 2012 7:07 am 
King of Lolies
User avatar

Joined: Mon Nov 26, 2007 9:57 pm
Posts: 4119
Location: Bandung, West Java, Indonesia
Completed: R.S.P
Yes, Android only starts supporting resolution bigger than 1280x720 from version 3.2 (even 3.0 still can't run anything bigger than 1280x720). And tablet with Honeycomb is still pretty rare. And let's not forget the resource needed to run HD content (it eats the battery). I think you need to think about that if you want people play your game in tablet.

All of those not really a problem in PC though...

_________________
"Double the princesses, quadruple the fun!" - Haken Browning (SRW-OG Endless Frontier)

DeviantArt Account
MoeToMecha Blog (under construction)
Lolicondria Blog (under construction) <- NSFW


Top
 Profile Send private message  
 
PostPosted: Thu Apr 05, 2012 9:27 am 
Support Hero
User avatar

Joined: Sat Jun 17, 2006 7:28 pm
Posts: 3767
jack_norton wrote:
Maybe batching is the problem? not sure how Jake's engine is coded, but if it's made of tiles or several identic units, using batching should help that a lot...


Off-topic aside:

There's no code in the present release for tiled battlefields, although it's obviously possible since Tristan and Iseult uses tiles. However, problems with Ren'Py related to drawing at non-native resolutions have made me reluctant to release tile-map code in the main public release (e.g. when the window is resized or put into full-screen; to demonstrate, run Tristan, wait until a battle and put the game into full-screen mode). However, what I've seen of DaFool's usage does sometimes have multiples of the same unit graphic on-screen at once, so it's theoretically plausible that he could gain some performance benefits from batching.

Unfortunately, batching is practically impossible to do in Ren'Py user code without hacking core, because Ren'Py has a scene model; a call to renpy.show doesn't directly draw the sprite onto the screen right that second, it puts it into a big list of displayables which are currently on-screen, and Ren'Py decides which order to draw what in and when.

There are quite possibly advantages to be gained from batching (whatever particular technological approach is taken), but it'd be up to PyTom to implement it. And to be honest, I'd agree that DaFool's problem is probably more related to huge images than number of sprites on-screen at once.

Which means that tiled-map support would probably help DaFool quite a bit, 'cause he could split his large map graphics up into smaller sub-sections, which wouldn't be such memory-hogs and could be selectively drawn... but for me to put that into a public release would require PyTom to first fix his precision-drawing problems, otherwise it'll just look crap instead of running like crap.

On-topic, though:

I'd agree that it'd be cool, once Spriter is released, for Ren'Py to support that kind of sprite. However, I think it'd be far more cool to have publically-exposed functionality in Ren'Py such that we could implement a spriter-import or similar ourselves; as it stands, Ren'Py doesn't even support a full range of affine transforms, let alone the non-affine stuff that you'd need to support Spriter's stated roadmap.

Also:

LVUER wrote:
Yes, Android only starts supporting resolution bigger than 1280x720 from version 3.2


Texture resolution, not screen resolution.

_________________
Image


Top
 Profile Send private message  
 
PostPosted: Thu Apr 05, 2012 10:21 am 
Lemma-Class Veteran

Joined: Tue Aug 01, 2006 12:39 pm
Posts: 4051
Sorta OT but another main motivator was this game (essentially ex-Bioware devs having almost exactly the same gameplay concept as Elspeth's Garden, but starring Vikings instead of loligoths in airships):

http://www.kickstarter.com/projects/sto ... anner-saga

So yeah they seem to have hand-drawn frame by frame animation similar to Tokitawa, but something just as nice looking can be made with Spriter graphics.

What I currently have is prerendered 3D that while good enough, still sticks out against the handdrawn backdrops. I wouldn't mind having to toss the 3D work already made if it means having characters that move in a more lively and charming manner.

Right now my image code in the Battle Engine is something like this:
Code:
    image caitlin melee n = anim.Filmstrip('battlegfx/caitlin_pummel_nw_170.png', (170, 170), (12, 1), 0.03)


If in the future the code can be something like this:
Code:
    image caitlin melee n = Spriter('battlegfx/caitlin_pummel_nw.png', ** other parameters specific to Spriter)


I'm still not sure about how isometric graphics will be handled, but just like with 16-bit graphics, it will be enough to just have a character have a few animation states regardless of the map rotation.

I am actually willing to fund Spriter plugin development for Ren'Py for eventual public release, I'm that serious about it.


Top
 Profile Send private message  
 
PostPosted: Thu Apr 19, 2012 12:49 am 
Miko-Class Veteran
User avatar

Joined: Mon Feb 06, 2012 9:50 pm
Posts: 716
Location: NYC
Projects: Icebound
Organization: Fastermind Games
Would this be possible? Should I grab Spriter and try to do something with it, or is it not going to happen?

_________________
ImageImage


Top
 Profile Send private message  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 14 posts ] 

All times are UTC - 5 hours [ DST ]


Who is online

Users browsing this forum: No registered users


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
cron
Protected by Anti-Spam ACP
Powered by phpBB® Forum Software © phpBB Group