GDR Forum Index
Podcast Podcast
Dev Dev Logs
Search Search
RSS RSS
Register Register
Log in Log in
Reply to topic GDR Forum Index -> Game Developer's Refuge -> Development Log - Shmup
View previous topic :: View next topic  
Author Message
Gil
Developer

Joined: 14 Nov 2005
Posts: 2341
Location: Belgium
PostPosted: Mon Jun 16, 2014 12:58 am    Post subject: Development Log - Shmup Reply with quote

So, I'm toying enough with this that maybe it's time to stop polluting the off-topic and doodle threads and just open one here :)

Demo 0:


Mouse over the ship to see the effect

Demo 1:


Note that the demo's might change now and then, so a cache refresh might be in order (shift+F5? dunno)

Basically, pixels + hand-pixeled normal map + hand pixeled glow map is what I'm going for. I might toss in speculars too, but I don't really see the point right now.
_________________
PoV: I had to wear pants today. Fo shame!


Edited by Gil on Fri Jun 27, 2014 5:46 am; edited 1 time
View user's profile Send private message Visit poster's website
0xDB
Developer

Joined: 26 Dec 2005
Posts: 1670
Location: Your consciousness.
PostPosted: Mon Jun 16, 2014 2:12 am    Post subject: Reply with quote

Cool stuff.
_________________
0xDB
View user's profile Send private message Visit poster's website
PoV
Moderator

Joined: 21 Aug 2005
Posts: 10902
Location: Canadia
PostPosted: Mon Jun 16, 2014 5:29 am    Post subject: Reply with quote

Surprisingly, it actually does something on my iPad running a very old OS.
_________________
Mike Kasprzak
'eh whatever. I used to make AAA and Indie games | Ludum Dare | Blog | Tweetar
View user's profile Send private message
Gil
Developer

Joined: 14 Nov 2005
Posts: 2341
Location: Belgium
PostPosted: Mon Jun 16, 2014 5:29 am    Post subject: Reply with quote

Demo 2:


Glow mapping and HDR lighting with bloom, sorta kinda. Not sure if this is for the better, but I added a button to turn off the glow part :)

Seems like you'll need to reload the page a bunch of times to get this one to appear, nasty caching issues :/
_________________
PoV: I had to wear pants today. Fo shame!
View user's profile Send private message Visit poster's website
Gil
Developer

Joined: 14 Nov 2005
Posts: 2341
Location: Belgium
PostPosted: Mon Jun 16, 2014 6:43 pm    Post subject: Reply with quote

I'm working on a proper rendering pipeline right now. I'm supporting HDR lighting from the get-go, mostly so I can get bloom in (proper bloom that is).

I realized that emissive color + HDR is what results in glow, so I'm redoing the glow maps as emissive maps (almost the same thing anyway). On top of that, I'm adding specular mapping, just to try if the effect is what I want (I assume it is).
_________________
PoV: I had to wear pants today. Fo shame!
View user's profile Send private message Visit poster's website
sonrisu
Moderator

Joined: 31 Aug 2005
Posts: 4998
Location: Silicon Valley!
PostPosted: Mon Jun 16, 2014 7:58 pm    Post subject: Reply with quote

This is neat. Any way you could automate all the mapping stuff? Seems like a lot of work for every sprite. :]
_________________
loomsoft :]
View user's profile Send private message Visit poster's website
Adam C. Clifton
Contributor

Joined: 04 Nov 2005
Posts: 221

PostPosted: Tue Jun 17, 2014 9:45 am    Post subject: Reply with quote

Have you seen this tool? It may help the process.
https://www.kickstarter.com/projects/finnmorgan/sprite-lamp-dynamic-lighting-for-2d-art

Also Demo 1 and 2 are all blurry stretched on my PC (Chromium Ubuntu).
View user's profile Send private message Visit poster's website
Gil
Developer

Joined: 14 Nov 2005
Posts: 2341
Location: Belgium
PostPosted: Tue Jun 17, 2014 10:26 am    Post subject: Reply with quote

sonrisu wrote:
This is neat. Any way you could automate all the mapping stuff? Seems like a lot of work for every sprite. :]

Adam C. Clifton wrote:
Have you seen this tool? It may help the process.
https://www.kickstarter.com/projects/finnmorgan/sprite-lamp-dynamic-lighting-for-2d-art

Simple answer here: sure, I could probably automate it, but I highly disagree that I should. This is pixel art, where every pixel matters. Part of the reason I get such great results is the care and experience of a pixel artist. If you were to try this stuff in a higher res, then sure, I agree, might want to look into either depth map -> normals or Sprite Lamp. For this very low res though (entire ship is 64x64), you really want to do this by hand.

