Project: Paper2D

Yo!

“I would be greatfull for any pointers to right direction.”

Sorry I don’t have any pointers for you. Just wanted to say your game is looking really cool.

Wonder if you, or anyone else following thread, could briefly describe your workflow; pipeline. For example: I make my art in blah (photoshop, illustrater, Gimp, ?) then use blah (Tiled, TexturePacker ?) then bring it into UE4. Been watching thread for a while and know you guys are working on bigger and more important things. But just thought I’d see what software, devs are using to get their stuff into UE4.
Thanks. Keep up great work!

I would be more than happy to share any knowledge I have with community.
is only way for all of us to move forward.
If you want to create assets for 2d games a good idea would be for you to try and learn a skeletal movement software.For me easiest and cheapest is called spriter.It costs only 25 dollars and you can create amazing stuff there.it is still not 100% complete but it gets job done.biggest advantage of something like is that you can create as many animations as you want with just a set of png’s. keeps memory and size of your project to a minimum.
To be able to achieve something like though you must learn how animations work (try to do a four legged walk cycle and you will understand what I am talking about)and how to split up you character into appropriate png’s in order for them to overlap each other when animation tweens .I could talk for days regarding subject because it is very complicated but sad truth is that without exceptional animation and art it will be hard to persuade someone to give your game a try.Of course without mastering PhotoShop it will be very difficult to do anything of above.
Another huge subject is art of tilemaps.If you are a very small studio or like in my case 1 1/2 people then without tilemaps it would take you a long time to even create a level, let alone 30.But to create seamless tilemaps that include slopes amongst other things takes time and a lot of skill.

Although I know very little about 3d I can say that I am a lot more knowledgeable regarding 2d and its limitations when you use a native 2d engine . fact that an engine like unreal talks directly to gpu gives you unlimited power to create whatever you want something that html5(especially without WebGL.Canvas 2D is very costly in rendering since it asks for a LOT of drawing calls from GPU) or 2d engines just cant. Because I am under NDA i cannot discuss 2d performance on a platform that loves plumbers…
For sad part now.
As it stands right now I wouldn’t recommend to anyone that wants to do a big 2d project to start using unreal.Until they sort out basic 2d stuff like importing your assets from skeletal movement software ,batch changing pivot points, flipbooks that have collisions and a proper Tillman editor then it is so painfully slow to just import and set up your stuff that I do not know if it worth trouble.other fears that I have is fact that my game used to be 70 Mb(i had no sounds etc) and now it is 700 Mb (without any saves that make project many gigs). so I do not know how will affect memory usage and if it will have any performance impact on lower end pc’s EDIT: It seems that I had 400mb of starter content in there so above statement is not valid.There a million other things that I could say about it but lets be clear on one thing.
is future!
Although not a single day goes by without me complaining about something there is no doubt that unreal is only way to go.I have tried many game engines and although initial learning curve and supported features where there end result just wasn’t.I have spend months trying to make my game run smoothly on various platforms and in end you either become crazy(someday I will tell you story of html5.It is called 60fps or jitter) or you move on in hope that big boys will show us 2d guys some love!

Recap: fastest and best method( if you want to work with 2d assets) in long run is:Tweening animations from within appropriate software and tilemaps for everything else.It takes a lot of time to initially set up but after that you can create levels 10 times faster.I do not know how a 3D engine handles these kind of stuff since we are talking here about polys with textures but on a 2D engine using tilemaps increases performance by X100 since it only requires one draw call from GPU for a group of same tilemaps instead of one draw call per sprite.
Unfortunately above method does not yet work with unreal but I am confident that we will get there very soon!
Anything else you need just feel free to ask.
Now lets hope someone will answer my questions as well because I am stuck again :stuck_out_tongue:

