Project: Paper2D

+1 with tilemap support for paper2d and its status.
I tried to use it about 3-4 weeks (Unreal v.4.8) ago in hope that it would help me speed up my level design progress (since classic method of Alt+drag or dropping sprites in editor is painfully slow and cumbersome not to mention nightmares i am having with snapping something new to something that has moved away from original grid) but unfortunately i gave up as soon as i saw performance issues regarding map size(i have reported through p.m to .In a map of 10000x10000 it took me about a minute to just paint one tile) and uasset backup size of 600(!!) mb for my tilemap of 150 tiles.I also did not know what to do with (meaning test map i created) it afterwards,like has mentioned.

If i recall correctly you had mentioned that 4.7 will see working.Is still case?Can you please show us how to actually use new feature to our benefit?

P.S It been 2 whole months since i stopped complaining about slow paper2d development so i think i am entitled to a little ******** :slight_smile:

I would like to also report something that is not game breaking but it is irritating never less.Since 4.6 most of my flipbook/sprite preview images are all over place with many of them (~70%) showing just a white preview image or just a fraction of it.

Is there a way to cure ?

I downloaded 4.7 Preview and tiled and layout issues I reported seem to be have been fixed. But I did notice that it suffers from standard glitch, flicker on tiles due to sub pixel rendering. Is there a way to set padding on tiles to prevent , i.e. add a 1 - 2 pixel boarder on tiles but still render tile map using set tile size. ?

Thanks

After a little playing around I think that flicker can be removed. I exported tile set with standard padding and margins ( 2 pixels ) but also extruded tiles by 2 pixels from Texture Packer. Then loaded in tile set into tiled setting Margin to 2px and Spacing to 6px. Then I imported tile map into engine. Inside engine I then open tile set and edit tile size by adding 4 pixels. Seems to work ok and no flicker, tile selection alignment is off ( suspect size for selection rectangle is taken from map and not tile set ! ).

But and big but at moment is that rotation of tiles is not supported so any rotated tiles just don’t show. I’ve actually written several importers for Tiled and Rube on other engines so once I get my head around engine i may give it a try. For now it looks like tile system has too many missing simple features to make it usable, looks like i will just create bigger blocks and import them as sprites for now.

  • Note for developers. it may be that you are using gid to work out what tiles goes where in tile map, if you don’t take into account bits 30,31,32 of gid then a flipped / rotated tile will have a different gid and hence will not get set when map is imported. ( /bjorn/tiled/wiki/TMX-Map-Format , Tile Flipping ) . just a thought as its normally one that gets missed.

I’m pretty sure it’s supported rotated sprites for a few versions now if you are importing paper2dsprite file. Although I think latest previews have a bug on reimporting, so you have to delete and import again from scratch, which really sucks if you’re using version control. 4.7 Preview 8 Reimport of Paper2Dsprites broken - Asset Creation - Epic Developer Community Forums

Hello ! Welcome to Paper2d family!

Since you appear to be very knowledgeable can i please ask for a little help regarding flicker,jitter and blurriness in a paper2d project?
After a week (back in summer) when i first started to create my game in lovely engine i noticed something really disturbing regarding how unreal renders sprites during gameplay. Huge amounts of jitter and jerkiness resulting in a less than optimal visual experience that is first thing that a potential customer will see. I have created a few answerhub questions about it but only answer i got was regarding motion blurr in led monitors when something moves too fast.But to what i am referring has nothing to do with that. Even if you set a console command of “slomo 0.1” and move left or right at a speed of a snail ,you can see all tile (and sprites in general) pixels move around like they are drunk! Now multiply with excessive amounts of motion blurr (i have never witnessed anything like that in both unity and construct 2 ) and you can understand how unhappy i am.

Does any of above have to do with what you mentioned about sub pixel rendering? I could really use some help here so i can further explain to Devs what i am experiencing in hope that one day they will be able to solve it.

Thanks in advance!

Hi , thanks for reply are you talking about atlas import from texture packer ? ( that works fine ) but i am not importing file from texture packer as i am importing tile set from tiled. I just use texture packer to make up tile sets. rotation issue I am talking about is one from tiled . I do use TexturePacker imports for my characters which seems to work fine with rotated images.

HI , to be honest I have not had much time to play with engine yet just trying to work out some kind of workflow to get 2d assets into engine before I really start creating a game. issue you will see with tile maps is easy to see as long as you have enough contrast between tiles and background. You will see horizontal and vertical lines appear at point tiles meet as you scroll across map with player. As for blur I have not seen yet so I’ll report back when I have a test level setup and working.

OK! I’ll be here waiting.Anything you need feel free to ask i might be able to help a bit.After all i have a few thousand sprites imported with unreal under my belt :stuck_out_tongue:

Cheers.

