Java-Gaming.org Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (524)
Games in Android Showcase (127)
games submitted by our members
Games in WIP (592)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  How does puppygames do it?  (Read 1124 times)
0 Members and 1 Guest are viewing this topic.
Offline Jacob Pickens
« Posted 2014-05-15 23:45:53 »

Puppygames always have these sexy vibrant neon colors. They look nothing like something in a sprite. Are they mapped on dynamically. Is it some sort of cool lighting trick? I just want to know because its pretty eye-gasmic. Tongue

Rayvolution: Yup, just a little bit more hopping around. Want to join my game of hopscotch? I'm a curious guy, I have many questions.
Offline BurntPizza

« JGO Bitwise Duke »


Medals: 273
Exp: 5 years



« Reply #1 - Posted 2014-05-15 23:54:35 »

If you read princec's "Ask me anything" thread, you'll learn a lot, guaranteed. More insights can be found on the puppygames devblog.

Short answer to your question: it's all sprites, just separated into base, shadow, and glowy stuff layers, IIRC.
Offline Jacob Pickens
« Reply #2 - Posted 2014-05-15 23:55:37 »

Thanks for the referral!  Pointing  Grin
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Rayvolution

« JGO Spiffy Duke »


Medals: 222
Projects: 2
Exp: 1 year


Resident Crazyman


« Reply #3 - Posted 2014-05-15 23:56:50 »

Rayvolution: Yup, just a little bit more hopping around. Want to join my game of hopscotch? I'm a curious guy, I have many questions.

lol. Wink

Actually asking random how-to questions like this are fine (and so was your other one really) I was just saying you should spend more time developing your game and less time on over thinking the what if scenarios, else you'll never get any one thing done. Tongue

- Raymond "Rayvolution" Doerr.
Retro-Pixel Castles - Survival Sim/Builder/Roguelike!
LIVE-STREAMING DEVELOPMENT: http://www.twitch.tv/SG_Rayvolution
Offline BurntPizza

« JGO Bitwise Duke »


Medals: 273
Exp: 5 years



« Reply #4 - Posted 2014-05-16 00:01:22 »

Thanks for the referral!  Pointing  Grin

Don't mention it, but next time try a little search or problem solving first. "How does this game work?" --> "I know the dev is here on the forums..." --> "He might have talked about, I'll check his profile."

Also relevant, he released the RoTT source here: http://www.java-gaming.org/topics/revenge-of-the-titans-source-code/24119/msg/202029/view.html
You may or may not gain all powerful knowledge by browsing through it.
Offline Jacob Pickens
« Reply #5 - Posted 2014-05-16 00:05:55 »

lol. Wink

I was just saying you should spend more time developing your game and less time on over thinking the what if scenarios, else you'll never get any one thing done. Tongue

I still would get nothing done. Tongue I seem to be a chronic procrastinator. Grin I try my best. My problem is my flow of ideas. One day I'm dead set on making a space shooter. The next day I'm swayed to make a survival simulator. And then when I do try to make a complete game, I rush it because I want to get started with "that next big idea".
Offline BurntPizza

« JGO Bitwise Duke »


Medals: 273
Exp: 5 years



« Reply #6 - Posted 2014-05-16 00:09:40 »

lol. Wink

I was just saying you should spend more time developing your game and less time on over thinking the what if scenarios, else you'll never get any one thing done. Tongue

I still would get nothing done. Tongue I seem to be a chronic procrastinator. Grin I try my best. My problem is my flow of ideas. One day I'm dead set on making a space shooter. The next day I'm swayed to make a survival simulator. And then when I do try to make a complete game, I rush it because I want to get started with "that next big idea".

Perhaps try keeping a "game book" where you write down the ideas, as completely as possible, when you get them, that way even if you move on to something else you can easily come back to it or say, "hey, I remember that, that would be cool, let's do it."

I should follow my own advice...  Clueless
Offline Jacob Pickens
« Reply #7 - Posted 2014-05-16 00:14:38 »

I should follow my own advice...  Clueless

I should follow advice in general. I tend to be stubborn sometimes. Tongue
Offline princec

« JGO Spiffy Duke »


Medals: 422
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #8 - Posted 2014-05-16 08:37:37 »

It's not anywhere near as complicated as it looks... we are the masters of cheapass effects.

The neon look... well, that's just additive blending. Know this about blending:

1. When you load a .png you must premultiply the RGB values by the alpha value. I was using coerceAlpha() to do this but was having some strange issues with it, I'll revisit that...
2. When you're using premultiplied alpha textures, you use the blending mode GL_ONE, GL_ONE_MINUS_SRC_ALPHA for both transparent and additive sprites.
3. More recently discovered by theagentd, if you're doing actual glows, a mode of GL_ONE_MINUS_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA might look better. We're experimenting with that in a new game to see if it's better or not. I'd prefer not to use it because it means a state change at awkward moments. Only significant if you've got tens of thousands of sprites to draw though.