EDIT: It seems I did not answer your question . I was forced to use spriter to export all of my animations as png’s!Many animations were 100 or more pings if I wanted to have a minimum of 30fps.Then I took them imported them in texture packer (why we need to buy a 40euro software when we use biggest and best game engine is beyond me) exported them as (txt) and then imported them again one by one creating folders as I went.I believe it took me 2 days.Now of course I don’t have aligned animations since all pivot points are gone and player is all over place when he switches animations but is a whole different story for me to tell :slight_smile:

Thanks dude. Stuff to think about and investigate. Keep on!

I’ve found video showing basics of how their shadows are done:

FMFIaxrINVU

Something similar could be implemented in UE4.

Have you considered using Skia?

If you are not familiar with it, here are highlights:

  • 2D Graphics Library
  • BSD Licensed / Open Source
  • Actively developed by an entire team at Google
  • Used by billions of people in Chrome and Android

Thanks for heads up, it looks interesting but pretty heavy weight for just importing SVGs (it’s basically an entire canvas layer plus cross-plat stuff to support thunking down to GDI on Windows, accelerating via OpenGL, etc… if I understand it correctly).

Cheers,

Please add 2d physics effectors to wish list. Similar to new Unity 5 feature that is coming: point-attract/repel force, surface - tangential force, area - directional force, platform - one way collision.

is true, both Skia and Cairo are quite large 2D Rendering Libraries. Qt is out due to licensing but it is just as large.
That pretty much leaves just AGG as Fog has been abandoned.

Can’t really see a reason not to go with AGG, Google has been using it all time for their Chrome PDF in part due to its excellent performance. AGG is also rasterizer used in generating maps in http://www.openstreetmap.org/.

Hello ,
Any eta for full Tilemap support?
I am almost done with faze one (menu,hud,saves,checkpoints,enemy A.I etc) and I tried yesterday to start setting up a level using my sprite tilemaps(meaning I divided my Tillmap to 150 sprites so I could import them and use them) and it was so difficult to align them, move them around and set them up that I gave up after a couple of hours.Is there a snap to grid feature(meaning dividing space in viewport in power of two blocks and then snapping in there our stuff) in unreal that I am not aware of?
I read somewhere that 4.4 preview that I am using has major improvements in Tilemap support but to be honest I have no clue how it works in unreal.Could you please write a guide on how to use it so we can have a starting point?
Also I wanted you to know Collision bug in paper2d? - World Creation - Epic Developer Community Forums since you are lead paper2d developer .
has been trying to help me for a few weeks now and he believes that it is a bug hidden in there since he sees nothing wrong in my settings or BP logic.Yesterday I finally managed to pinpoint it and I am hoping that you can give us a quick fix to problem as well.

Hi ,

You can use editor grid snap setting (in corner of viewport). I’d recommend using something like one half size of your tiles, which lets you position stuff using both corner to corner and corner to midpoint.

default snap settings are all decimal, but you can also customize them in editor preferences or flip to binary multiples (Level Editor…Viewports, lets you customize for decimal or powers of two, which have separate tables).

Cheers,

Any existing 3D fields or volumes supported by Unreal should ‘just work’ when physics type is set to 3D.

Cheers,

Please forgive me if i am wasting your time but i truly do not understand what i am doing wrong.


Here we can see that my tile is 128x128 pixels.(unreal units)It has been cropped from photoshop and imported into unreal as a 128x128 png


How can a 128x128 grid be bigger than a 128x128 tile? is how they snap on grid.


here it is with a 64x64 grid.
Edit:I just noticed that tile is aprox size 100x100.So everything i imported is 28% smaller that original image since default value in unreal is 1.28?
So i have to change everything to 1 i guess, since i had everything scaled accordingly to tilemap.

Do you happen to know formula for placing camera in correct distance according to players size and screen resolution so we can avoid having artifacts and blurriness to our game?
I cannot seem to find anywhere sort of information in unreal engine forums.

RE: Grid snap sizes: pixels per unreal unit setting affects how texture resolution maps to units. You can adjust value for specific sprites or all existing sprites using property matrix, and you can set project-wide default for new sprites in Paper2D project settings.