Thanks for offer, if you have a workflow for importing multiple Atlas textures for same sprite I would be very interested, I am looking for a way to bring in Base Texture, normal map and maybe some others. Currently it looks like i can only import one atlas per set of sprites automatically. I’m still looking into it but it sounds like i have to create a custom material and use that on sprites but i have no idea at moment how to automatically allocate normal map etc, but then i have not looked at current importer code must be possible to do with a bit of work.

Unfortunately i don’t think there is a way to automatically do what you want.In general sprite importing has gone a long way forward to right direction last few months but it is still not quite there yet.If you are up for some laughs go to and check an old video about paper2d that has braid sprites as an example.

Up until 4.8 you had to manually change in every sprite default material if you wanted them to be translucent for example. Now it automatically detects transparencies and adjust accordingly.I wish there was some sort of preset for all our sprite importing needs, like for example i want all my sprite textures second to be imported to be filtered as bilinear.Sorry that i can’t be of any real help here but when i started importing bulk of my sprites it was several engine version ago so things might have changed and i am not aware of those changes.After a while i got used of all that clicking and changing settings for my sprites.

I am sure will give you an answer and i am happy to say that your contribution will surely help speed up plugins progress.more we use it better!

i need help with !

After setting up my game with one unreal level per game level (main menu,level1,level2 etc) which i though is the “classic” way for a 2d platformer i encountered a problem. Long story short you cannot animate anything while Unreal loads a level. I gave some feedback about how many games would benefit if UMG was able to work while engine loads and was kind enough to tell me that they will make some sort of a simple loading screen tool. When i asked when, i got a smiley respond ,meaning that it will be ready in a couple of years! :stuck_out_tongue:

So against my better judgment i took pill and decided to spend my sunday trying to make it work because i had to change a lot of my game logic (saves,checkpoints,main menus etc).
To my surprise i managed to pull it though but then i faced problem.
All of my levels started from 0,0 so it is logical that when i make them as streaming levels one will overlap other.No biggie.Lock everything.select actors and move them out of way.

is where i need you.My system just cannot handle all these levels and all of those ten of thousands of sprites.Selecting them and trying to move them around takes for ever.Everything freezes and you have no clue when it will unfreeze .Even if i manage to zoom in a small area of a level i still get max 65fps.Up until now i was at 120fps all time.

I have a pretty decent system. fx8350 at 4.7 that gives me a tiny bit more performance than a stock i7 4770. My GPU is a 290x and i have 16gb of ram.

Is normal?? Is there a chance that sprites are not very well optimized (like old bug that i reported that made unreal recalculate everything on a level) and that is reason for slowdown? If not what will happen if i add another 20 levels? Will i need a NASA supercomputer to make my 2d game?

Any expert advice on is welcome. I finally solved something so minor (but important) and i am finally able to see my animated loading screen but i lost ability to work!

You will want to toggle visibility of level in world composition tools you want to move (So your level is not visible) then move it.

should ease moving of assets on your computer in theory. Give that a shot.

Thank you for your help!

Although your suggestion makes absolute sense unfortunately it does not help. Even with only one level left visible (main menu)that has no more than 200 sprites (in comparison one of my level has more than 16000) my cpu is running at 85%! With everything visible it is stuck at 99% compared to previous times (meaning since day one) that i rarely saw more than 17-20 % .

Paper2d has simplest form of geometry.Just a cube with a texture on top of it. I am guessing that main character of infiltrator demo has a gazillion more polys than all of my currently created levels since they do not exceed 35000 (sprites) squares.Is behaviour normal? Even if i set my view to wireframe nothing changes. million dollar question is what is causing all cpu and gpu meltdown? My cpu water cooling can barely keep my system alive after a couple of hours with editor open.

EDIT: You mean toggle little eye in my levels tab correct? Or you mean something else?

, any status updates on feature request ^^? While I got it partly working, I couldn’t ever get collisions to work right as geometry doesn’t update…

Yep toggle eye in levels tab see if that does trick.

Also make sure that your persistent level is set up right.

Persistent level = Skydome / Skysphere with nothing else in it.

You will want to move it in world composition tools as well. will make strain on your PC allot less from what I understand.

That said could be wrong.

All above results are with eyes toggled off+my persistent level is empty.I only placed one sprite there just to know it exists.As for world composition tools i have no clue what they are or what they do.I have to research them a bit and get back to you.

Not years, but probably longer than your timeline for your game.

What version are you on? issue was fixed in CL# 2402648, which should be part of 4.7p5 and newer I think.

Cheers,

Tile maps are still experimental in 4.7 (primarily due to lack of proper collision generation) but they are much improved over previous versions.

However, system was not designed (and never will be) for a 10k x 10k map, that is an absurd size (400 M vertices for a fully populated map; I’m actually amazed it didn’t crash OOM). I’d expect for most games to use maps on order of 30x20 to 100x100 tiles, and use multiple maps where necessary to handle larger areas. culling system for UE4 works on a per-component basis, so you won’t be getting any culling for invisible tiles on a map that is much larger than could ever be seen at once.

Cheers,