The other trick up our sleeve is Chaz, who has some sort of enlightened sense of colour. I think he may be a tetrachromat. Chaz tends to define colours using HSB rather than RGB as well, which can make it a lot easier to pick colours that look good together by twiddling values.

Chaz takes extreme pains to make animations and particle emitters. The emitters are surprisingly complex. Not only are the particles themselves often actually animated sprites, they animate in size, colour, and alpha over time too, and often have slave emitters attached to the particles (which in turn emit more particles). He can spend a whole day on a single emitter.

One more tip.. keep your frame rate at a rock solid 60Hz and almost anything looks professional. Vary your framerate and it'll look amateur. Werd.

Cas Smiley

Offline Rayvolution

« JGO Spiffy Duke »


Medals: 222
Projects: 2
Exp: 1 year


Resident Crazyman


« Reply #9 - Posted 2014-05-16 09:14:16 »

It's not anywhere near as complicated as it looks... we are the masters of cheapass effects.

lol, that made me chuckle, because it reminded me of how I feel about my pseudo/fake-dynamic shadows engine. Just very carefully put together simple effects. Grin

The guys who are "ohh and ahhing" my shadow code would laugh if they ever saw it, it's only 72 lines of code. If you remove blank lines and debug code it's probably only 60~ >_>

Although it might gain a whole 10-15 more lines soon, I need to tweak it so the shadows detect the time of day and level the alpha levels at nighttime, because the shadows shouldn't really be (as) visible anymore.

- Raymond "Rayvolution" Doerr.
Retro-Pixel Castles - Survival Sim/Builder/Roguelike!
LIVE-STREAMING DEVELOPMENT: http://www.twitch.tv/SG_Rayvolution
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Jacob Pickens
« Reply #10 - Posted 2014-05-16 15:03:12 »

All the more reasons to stray away from Slick2D I suppose. LWJGL scares me though. Is is gunna eat me?
Offline BurntPizza

« JGO Bitwise Duke »


Medals: 273
Exp: 5 years



« Reply #11 - Posted 2014-05-16 15:08:47 »

Is is gunna eat me?

Just keep your buffers well fed and you'll be fine.
Offline princec

« JGO Spiffy Duke »


Medals: 422
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #12 - Posted 2014-05-16 16:19:42 »

Rather than starting from scratch with LWJGL you should probably use libgdx.

Cas Smiley

Offline Rayvolution

« JGO Spiffy Duke »


Medals: 222
Projects: 2
Exp: 1 year


Resident Crazyman


« Reply #13 - Posted 2014-05-16 17:36:39 »

All the more reasons to stray away from Slick2D I suppose. LWJGL scares me though. Is is gunna eat me?

You can completely bypass Slick2d and use all the features of LWJGL directly if you want. Cheesy

I've done that in quite a few places in my game, for example, the latest version of Slick2D doesn't really support resizable windows (gc.setResizable was removed for some reason) so I control all of that directly through LWJGL. Same with the GL shaders Cas was talking about, my entire lighting engine pretty much doesn't use Slick, aside from uses newdawn.slick.Image to load the light images.

Not really trying to defend Slick or anything, LibGDX is a wonderful (and more updated) library, I just personally prefer Slick. Just saying, if you want to fiddle around with LWJGL directly you don't have to drop Slick2D to do it. Tongue

- Raymond "Rayvolution" Doerr.
Retro-Pixel Castles - Survival Sim/Builder/Roguelike!
LIVE-STREAMING DEVELOPMENT: http://www.twitch.tv/SG_Rayvolution
Offline BurntPizza

« JGO Bitwise Duke »


Medals: 273
Exp: 5 years



« Reply #14 - Posted 2014-05-16 18:36:39 »

You can also use straight LWJGL code in a libGDX app, nothing stopping you there either, but there's not many reasons to do so most of the time.
Offline AppleSauce
« Reply #15 - Posted 2014-05-17 05:25:04 »

All the more reasons to stray away from Slick2D I suppose. LWJGL scares me though. Is is gunna eat me?

If you've seen the game I made, It took about 4 days of learning LWJGL. It is a wrapper for OpenGL, so it contains the same methods.(Except it's Java Tongue)
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

toopeicgaming1999 (66 views)
2014-11-26 15:22:04

toopeicgaming1999 (58 views)
2014-11-26 15:20:36

toopeicgaming1999 (12 views)
2014-11-26 15:20:08

SHC (24 views)
2014-11-25 12:00:59

SHC (24 views)
2014-11-25 11:53:45

Norakomi (28 views)
2014-11-25 11:26:43

Gibbo3771 (24 views)
2014-11-24 19:59:16

trollwarrior1 (37 views)
2014-11-22 12:13:56

xFryIx (76 views)
2014-11-13 12:34:49

digdugdiggy (53 views)
2014-11-12 21:11:50
Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!