Duality Syndrome is a physics-based puzzle platformer where you can change levels by applying stickers to them.

Image RSS Feed Latest Screens
WIP Screenshots WIP Screenshots WIP Screenshots
Blog RSS Feed Report abuse Latest News: DevLog #1 "Dissolving Transparent Renderer"

0 comments by 0x0961h on Aug 1st, 2014

Last few days I was in pretty painful process of rewritting rendering code. Produced a lot of dirty code (spoiler: and already killed it with fire light refactoring), but the result is worth it.

Long story began with me decided to free the camera and increase space for bigger levels. After few changes in code I faced the big problem: when I applied stickers to the level edges they (stickers) didn't extend the level in an obvious way. Actually, they were just drawn over. Physics worked well, but all the stuff was rendered wrong. And it was bad. Why would I need a freedom of camera movement when all I see is a rectangle of the level that will stay the same old rectangle all the time no matter how many stickers I'll apply?

That was pretty sad.

And I began to rewrite a rendering code to make it independent from screen size and proportions. I also decided to make levels not only black and white, but also add some uncolored, void space.

After few days of swearing and cursing every living creature coding I finally got what I wanted. I also added some placeholder animated background for the Void to see level transparent parts:

Though, there are still problems. Now I render the level (I called this process "baking", like in "baking ambient occlusion map", you know) to different FBOs. Now I have, like, three FBOs for level baking: for black parts, for white parts and for the final result that player sees (which is actually used two times: for build mode's color scheme and for action mode's one). But, you know, for the level with size 2000x2000 with 2x sampling it's 4000x4000 texture. And let's also take in count that I have so called "scale factor" parameter, which tells how the player window is bigger than native game resolution of 1024x576. So, for 1920x1680 the scale factor will be 1.875. Three 7500x7500 RGBA8888 textures in GPU... doesn't sound like a good idea. Game even crashes sometimes with some weird messages. I think I have to dig into render code once again and maybe, I don't know, draw level to screen natively, with ShapeRenderer or PolygonSpriteBatch (which can produce little annoying 1px wide "between the triangles" lines) or limit FBO resolution to, let's say, 1024x1024 and just cut the level into few different textures and not to the One Big Texture during baking. Could be also useful if I want to use occlusion culling for unseen level parts.

Oh, almost forgot! I made a dissolving effect for transition between Build and Action modes. It looks like this:


And also I made it possible for player to go to the Build mode from Action at any moment, not only when both players are standing still. Don't know if it's a great idea, actually, but will see later:


I also recorded a little (~01:30) video with some gameplay. It's available on indieDB.

As you see development is still alive, even though there's no gameplay features implemented yet. For now I just need to solve all the problems with, you know, basic stuff, like level rendering and physics. When everything will be good and ready I can start to add puzzle stuff and everything.

Thank you for your time, have a nice weekend! Smiley

Media RSS Feed Latest Video
Post a Comment
click to sign in

You are not logged in, your comment will be anonymous unless you join the community today (totally free - or sign in with your social account on the right) which we encourage all contributors to do.

2000 characters limit; HTML formatting and smileys are not supported - text only

Icon
Duality Syndrome
Platforms
Windows, Mac, Linux
Developed By
0x0961h
Engine
libGDX
Contact
Send Message
Official Page
Forums.tigsource.com
Release Date
TBD
Game Watch
Track this game
Share
Style
Genre
Platformer
Theme
Abstract
Players
Single Player
Project
Indie
Twitter

Latest tweets from @0x0961h

RT @SwiftOnSecurity: I have 71,000 followers because I comment my code.

8hours 3mins ago

@rogueNoodle T.co

8hours 31mins ago

RT @ZackBellGames: I just released INK on @itchio! :D T.co #gamedev #gamemaker T.co

8hours 54mins ago

RT @jamiemgalea: Care to comment @DarkestKale? T.co

21hours 50mins ago

@Bluara Oh, yeah, can feel you. :c

22hours 21mins ago

RT @ihatemmorpgs: All the cool bosses have totally badass dialog! #gamedev #chickensword T.co

22hours 51mins ago

RT @moobeat: THESE ARE SO CUTE. T.co @osevno T.co

23hours 34mins ago

RT @moobeat: Round TWO. T.co @osevno T.co

23hours 35mins ago

RT @GenevieveFT: I made a little comic about commissions~ T.co

23hours 44mins ago

@eugelng Number 3!

May 4 2015, 6:28pm

Embed Buttons

Promote Duality Syndrome on your homepage or blog by selecting a button and using the embed code provided (more).

Duality Syndrome
Duality Syndrome
Statistics
Last Update
8 months ago
Watchers
1 member
News
2