Have you heard about TIGSource's Assemblee Competition? Even if you don't sign up for the actual competition part, the music and art will eventually be made freely available for non-commercial games anyway.
The hat shading has to do with how Blender shows adjacent polygons at an very small angle in edit mode. Won't affect it in-engine.
Also, in strange news, I got an email from a company called Guan Steed Games offering to publish my game. They called it a "cowboy extravaganza", so they've at least looked at it, but the whole thing seems weird. I couldn't find anything on Guan Steed except that a Chinese general named Guan Yu had a horse that was famous or something. They were offering to publish a PC port with Games for Windows certification, distribute it, pay royalties.
I wish I could feel flattered by this, but the fact that I know there's nothing I've put on line that really shows what the game is like, combined with the lack of info on the company, relegates this to an interesting footnote in my day.
Nice work, Delzhand! Are you going to be doing cel-shading? I'm gonna finish my simple toon shader when I get back home, a two-pass one that inverts the model, scales it outward, and turns it jet black (to cause an outline), and then toon shades it on the second pass. It's crazy easy (knock on wood, watch me screw it up.)
Well, that's it. My water and world shaders are pretty much done. Aside from some 2D HUD artwork and minor shader effects for things like the Selector, my engine is ready to roll and I have no excuse to NOT be working on the game itself. Except for the toon shader. That's a good excuse. But I really need to take that next step. Game out by Christmas is my goal! Hope y'all like edutainment.
Nice work, Delzhand! Are you going to be doing cel-shading? I'm gonna finish my simple toon shader when I get back home, a two-pass one that inverts the model, scales it outward, and turns it jet black (to cause an outline), and then toon shades it on the second pass. It's crazy easy (knock on wood, watch me screw it up.)
That method of creating outlines will only work properly on (mostly) convex shapes, as well as having the side-effect of creating thicker outlines on larger objects. You can work around the first problem by dividing the models of concave objects into several convex objects though, and the second problem should be negliable in most cases.
That outlining method won't work, Alejandro. I mean, it will be okay for objects with very simple outlines, but it won't work for people or anything complex.
Fair 'nuff, it's entirely possible (probable?) that I'm wrong, but I coulda sworn I did this in 3D Studio Max one day just to see how it was done. I did it with a human hand and it seemed to work okay. I'll experiment when I get home and let you guys know what the results are.
Fair 'nuff, it's entirely possible (probable?) that I'm wrong, but I coulda sworn I did this in 3D Studio Max one day just to see how it was done. I did it with a human hand and it seemed to work okay. I'll experiment when I get home and let you guys know what the results are.
The technique could work if, instead of straightforward scaling of the model, you made the model "fatten" based on the vertices' normals; doing so would also get rid of the second problem I mentioned and create a uniform line thickness.
On the left is a true outline. On the right is what you get if you expand the object. Because every point is a greater distance from the center, as opposed to the edge, you get outlines that don't quite match up.
However!
What I do for outlining text that should work for complex models is render the object (in this case text) in all black 4 times - once at the same position up and left 1 pixel, up and right 1 pixel, down and left 1 pixel, etc.
Oh wait, we're all in agreement then. I just distracted everybody by not having described it properly the first time.
I should've clarified that I didn't want to merely scale the model out. You're right, that doesn't work. I meant to describe a process wherein the vertex shader captures the normal of each vertex and transforms the vertex XX units along that normal. This would be used in conjunction with multiplying the input vertex position by the WorldInverse before multiplying by the View and Projection matrices, although I have to double check if multiplying by the WorldInverse gets the desired effect of turning the model inside out.
And then the pixel shader renders jet black.
I think my way is better than Delz's because it will capture interior edges of the model in addition to exterior edges. But anyway, hold me to this. I'm off work in 13 minutes and I'm gonna test this out the first thing I walk in the door.
Oh wait, we're all in agreement then. I just distracted everybody by not having described it properly the first time.
I should've clarified that I didn't want to merely scale the model out. You're right, that doesn't work. I meant to describe a process wherein the vertex shader captures the normal of each vertex and transforms the vertex XX units along that normal. This would be used in conjunction with multiplying the input vertex position by the WorldInverse before multiplying by the View and Projection matrices, although I have to double check if multiplying by the WorldInverse gets the desired effect of turning the model inside out.
And then the pixel shader renders jet black.
I think my way is better than Delz's because it will capture interior edges of the model in addition to exterior edges. But anyway, hold me to this. I'm off work in 13 minutes and I'm gonna test this out the first thing I walk in the door.
You could probably flip the model inside out by just switching the GraphicsDevice.RenderState.CullMode between the two passes.
EDIT: you can even define the cull mode inside the actual HLSL by using CULLMODE = CW or CULLMODE = CCW in the pass definitions
Okay, well, I was true to my promise of working on it the moment I went home. I also cooked dinner for my girlfriend, because I am that awesome.
And because boiling pasta ain't that hard.
Anyway, I got the multipass toon shader working. Kinda. The vertex shader is manipulating each vertex, but is somehow exploding the faces outward instead of the vertices. The end result is this (I've temporarily turned off the second pass):
Those gaps shouldn't be there, but I'm confused as to why they are.
Okay, well, I was true to my promise of working on it the moment I went home. I also cooked dinner for my girlfriend, because I am that awesome.
And because boiling pasta ain't that hard.
Anyway, I got the multipass toon shader working. Kinda. The vertex shader is manipulating each vertex, but is somehow exploding the faces outward instead of the vertices. The end result is this (I've temporarily turned off the second pass):
Those gaps shouldn't be there, but I'm confused as to why they are.
It's a nifty little game in which the objective is to herd sheeps by scaring them with your presence and your barks. It has Solo, Coop and Versus modes. Just for 80MP.
Many people have compared the game with Flock! on arcade, and concluded our game has a far better gameplay.
It's our second game in the system (the first one is Little Racers), and we'd appreciate any feedback, positive or negative, that anybody could give us. Right now our only goal is to make good games that people like.
Okay, well, I was true to my promise of working on it the moment I went home. I also cooked dinner for my girlfriend, because I am that awesome.
And because boiling pasta ain't that hard.
Anyway, I got the multipass toon shader working. Kinda. The vertex shader is manipulating each vertex, but is somehow exploding the faces outward instead of the vertices. The end result is this (I've temporarily turned off the second pass):
Those gaps shouldn't be there, but I'm confused as to why they are.
From what I can see here I'm guessing that the model's normals are the problem, not the shader.
You may be right, but I doubt it. I'll double check it again in 3DS Max when I get home, but I was playing with it last night and 3DS Max's Invert Normal and Push modifiers worked flawlessly in recreating the effect. The interior spikes are separate meshes but the ring is one whole primitive, it really shouldn't come apart like that.
I'm wondering, though... when the pixel shader receives normals from NORMAL0, does it get surface normals, or vertex normals? I would've thought the latter, but the reticle is exploding outward as if it was reading surface normals.
You may be right, but I doubt it. I'll double check it again in 3DS Max when I get home, but I was playing with it last night and 3DS Max's Invert Normal and Push modifiers worked flawlessly in recreating the effect. The interior spikes are separate meshes but the ring is one whole primitive, it really shouldn't come apart like that.
I'm wondering, though... when the pixel shader receives normals from NORMAL0, does it get surface normals, or vertex normals? I would've thought the latter, but the reticle is exploding outward as if it was reading surface normals.
Are the edges of the ring primitive smoothed? Usually normals are used for lighting, so if an edge isn't smoothed its vertices will have normals that match their respective surfaces.
The normals a shader receives are those sent to it by the application, which in most situations will be those stored in the model you are rendering; they are not calculated automatically.
It's a nifty little game in which the objective is to herd sheeps by scaring them with your presence and your barks. It has Solo, Coop and Versus modes. Just for 80MP.
Many people have compared the game with Flock! on arcade, and concluded our game has a far better gameplay.
It's our second game in the system (the first one is Little Racers), and we'd appreciate any feedback, positive or negative, that anybody could give us. Right now our only goal is to make good games that people like.
I gave it a try. I thought the visuals were cute, the controls decent, the price low, and the combo system nice, but in general, I'm not a big fan of games where you're trying to herd non-player characters around. Maybe it's more fun in the multiplayer modes.
Ok I haven't been around much lately (too many new games to play and new computer) but I'm back on my projects and hope to be able to get something playable early next year.
I just checked the review queue at creators.xna.com and it's in the 80+. The community seems to be growing nicely. I'm gonna have to start reviewing soon to help out with the load.
Speaking of doing reviews to help out the community...
Molly the Were-Zompire is in review. Last time, the only problem with the game was that one of the images showed up poorly on certain monitor color schemes. I took down the game, replaced the image, put it in playtesting, and according to everyone who tested it, everything's good now.
In any case, here's the link to the review page for the game - http://catalog.xna.com/en-US/GameDetails.aspx?catalogEntryId=8d40894e-e15b-42b3-9e15-6fc9e0699d89&type=1 - I would be very grateful to anyone who can review it and help it get through the queue. I've been trying to get this game up since October and have just been running into problem after problem so I'm really hoping to finally get it through this time.
Also, if you've played the old version, there's been a few minor additions since then (a new story path at the very beginning plus a few pictures here and there).
Man, this thread is limping along. Did someone take our collective entrepreneurial inclinations out back and shoot them? Whatever happened to OremLK, for one?
I'm still puttering along on my game, which is actually a game now, not just a series of graphical and shader tests. I hope to have it done by Christmas, but I doubt I have the time for all that development, let alone reviewing and peer testing.
I don't know what happened to OremLK. He was really active at first, but he hasn't posted in the thread for months.
I'll have to admit that I'm spending more and more time on my Indie Game Review site - zeboyd.com - which limits the time I spend here. Like just recently, I posted an entry on the background of my current game, an interview with the Chris Unarmed developer, a bunch of mini-reviews, and an article talking about a few games that went down in price recently. Speaking of which, Hexothermic & Ninja Guardian are both good games that have recently dropped to 80 MS points so you should all pick them up.
As for Molly the Were-Zompire, only a few more reviews and it will pass through peer review! Woohoo! (Thanks Handkor for being one of the reviews so far!).
I'm still working on my game, but I'm done with most of the stuff that makes for good videos and things like "cleaned up menu structure", "implemented trial mode" and "removed dependence on storage device" don't really make for exciting posts.
I got a 9-to-5 job. My daily enthusiasm levels are pretty much squat. I am still steadily chipping away at stuff, but my pace is much, much slower.
I suppose I can reiterate, just to make conversation, that a demo of the first third of my game (in terms of main-game content, not including unlockables and whatnot) is available at my site, linked to by my sig.
And if anyone's really interested, I could cobble together a video of the progress made by Hamsterball. I got it so that the ball actually sits on the curve rather than just tweening along it, and you can now make the ball jump and land back on the curve. In other words, all the easy stuff is over. XP Next would be making content builders or sprite work.
Kupi on
My favorite musical instrument is the air-raid siren.
I found myself in the G&T megaman thread lamenting the loss of frame-precise controls between X3 and X4, and attributed that loss (perhaps incorrectly) to an increased focus on larger, more detailed sprites, complete with more fluid animations.
Even if I'm right, I can't say I'm totally happy with the output. Perhaps it is something that only works with sprites.
Control wise, I'm hoping to emulate the Megaman Zero series. The "sprint" animation in the video was originally a "dash", but it looks silly for a non-robot to be propelled ahead by her heels.
Le sigh. So much work to do, and I haven't even tried environmental stuff yet.
Edit: I flag back and forth between control scheme ideas. I've tried more physics based stuff, but I've never been able to match up a sprint>standstill animation that looks convincing.
I got a 9-to-5 job. My daily enthusiasm levels are pretty much squat. I am still steadily chipping away at stuff, but my pace is much, much slower.
I suppose I can reiterate, just to make conversation, that a demo of the first third of my game (in terms of main-game content, not including unlockables and whatnot) is available at my site, linked to by my sig.
And if anyone's really interested, I could cobble together a video of the progress made by Hamsterball. I got it so that the ball actually sits on the curve rather than just tweening along it, and you can now make the ball jump and land back on the curve. In other words, all the easy stuff is over. XP Next would be making content builders or sprite work.
That's the exact issue I have. I program all day at work, so when I get home I'm all programmed out.
I have my engine in place, so I'm hoping to actually make some progress on the game proper over my Christmas vacation.
Since then, I'd also recommend Hexothermic & Ninja Guardian. Oh and of course, my games, Epiphany in Spaaace! and Molly the Were-Zompire (should be out today or tomorrow).
I got a 9-to-5 job. My daily enthusiasm levels are pretty much squat. I am still steadily chipping away at stuff, but my pace is much, much slower.
I suppose I can reiterate, just to make conversation, that a demo of the first third of my game (in terms of main-game content, not including unlockables and whatnot) is available at my site, linked to by my sig.
And if anyone's really interested, I could cobble together a video of the progress made by Hamsterball. I got it so that the ball actually sits on the curve rather than just tweening along it, and you can now make the ball jump and land back on the curve. In other words, all the easy stuff is over. XP Next would be making content builders or sprite work.
That's the exact issue I have. I program all day at work, so when I get home I'm all programmed out.
I have my engine in place, so I'm hoping to actually make some progress on the game proper over my Christmas vacation.
For whatever game I make after Shadows Over Volgadan (be it the full implementation of Hamsterball or the plot-heavy Metroidvania I've had in the wings for a long while), I am definitely going to make content authoring systems (like animation handlers and level builders) a priority. I've spent an unconscionable amount of time implementing duplicate solutions, and unfortunately I'm at a point where it no longer matters (and doing it more efficiently would actually cost more time than it would save). Next time, though, I'm paving roads before trying to reach Oregon.
Kupi on
My favorite musical instrument is the air-raid siren.
Posts
Have you heard about TIGSource's Assemblee Competition? Even if you don't sign up for the actual competition part, the music and art will eventually be made freely available for non-commercial games anyway.
New character mesh! Now with 100% more pinstripes and sexy!
The shading on the brim of the hat seems a bit glitchy though, especially its right side.
Sexy... and the knee/calf area might need some smoothing.
e: Also, maybe some snazzy buttons on the vest?
PSN: Dyvion -- Eternal: Dyvion+9393 -- Genshin Impact: Dyvion
Also, in strange news, I got an email from a company called Guan Steed Games offering to publish my game. They called it a "cowboy extravaganza", so they've at least looked at it, but the whole thing seems weird. I couldn't find anything on Guan Steed except that a Chinese general named Guan Yu had a horse that was famous or something. They were offering to publish a PC port with Games for Windows certification, distribute it, pay royalties.
I wish I could feel flattered by this, but the fact that I know there's nothing I've put on line that really shows what the game is like, combined with the lack of info on the company, relegates this to an interesting footnote in my day.
Also, specular highlights fur mein wasser:
http://www.youtube.com/watch?v=InwZo8O8jU0
Well, that's it. My water and world shaders are pretty much done. Aside from some 2D HUD artwork and minor shader effects for things like the Selector, my engine is ready to roll and I have no excuse to NOT be working on the game itself. Except for the toon shader. That's a good excuse. But I really need to take that next step. Game out by Christmas is my goal! Hope y'all like edutainment.
(from this page if that image disappears)
(I'll think about it.)
That method of creating outlines will only work properly on (mostly) convex shapes, as well as having the side-effect of creating thicker outlines on larger objects. You can work around the first problem by dividing the models of concave objects into several convex objects though, and the second problem should be negliable in most cases.
Edit: Beat'd!
The technique could work if, instead of straightforward scaling of the model, you made the model "fatten" based on the vertices' normals; doing so would also get rid of the second problem I mentioned and create a uniform line thickness.
On the left is a true outline. On the right is what you get if you expand the object. Because every point is a greater distance from the center, as opposed to the edge, you get outlines that don't quite match up.
However!
What I do for outlining text that should work for complex models is render the object (in this case text) in all black 4 times - once at the same position up and left 1 pixel, up and right 1 pixel, down and left 1 pixel, etc.
Edit: Goddamn you Sav!
I should've clarified that I didn't want to merely scale the model out. You're right, that doesn't work. I meant to describe a process wherein the vertex shader captures the normal of each vertex and transforms the vertex XX units along that normal. This would be used in conjunction with multiplying the input vertex position by the WorldInverse before multiplying by the View and Projection matrices, although I have to double check if multiplying by the WorldInverse gets the desired effect of turning the model inside out.
And then the pixel shader renders jet black.
I think my way is better than Delz's because it will capture interior edges of the model in addition to exterior edges. But anyway, hold me to this. I'm off work in 13 minutes and I'm gonna test this out the first thing I walk in the door.
You could probably flip the model inside out by just switching the GraphicsDevice.RenderState.CullMode between the two passes.
EDIT: you can even define the cull mode inside the actual HLSL by using CULLMODE = CW or CULLMODE = CCW in the pass definitions
And because boiling pasta ain't that hard.
Anyway, I got the multipass toon shader working. Kinda. The vertex shader is manipulating each vertex, but is somehow exploding the faces outward instead of the vertices. The end result is this (I've temporarily turned off the second pass):
Those gaps shouldn't be there, but I'm confused as to why they are.
My shader code:
float4x4 WorldViewProjection; float EdgeLength = 0.5; struct VertexShaderInput { float4 Position : POSITION0; float3 Normal : NORMAL0; }; struct VertexShaderOutput { float4 Position : POSITION0; }; struct PixelShaderOutput { float4 Color : COLOR0; }; VertexShaderOutput VSOutlineFunction(VertexShaderInput input) { VertexShaderOutput output; output.Position = float4(input.Position + (normalize(input.Normal) * EdgeLength), 1); output.Position = mul(output.Position, WorldViewProjection); return output; } VertexShaderOutput VSDrawFunction(VertexShaderInput input) { VertexShaderOutput output; output.Position = mul(input.Position, WorldViewProjection); return output; } PixelShaderOutput PSOutlineFunction(VertexShaderOutput input) { PixelShaderOutput output; output.Color = float4(0, 0, 0, 1); return output; } PixelShaderOutput PSDrawFunction(VertexShaderOutput input) { PixelShaderOutput output; output.Color = float4(0, 1, 0, 1); return output; } technique Technique1 { pass Pass1 { Cullmode = CW; VertexShader = compile vs_1_1 VSOutlineFunction(); PixelShader = compile ps_1_1 PSOutlineFunction(); } /* pass Pass2 { Cullmode = CCW; VertexShader = compile vs_1_1 VSDrawFunction(); PixelShader = compile ps_1_1 PSDrawFunction(); } */ }From what I can see here I'm guessing that the model's normals are the problem, not the shader.
It's a nifty little game in which the objective is to herd sheeps by scaring them with your presence and your barks. It has Solo, Coop and Versus modes. Just for 80MP.
Many people have compared the game with Flock! on arcade, and concluded our game has a far better gameplay.
It's our second game in the system (the first one is Little Racers), and we'd appreciate any feedback, positive or negative, that anybody could give us. Right now our only goal is to make good games that people like.
You may be right, but I doubt it. I'll double check it again in 3DS Max when I get home, but I was playing with it last night and 3DS Max's Invert Normal and Push modifiers worked flawlessly in recreating the effect. The interior spikes are separate meshes but the ring is one whole primitive, it really shouldn't come apart like that.
I'm wondering, though... when the pixel shader receives normals from NORMAL0, does it get surface normals, or vertex normals? I would've thought the latter, but the reticle is exploding outward as if it was reading surface normals.
Are the edges of the ring primitive smoothed? Usually normals are used for lighting, so if an edge isn't smoothed its vertices will have normals that match their respective surfaces.
The normals a shader receives are those sent to it by the application, which in most situations will be those stored in the model you are rendering; they are not calculated automatically.
I gave it a try. I thought the visuals were cute, the controls decent, the price low, and the combo system nice, but in general, I'm not a big fan of games where you're trying to herd non-player characters around. Maybe it's more fun in the multiplayer modes.
Zeboyd Games Development Blog
Steam ID : rwb36, Twitter : Werezompire, Facebook : Zeboyd Games
Behold! Molly in all her glory!
EDIT: Molly the Were-Zompire can now be peer reviewed - http://catalog.xna.com/en-US/GameDetails.aspx?catalogEntryId=72a5329f-b880-40e0-be00-273d34f42a64&type=1
Zeboyd Games Development Blog
Steam ID : rwb36, Twitter : Werezompire, Facebook : Zeboyd Games
I just checked the review queue at creators.xna.com and it's in the 80+. The community seems to be growing nicely. I'm gonna have to start reviewing soon to help out with the load.
Steam: Handkor
Molly the Were-Zompire is in review. Last time, the only problem with the game was that one of the images showed up poorly on certain monitor color schemes. I took down the game, replaced the image, put it in playtesting, and according to everyone who tested it, everything's good now.
In any case, here's the link to the review page for the game - http://catalog.xna.com/en-US/GameDetails.aspx?catalogEntryId=8d40894e-e15b-42b3-9e15-6fc9e0699d89&type=1 - I would be very grateful to anyone who can review it and help it get through the queue. I've been trying to get this game up since October and have just been running into problem after problem so I'm really hoping to finally get it through this time.
Also, if you've played the old version, there's been a few minor additions since then (a new story path at the very beginning plus a few pictures here and there).
Zeboyd Games Development Blog
Steam ID : rwb36, Twitter : Werezompire, Facebook : Zeboyd Games
I'm still puttering along on my game, which is actually a game now, not just a series of graphical and shader tests. I hope to have it done by Christmas, but I doubt I have the time for all that development, let alone reviewing and peer testing.
http://www.youtube.com/watch?v=fmNAIL-CBPE
I'll have to admit that I'm spending more and more time on my Indie Game Review site - zeboyd.com - which limits the time I spend here. Like just recently, I posted an entry on the background of my current game, an interview with the Chris Unarmed developer, a bunch of mini-reviews, and an article talking about a few games that went down in price recently. Speaking of which, Hexothermic & Ninja Guardian are both good games that have recently dropped to 80 MS points so you should all pick them up.
As for Molly the Were-Zompire, only a few more reviews and it will pass through peer review! Woohoo! (Thanks Handkor for being one of the reviews so far!).
Zeboyd Games Development Blog
Steam ID : rwb36, Twitter : Werezompire, Facebook : Zeboyd Games
I suppose I can reiterate, just to make conversation, that a demo of the first third of my game (in terms of main-game content, not including unlockables and whatnot) is available at my site, linked to by my sig.
And if anyone's really interested, I could cobble together a video of the progress made by Hamsterball. I got it so that the ball actually sits on the curve rather than just tweening along it, and you can now make the ball jump and land back on the curve. In other words, all the easy stuff is over. XP Next would be making content builders or sprite work.
http://www.youtube.com/watch?v=HjlWpN4GT_Y
Cross posted from AC:
Just 38 more to go!
http://www.youtube.com/watch?v=_2Ikcy3xVwQ
That's the exact issue I have. I program all day at work, so when I get home I'm all programmed out.
I have my engine in place, so I'm hoping to actually make some progress on the game proper over my Christmas vacation.
Zeboyd Games Development Blog
Steam ID : rwb36, Twitter : Werezompire, Facebook : Zeboyd Games
I've got a bad case of lovin' you.
http://zeboyd.com/2009/10/26/10-indie-games-for-1-each/
Since then, I'd also recommend Hexothermic & Ninja Guardian. Oh and of course, my games, Epiphany in Spaaace! and Molly the Were-Zompire (should be out today or tomorrow).
Zeboyd Games Development Blog
Steam ID : rwb36, Twitter : Werezompire, Facebook : Zeboyd Games
Anybody trying out this year?
Steam: Handkor
I might give it a try.
For whatever game I make after Shadows Over Volgadan (be it the full implementation of Hamsterball or the plot-heavy Metroidvania I've had in the wings for a long while), I am definitely going to make content authoring systems (like animation handlers and level builders) a priority. I've spent an unconscionable amount of time implementing duplicate solutions, and unfortunately I'm at a point where it no longer matters (and doing it more efficiently would actually cost more time than it would save). Next time, though, I'm paving roads before trying to reach Oregon.