Some parts of how to place camera depend on your desired behavior (do you prefer to allow more/less of level to be viewed depending on aspect ratio or would you prefer black bars on other devices). general gist is to define a nominal aspect ratio and pixel resolution and work math out at other resolutions.

For example, you might define that your source screen is 256x192 pixels and your nominal aspect ratio is 4:3. Thus at 1024x768, you want to set it up so each game pixel shows up as a 4x4 display pixel. If screen is instead 1280x720 (16:9), then math isn’t as nice and you have to decide how to adapt.

Scenario 1: Use 3x3 pixels (nominal takes up 768x568), and now do you show more field of view (e.g., actually showing ~426x240 pixels), or do you add a black border
Scenario 2: Use 4x4 pixels (1024x768), and now do you show more in X and less in Y (e.g., actually showing 320x180), or do you show less in Y and a black border in X
etc…

Based on how you decide to proceed, you choose OrthoWidth on camera to match your actual X resolution in unreal units (not pixels, so in 1024x768 case above, with pixels per UU of 1.28, you’d want display to be 256/1.28 game units wide, setting ortho width to 200).

Sadly it gets really messy if you want to support a wide range of aspect ratios and still have nice crisp pixels, but that should get you started.

Cheers,

Is there a reason that default vaule for “Default Pixels Per Unreal Unit” is 2.56? Seems like a strange value to me, but I guess there is some thought behind it?

In UE4 we’ve standardized on decimal units instead of powers of 2, but textures are naturally powers of 2. I didn’t have a particularly strong reason for picking 2.56 versus 1.28 or 5.12, but point of it is to establish a default (can be changed per project and per sprite) scaling factor to make typical sprites a decimal size. In case, a 256x256 sprite takes up 1 meter (100 uu == 100 cm) by default.

Cheers,

Hello!
what is right approach on achieving ?(again sorry if you think i should post question in answer hub but over there they know zero,nada,nothing about paper2d.They think i am an alien ! )
I want my player to rotate a little when he is going up hill or downhill so it looks a bit more natural(and enemies of course).Now when he is on a slope he is hovering quite a few pixels above ground. I tried playing around with character movement component settings but it didn’t get me anywhere.I was hoping that there would be a setting that would do automatically XD
In my previous game engine what i did was to have collision triggers on slopes and when i was overlapping them i rotation lerped my sprite a few degrees and on same time i changed origin point of sprite so i would move a few pixels down to compensate for rotation so he wouldn’t hover above ground.i guess is possible in unreal but how can i make flipbbok component that is inside my player character change its position during runtime?
Thanks in advance and pleaaase make flipbook collisions happen.
Keep up good work!Cheers

Hello x2!
I just created my crate box and i believe i see something weird with locked physics axis.
tiles and player are at Y,0.Everything else has a negative Y.Eye candy for example starts from Y, -0.01 and clouds can be as far as Y -300.
It seems that physics locked axis is not so locked after all since i see strange behaviour when i drop my blueprint physics papersprite from a platform below to groud.





In case both rock and pillar are at -0.1.crate is at 0. I have tried both setting crate at 0 and at 1 but result is same. sometimes(not always) crate falls behind eye candy which can only mean that crate rotates just a bit when it is hitting ground?
EDIT: It seems that if i go down there and push crate while part of it is overlapping background stone or pillar then everything goes back to normal.system renders crate above rest.But while i push it around and crate rotates then happens again.I do not know if is a rendering problem or crate is being moved inside Y axis slightly when it is moved around.

I am getting a 502 error on trello boards for Paper 2D

Anyone else having problem?

If any Paper2d comrade can help me with these two it would be great.

Could someone with a paper2d project please verify second question and report back?
Thanks guys!
EDIT: second one has just been resolved.

I just tried adding a sprite to Top Down template. No matter positioning or thickness of 3D mode collision geometry I can’t get Navmesh to consider it.

Is Paper2D not compatible with Navmesh at all or am I just doing something wrong? If first, is there any plans for support?