Adam C. Clifton wrote:
Also Demo 1 and 2 are all blurry stretched on my PC (Chromium Ubuntu).
Ouch, they shouldn't be. I'm specifically selecting nearest neighbor interpolation. Stupid Chromium engine with it's love for blur. Is the lighting system working for you? You should see lighting that goes across the image slowly.
_________________
PoV: I had to wear pants today. Fo shame!
View user's profile Send private message Visit poster's website
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9459
Location: Not Finland
PostPosted: Tue Jun 17, 2014 6:06 pm    Post subject: Reply with quote

This would be good for an Alone in the Dark type game :)
_________________
NoOP / Reyn Time -- The $ is screwing everyone these days. (0xDB)
View user's profile Send private message Visit poster's website
sonrisu
Moderator

Joined: 31 Aug 2005
Posts: 4998
Location: Silicon Valley!
PostPosted: Tue Jun 17, 2014 7:36 pm    Post subject: Reply with quote

Demo1 and Demo2 don't seem to be working in Safari? 1 just turns super bright. And 2 does nothing, just looks blurry.

Demo0 seems to work fine, but the ship is at 1x size, not blown up.

Not sure if you care about Safari, but just thought I'd mention it. :]
_________________
loomsoft :]
View user's profile Send private message Visit poster's website
Adam C. Clifton
Contributor

Joined: 04 Nov 2005
Posts: 221

PostPosted: Wed Jun 18, 2014 6:06 am    Post subject: Reply with quote

sonrisu wrote:
Demo1 and Demo2 don't seem to be working in Safari? 1 just turns super bright. And 2 does nothing, just looks blurry.

Demo0 seems to work fine, but the ship is at 1x size, not blown up.

Not sure if you care about Safari, but just thought I'd mention it. :]

This is my experience in chromium, maybe it's all Webkit browsers?
I just compared to Firefox and it's definitely super borked on chromium.
View user's profile Send private message Visit poster's website
Gil
Developer

Joined: 14 Nov 2005
Posts: 2341
Location: Belgium
PostPosted: Wed Jun 18, 2014 10:57 am    Post subject: Reply with quote

I don't know about Safari, but Chrome or Chromium on Linux wouldn't work probably, as they don't properly support WebGL out of the box for some weird reason.

This is one of those projects where technology will be important and support hard to do. I'll try to do my best to accommodate all platforms eventually.

For reference, I myself test only on Chrome/Windows and Chrome/Ubuntu, which both work, although Chrome/Ubuntu requires you to change some settings for WebGL to work.


For reference, Demo 0 doesn't use WebGL and should work on any old potato, but it would run at 3FPS if I tried to turn it into a game :/
_________________
PoV: I had to wear pants today. Fo shame!
View user's profile Send private message Visit poster's website
Gil
Developer

Joined: 14 Nov 2005
Posts: 2341
Location: Belgium
PostPosted: Wed Jun 18, 2014 11:01 am    Post subject: Reply with quote

For the people it doesn't work for, could you please test this example and tell me if that works?

http://www.goodboydigital.com/pixijs/examples/15/indexAll.html
_________________
PoV: I had to wear pants today. Fo shame!
View user's profile Send private message Visit poster's website
Gil
Developer

Joined: 14 Nov 2005
Posts: 2341
Location: Belgium
PostPosted: Wed Jun 18, 2014 3:14 pm    Post subject: Reply with quote

After looking it up, Safari doesn't seem to support WebGL, though it has experimental support for it. Chrome/Chromium in Ubuntu seems to have WebGL turned off by default, no reason why (I assume, again, because it's experimental). In both cases, you can turn it on in the options.

I'm debating whether I should release this as a stand-alone, since it'll solve a lot of headaches with browsers not working correct. Since it's trivial, I'll probably do both.


Today, I finished up the theoretic part of the lighting model. Still some question marks here and there and I've still to read up on certain parts of the physics, but the pipeline is there. First tests will concern the palette, since I decided to push for a demo with indexed palette next.

Also, I've been using Pixi.js for the prototyping, but it lacks a lot of what I need, so I need to decide whether to roll my own stuff instead.

Hopefully, demo3 will be ready soon.
_________________
PoV: I had to wear pants today. Fo shame!
View user's profile Send private message Visit poster's website
Gil
Developer

Joined: 14 Nov 2005
Posts: 2341
Location: Belgium
PostPosted: Thu Jun 19, 2014 8:17 am    Post subject: Reply with quote

I've decided for now to keep on trucking in WebGL, instead of switching to regular OpenGL. We'll see if that is the right decision, but I'm having fun, so all's good :)

Right now, I'm making some sort of base library, just with some stuff I need. Once that's done, I'll use it to provide demo3, free of Pixi.js (which was just bugging me).
_________________
PoV: I had to wear pants today. Fo shame!
View user's profile Send private message Visit poster's website
PoV
Moderator

Joined: 21 Aug 2005
Posts: 10902
Location: Canadia
PostPosted: Thu Jun 19, 2014 8:22 am    Post subject: Reply with quote

Gil wrote:
Chrome/Chromium in Ubuntu seems to have WebGL turned off by default, no reason why (I assume, again, because it's experimental)

You must have an older Chrome (or Ubuntu). WebGL has been enabled for years now. Even works on Android. If you have an Ubuntu prior to 14.04, and an Intel GPU, it may be the GL driver (as 14.04 introduced a driver capable of GL 3.x).

The right way to install chrome is always directly from Google. It's the only way to get a current version of Flash too.
_________________
Mike Kasprzak
'eh whatever. I used to make AAA and Indie games | Ludum Dare | Blog | Tweetar
View user's profile Send private message
Gil
Developer

Joined: 14 Nov 2005
Posts: 2341
Location: Belgium
PostPosted: Fri Jun 20, 2014 6:04 am    Post subject: Reply with quote

PoV wrote:
You must have an older Chrome (or Ubuntu). WebGL has been enabled for years now. Even works on Android. If you have an Ubuntu prior to 14.04, and an Intel GPU, it may be the GL driver (as 14.04 introduced a driver capable of GL 3.x).

The right way to install chrome is always directly from Google. It's the only way to get a current version of Flash too.
Yeah, I don't own a Ubuntu PC. It's just that about 4 people with Ubuntu have tested my examples so far and all of them reported that WebGL was disabled for them. I have a tester that I work closely together with and he managed to get it working, simply by going into options and turning on WebGL.

I'm currently struggling with a few basic questions regarding how to feed the shader its information. The more I think about it, the more I realize I want more control over the GPU, but feeding the fragment shader tons and tons of uniforms seems like a bad way to do it. I've moved everything I can to dependent texture lookups, but there's still some highly dynamic data that I need to find a way to express.
_________________
PoV: I had to wear pants today. Fo shame!
View user's profile Send private message Visit poster's website
Gil
Developer

Joined: 14 Nov 2005
Posts: 2341
Location: Belgium
PostPosted: Fri Jun 27, 2014 5:45 am    Post subject: Reply with quote

As I ponder the shader questions, little sidestep. I started working on the game proper. First off, I'm creating the basic library to make my life easier. After trying a bunch of different tools, I decided I can just roll my own. For the WebGL part, I might still include a library, depending on a few tests I still need to run.

Part of the code will be written in Coffeescript, maybe all of it.

I'm probably going to use node.js modules and Browserify to handle package management. Code will be available on github (open source game ftw?), IDE will be Brackets.

Current to-do (will probably turn this into a proper feature list soon):

- Proper prototypal inheritance (Differential, Concatenative, Functional)
- Traits
- Multi Dispatch
- Functional programming

So yeah, for now, basically a small list of helper methods to allow me to use a concise syntax to write this.
_________________
PoV: I had to wear pants today. Fo shame!
View user's profile Send private message Visit poster's website
Bean
Admin

Joined: 20 Aug 2005
Posts: 3776

PostPosted: Wed Jul 02, 2014 6:50 pm    Post subject: Reply with quote

I love how it merges oldschool pixel are with new tech. It looks great without ditching the classic style.
This could look amazing given a lot of dynamic lights.


-Bean
_________________
Kevin Reems | Nuclear Playground | Solid Driver
View user's profile Send private message Visit poster's website
Adam C. Clifton
Contributor

Joined: 04 Nov 2005
Posts: 221

PostPosted: Wed Jul 02, 2014 11:38 pm    Post subject: Reply with quote

I enabled the thing on chromium and now it all works.
http://askubuntu.com/questions/299345/how-to-enable-webgl-in-chrome-on-ubuntu

I had recently switched from Windows where it worked out of the box so that was surprising to me.
I also thought it might have been Intel integrated issues but that was not a problem.
View user's profile Send private message Visit poster's website
Reply to topic GDR Forum Index -> Game Developer's Refuge -> Development Log - Shmup

Use this link to get a Sign-On Bonus when you get started!

All trademarks and copyrights on this page are owned by their respective owners. All comments owned by their respective posters.
phpBB code © 2001, 2005 phpBB Group. Other message board code © Kevin Reems.