With games like "Try Not To Far" being among the service's biggest financial successes, I don't think you have to worry too much about immaturity... :P
As far as violent titles go.. well, there have been violent titles in the past. The one that comes to recent memory is "Bloody Death." Not sure a title gets much more violent sounding than that.
As for your other questions, I'm sure the other guys here with longer experiences with XBLIG, peer review rules, and past titles can help you out more.
Nice to see GameInformer having a look - kind of another swab from the best rated list which I guess makes sense.
I think that title is pretty solid Alejandro - memorable, a little gimmicky (good thing), and edgy. I fear what the google search spits back, but hopefully it will be your game first, and actually dying puppies far far away:). As far as I can tell, you're not stepping over any lines here. Blood/gore is okay and unless you have some ultra-real graphics coming, I've seen plenty of titles with cartoony blood.
I am little lost on the gameplay but the mechanic + theme is interesting.
Oh, sorry. The game mechanic will be "you must save X number of Critters, but you have Y total, and you need Z of them as ammo for solving puzzles." I have yet to program out the doors/hot air balloons/other methods of saving Critters once all puzzles have been solved, so these videos just kind of show off the implementation of various mechanics.
I figured I should mention: I made another thread for newbie XNA programming. Many of you guys are probably at a level beyond what that thread is trying to accomplish. But here it is: Newbie XNA Game Programming Thread: One SpriteBatch Per Customer Please!
I wouldn't normally pimp my own thread like this, but the topics are directly related and the thread has had 30 replies who were not me. I think it's going to be a thing.
mspencer on
MEMBER OF THE PARANOIA GM GUILD
XBL Michael Spencer || Wii 6007 6812 1605 7315 || PSN MichaelSpencerJr || Steam Michael_Spencer || Ham NOØK QRZ || My last known GPS coordinates: FindU or APRS.fi (Car antenna feed line busted -- no ham radio for me X__X )
However, I'm wondering if I'm being too immature with the titling and the thematic elements. I know that I'm going for a premise that's more than a bit immature - solving puzzles with cute, high-pitched animals that might land on a buzzsaw - but do you guys think that immaturity can be a successful selling point, or a handicap?
As already stated by a few others, some of the best selling games on XBL Indie are only that way because they stick out with stupid immature themes and style. Hell, I MADE A GAME WITH ZOMBIES!!!! isn't even the most amazing dual stick shooter and has very limited replay value but I love it just because of how goddamn ridiculous it is. That sort of quirky humor is a huge plus and I think you've got a good theme going.
The gameplay looks like it has great potential. I would actually recommend if you haven't to play through Portal with commentary on or at least read about how Valve and other game developers ramp up difficulty and complexity of puzzles in puzzle games as the player advances. You look like you are going to have exactly the type of game where you'll want to introduce different mechanics little by little and ramp puzzles up each time... it might be good to see how other games have managed to do this successfully.
However, I'm wondering if I'm being too immature with the titling and the thematic elements. I know that I'm going for a premise that's more than a bit immature - solving puzzles with cute, high-pitched animals that might land on a buzzsaw - but do you guys think that immaturity can be a successful selling point, or a handicap?
As already stated by a few others, some of the best selling games on XBL Indie are only that way because they stick out with stupid immature themes and style. Hell, I MADE A GAME WITH ZOMBIES!!!! isn't even the most amazing dual stick shooter and has very limited replay value but I love it just because of how goddamn ridiculous it is. That sort of quirky humor is a huge plus and I think you've got a good theme going.
The gameplay looks like it has great potential. I would actually recommend if you haven't to play through Portal with commentary on or at least read about how Valve and other game developers ramp up difficulty and complexity of puzzles in puzzle games as the player advances. You look like you are going to have exactly the type of game where you'll want to introduce different mechanics little by little and ramp puzzles up each time... it might be good to see how other games have managed to do this successfully.
That's an excellent idea. I've never played Portal with commentary on, AND I have yet to see the new ending that preps Portal 2.
I agree that humor, mockary, and absurd game themes are usually huge plusses. It seems that the general audience browsing the channel will spend a buck on things just because they are bizarre or funny or both. It's not a guarantee for success, but if you have no other set route, you might as well take that one.
Exploding zombie chickens? Sure why not.
As an aside, this site is running a free giveaway for a a bunch of XBLIG titles (if anyone has been pondering trying these).
Ooh, I tried Lumi yesterday. Not worth $5, but I might as well try my hand at this retweeting contest.
Btw, does anyone know how to have a pixel shader process SpriteBatch.Draw calls without giving it a Texture2D to work its magic on? Right now, I'm doing:
-> Draw to RenderTarget, resolve RenderTarget to Texture2D #1
-> Plug Texture2D #1 into Pixel Shader Param, Draw to RenderTarget, resolve RenderTarget to Texture2D #2
-> Draw the final scene using the info in the Texture2D #2
I'm assuming there's a way to do this without step 1 and without using a TextureSampler in step 2. Can the pixel shader just read the incoming pixel color? I tried setting up my pixel shader as
Ooh, I tried Lumi yesterday. Not worth $5, but I might as well try my hand at this retweeting contest.
Btw, does anyone know how to have a pixel shader process SpriteBatch.Draw calls without giving it a Texture2D to work its magic on? Right now, I'm doing:
-> Draw to RenderTarget, resolve RenderTarget to Texture2D #1
-> Plug Texture2D #1 into Pixel Shader Param, Draw to RenderTarget, resolve RenderTarget to Texture2D #2
-> Draw the final scene using the info in the Texture2D #2
I'm assuming there's a way to do this without step 1 and without using a TextureSampler in step 2. Can the pixel shader just read the incoming pixel color? I tried setting up my pixel shader as
Ahhhh that was my issue, I was activating the pixel shader inside the SpriteBatch.Begin() and .End() calls instead of the other way around. It works perfectly now, thanks!
Wait a minute, you both said the same thing. spritebatch.begin, begin the effect, end the effecct, end the spritebatch. Were you activating the pixel shader OUTSIDE the spritebatch begin and end, and now that you're doing it inside it's working fine?
mspencer on
MEMBER OF THE PARANOIA GM GUILD
XBL Michael Spencer || Wii 6007 6812 1605 7315 || PSN MichaelSpencerJr || Steam Michael_Spencer || Ham NOØK QRZ || My last known GPS coordinates: FindU or APRS.fi (Car antenna feed line busted -- no ham radio for me X__X )
And Apple Jack took you 6 months to draw? Damn, man. I want to do some hand drawn art for CTDV and that admission of yours just sent chills up my spine.
Yeah, it took at least 6 months to animate all the characters and draw all the tiles and backgrounds for the 5 worlds. I am VERY slow though, so I wouldn't get too discouraged.
War Womb will be a twin stick, bullet hell puzzle game.
Good to see new projects coming around, though art really is a bitch.
I decided to base my game around a card system. It made it really easy to program, but as I started to dispense with the placeholder art, I realized that:
Card-based games need a lot of cards to offer any variety and depth,
And that each card will need its own unique artwork.
About 20 more cards to go, and I'll be able to throw my bizarre adventure game into the mix.
Holofernes on
it's like you know your perspective's fucked so you just let your hands work the controls as if you were straight
Yeah, it took at least 6 months to animate all the characters and draw all the tiles and backgrounds for the 5 worlds. I am VERY slow though, so I wouldn't get too discouraged.
War Womb will be a twin stick, bullet hell puzzle game.
I've been thinkingabout bullet-hell type games lately. I wonder if there isn't some fancy computer sciencey way to algorithmically generate fields of bullets that try to herd players in certain directions, by keeping track of what areas of the screen are denied or will be denied at certain times in the near future.
Others have said mostly these games are created with bullet emitters with certain well-known patterns: firing in a straight line, firing in an arc pattern, that kind of thing. Maybe that's a better way to go because it's familiar to people. I don't know.
(My plan for v3 is to figure out the math required to lead the player if they travel in various directions, painting perhaps nine "aim points" near the player to represent the intercept course to the player if they travel in each of the eight cardinal directions, plus one representing the player's "average velocity" if they're tapping a movement direction for example. Then maybe have the emitter choose randomly from those nine (or fewer) targets and fire at one.)
mspencer on
MEMBER OF THE PARANOIA GM GUILD
XBL Michael Spencer || Wii 6007 6812 1605 7315 || PSN MichaelSpencerJr || Steam Michael_Spencer || Ham NOØK QRZ || My last known GPS coordinates: FindU or APRS.fi (Car antenna feed line busted -- no ham radio for me X__X )
We're head-down on the HUD and Inventory system for Ophdian Wars: Legend of Kilflame. It's actually really fun work, but the design decisions for an action/RPG are intricate and endless. It's one of things were it's hard to please everyone. Differing from the norms is often met with confusion and using the norms means it's feels like you followed the same ideas everyone uses. Tough calls.
So, I am going to my friend's place tomorrow and we are going into the planning stages for a game. I can't waiiiiit. I think I have an idea that hasn't been done, although I could be wrong.
I've been thinking about bullet-hell type games lately....
I'm definitely going for the mindless 'bullet patterns' method, and having a quick look at some of Cave's games on MAME they seem to do it the easy way, although there may be some sort of clever algorithm being used to maximise the bullet fun that I haven't spotted.
I want to draw some decal sprites that use another texture (a rendering of all the solid objects in my level) to determine whether or not sections of the decal sprites are visible. That way, it won't draw the full decal off into blank space and will only overlay them where there's a solid object.
In essence, it should be a simple pixel shader that uses another Mask Texture to determine pixel alpha values.
However, despite me passing the Mask Texture into the pixel shader, the pixel shader refuses to use it. No matter how I define the Texture and the Sampler inside the pixel shader, it always samples the decal sprite texture instead of the Mask Texture.
I poked around, and found out this on MSDN: "Although we declare the texture as an external parameter [in the pixel shader], actually the SpriteBatch populates the texture when it draws to the screen." It's at: http://msdn.microsoft.com/en-us/library/bb313868.aspx
I understand why it does that, but does anyone know how to have my pixel shader sample a completely separate texture (my Mask Texture) without overriding it?
I want to draw some decal sprites that use another texture (a rendering of all the solid objects in my level) to determine whether or not sections of the decal sprites are visible. That way, it won't draw the full decal off into blank space and will only overlay them where there's a solid object.
In essence, it should be a simple pixel shader that uses another Mask Texture to determine pixel alpha values.
However, despite me passing the Mask Texture into the pixel shader, the pixel shader refuses to use it. No matter how I define the Texture and the Sampler inside the pixel shader, it always samples the decal sprite texture instead of the Mask Texture.
I poked around, and found out this on MSDN: "Although we declare the texture as an external parameter [in the pixel shader], actually the SpriteBatch populates the texture when it draws to the screen." It's at: http://msdn.microsoft.com/en-us/library/bb313868.aspx
I understand why it does that, but does anyone know how to have my pixel shader sample a completely separate texture (my Mask Texture) without overriding it?
If you want to limit drawing to a specific area, you should use the stencil buffer (unless there's a reason why you can't).
savooipeerd on
[SIGPIC][/SIGPIC]
0
UnbrokenEvaHIGH ON THE WIREBUT I WON'T TRIP ITRegistered Userregular
edited August 2010
I have a question regarding XNAs capabilities I'm hoping one of you can answer.
My current project is more of a game framework than a proper game - I want to build a turn-based tactics engine that can then be modded into whatever setting I (or others) want. The goal is to bake as little as possible beyond the game logic into the exe, and leave as much as possible in terms of art assets and configuration/scripting files externally editable/replaceable. I don't expect it to import any mesh format on the fly - I assume I'd need the meshes to be pre-converted into a format the engine can use.
I've ruled out Unity3d as a platform for this as it compiles all assets into a single file. Is XNA any more capable for making mod-friendly games?
I want to draw some decal sprites that use another texture (a rendering of all the solid objects in my level) to determine whether or not sections of the decal sprites are visible. That way, it won't draw the full decal off into blank space and will only overlay them where there's a solid object.
In essence, it should be a simple pixel shader that uses another Mask Texture to determine pixel alpha values.
However, despite me passing the Mask Texture into the pixel shader, the pixel shader refuses to use it. No matter how I define the Texture and the Sampler inside the pixel shader, it always samples the decal sprite texture instead of the Mask Texture.
I poked around, and found out this on MSDN: "Although we declare the texture as an external parameter [in the pixel shader], actually the SpriteBatch populates the texture when it draws to the screen." It's at: http://msdn.microsoft.com/en-us/library/bb313868.aspx
I understand why it does that, but does anyone know how to have my pixel shader sample a completely separate texture (my Mask Texture) without overriding it?
If you want to limit drawing to a specific area, you should use the stencil buffer (unless there's a reason why you can't).
... is that really the preferable way? Cuz that involves all sorts of graphics device render state switches which I'm currently stuck in the middle of and having a terrible time getting to work.
I just want my damn pixel shader to do what I tell it. :?
You might try making a texture with an alpha channel that starts out as transparent, using Texture2D.GetData<Color>() to load the texture data you care about into an array, use array manipulation to selectively make parts opaque, and then use Texture2D.SetData<Color>() to load the array data back into the texture.
mspencer on
MEMBER OF THE PARANOIA GM GUILD
XBL Michael Spencer || Wii 6007 6812 1605 7315 || PSN MichaelSpencerJr || Steam Michael_Spencer || Ham NOØK QRZ || My last known GPS coordinates: FindU or APRS.fi (Car antenna feed line busted -- no ham radio for me X__X )
I've been thinking about bullet-hell type games lately....
I'm definitely going for the mindless 'bullet patterns' method, and having a quick look at some of Cave's games on MAME they seem to do it the easy way, although there may be some sort of clever algorithm being used to maximise the bullet fun that I haven't spotted.
You might try making a texture with an alpha channel that starts out as transparent, using Texture2D.GetData<Color>() to load the texture data you care about into an array, use array manipulation to selectively make parts opaque, and then use Texture2D.SetData<Color>() to load the array data back into the texture.
I could, but that would put a huge burden on the processor as opposed to the video card.
You might try making a texture with an alpha channel that starts out as transparent, using Texture2D.GetData<Color>() to load the texture data you care about into an array, use array manipulation to selectively make parts opaque, and then use Texture2D.SetData<Color>() to load the array data back into the texture.
I could, but that would put a huge burden on the processor as opposed to the video card.
And the video bus especially.
But that's what I was thinking: the data that describes which parts are visible and which are not has to get to the graphics card somehow. Either you have a stencil buffer or a texture's alpha channel and that data exists in array or texture form; or you have some list of primitives or something that summarizes the array or texture, which gets sent over the video bus in summary form, and the shader code unpacks that in an effects pass.
Which is the case? How does the data exist before it gets to the graphics card? (I mean, what format?)
Edit: oh and I should've asked: how many of these dynamically-obscured textures are you going to have, and how many differently-obscured "instances" might exist in a scene at once? How large of a source texture will you be using?
mspencer on
MEMBER OF THE PARANOIA GM GUILD
XBL Michael Spencer || Wii 6007 6812 1605 7315 || PSN MichaelSpencerJr || Steam Michael_Spencer || Ham NOØK QRZ || My last known GPS coordinates: FindU or APRS.fi (Car antenna feed line busted -- no ham radio for me X__X )
Ehhh, I get tired just trying to explain it. I'd actually bother to type it all out, but I found a way to get it working with Stencil Masking.
Right now, the mask of solid world objects has a solid white Alpha where the objects are, and no Alpha everywhere else. That leaves me with an inverted mask... apparently, masks usually work where 1 = full occlusion, 0 = go ahead and draw.
I could go back and invert this with the pixel shader I was bitching about earlier, but due to several circumstances, adding Alpha inversion would be done by an additional, bloated batch of code that I doubt really needs to exist. I'll invert the damn thing if need be, but I'm figuring there's gotta be a way for Stencil Masking to treat 1 = go ahead and draw, and 0 = full occlusion.
However, I'm sitting here doing everything in my power to get that to work, and it refuses to do so. I've toggled every damn Stencil setting without any luck. The only thing worse than a programmer having code that breaks is a programmer having code that refuses to break. If it'd just break, I could start narrowing down exactly what I need to do.
1 + 1 = Our Lord and Savior Jesus Christ, according to XNA. It has yet to return a 2.
Contra efficient coding, I just decided to manually invert the mask with a pixel shader. Except, the pixel shader is playing havoc with the texture I'm trying to invert. Remember, on the RGB channel of my Mask Texture, it's got the normal color info for all the solid object bricks I put in my level. In the Alpha channel, it's true white wherever there's a brick and black wherever there isn't one.
This pixel shader code returns the original texture exactly:
What sort of source blend and blend function are you using?
savooipeerd on
[SIGPIC][/SIGPIC]
0
UnbrokenEvaHIGH ON THE WIREBUT I WON'T TRIP ITRegistered Userregular
edited August 2010
Okay, I did some research (i.e. poked around a friend's XNA game files) and found that all of the assets are stored as .XNB files within the game directory. Is it possible to convert models/textures/etc to .XNB separately, and then replace the ones in the game data with them?
XNA Content Builder looks promising, but if that's out of date I would be okay with prospective modders needing to have Visual Studio/XNA Game Studio installed to produce the files provided the engine can handle having .XNBs replaced after the project is already built?
Defaults, which should be SourceBlend = Blend.One and DestinationBlend = Blend.Zero.
...
Since I started typing this response, I finally got the pixel shader to work. I neglected to enable SaveStateMode.SaveState when starting the SpriteBatch that was drawing the texture to be shaded. Sigh.
Thanks for your help though! I'm sure something else will break momentarily.
Okay, I did some research (i.e. poked around a friend's XNA game files) and found that all of the assets are stored as .XNB files within the game directory. Is it possible to convert models/textures/etc to .XNB separately, and then replace the ones in the game data with them?
XNA Content Builder looks promising, but if that's out of date I would be okay with prospective modders needing to have Visual Studio/XNA Game Studio installed to produce the files provided the engine can handle having .XNBs replaced after the project is already built?
If you are targetting the xbox forget about modding, users will not be able to load their files.
As for XNA on PC, you can read any file without having to force them into xnb files. When I first started using XNA I converted my engine from DirectX and my texture loading code did not use the content architecture. I was instead just calling Texture.FromFile(). Same thing with shaders you can read them independantly.
As for models it gets a bit trickier, I use my own custom model class and used to have my own custom format. Recently I've written my own content importer and just use fbx and xnb files.
On the PC you can just read the contents of a folder and read any file you find there so modding support is still very easy to setup if you make your app work with external resources instead of xnb's.
Make sure you wrap all your loading code through helper classes to allow you to easily switch between sources. I added #if XBOX360 in my wrapper and could make my project load xnb files with all my packaged resources for the 360 or when on PC just read the resources normally.
Although you need to design your game to make good use of it from the start, I've wondered whether it's feasible to build a VM inside your program that will handle the game scripting and enable procedural content generation. Use that to make a cool showcase game. Then make an online infrastructure to let people share their games built to run on the same VM that your game uses. You wouldn't need to save anything to disk because it's all code, small enough to download every time you start the program.
I certainly think it's technically possible to get something like that running in XNA on the Xbox, but I wonder if they have some stupid license clause that forbids you from distributing a VM (like apple has) or makes it impossible to get 'certified' because 'people might add a dick to your program'. By the time you spent the effort of building a VM and an online game sharing service you might as well start thinking about going for XBLA proper. Then some of your effort has been for naught since you could just have used the .Net VM to build your scripting language.
I haven't dug around much but this thread talks about scripting on XNA.
Okay, I did some research (i.e. poked around a friend's XNA game files) and found that all of the assets are stored as .XNB files within the game directory. Is it possible to convert models/textures/etc to .XNB separately, and then replace the ones in the game data with them?
XNA Content Builder looks promising, but if that's out of date I would be okay with prospective modders needing to have Visual Studio/XNA Game Studio installed to produce the files provided the engine can handle having .XNBs replaced after the project is already built?
If you are targetting the xbox forget about modding, users will not be able to load their files.
As for XNA on PC, you can read any file without having to force them into xnb files. When I first started using XNA I converted my engine from DirectX and my texture loading code did not use the content architecture. I was instead just calling Texture.FromFile(). Same thing with shaders you can read them independantly.
As for models it gets a bit trickier, I use my own custom model class and used to have my own custom format. Recently I've written my own content importer and just use fbx and xnb files.
On the PC you can just read the contents of a folder and read any file you find there so modding support is still very easy to setup if you make your app work with external resources instead of xnb's.
Make sure you wrap all your loading code through helper classes to allow you to easily switch between sources. I added #if XBOX360 in my wrapper and could make my project load xnb files with all my packaged resources for the 360 or when on PC just read the resources normally.
Currently no plans for the xbox, and I don't have one to test with anyways. If I change my mind down the road I can always build one of the better mods/implementations into a standalone game.
This is exactly what I wanted to hear though, thanks!
Trumpets, the day is nearing when I'll need to start drawing some of the artwork for CTDV. What setup did you use for Apple Jack?
I'm tempted to buy a decent scanner and follow the Bryan Lee O'Malley method described in depth in the back of Scott Pilgrim Volume 6, but I wanted to ask around first.
Posts
EDIT: In other news, Game Informer just did an XBLIG highlight article that mentioned us - http://gameinformer.com/b/features/archive/2010/07/27/ten-super-cheap-xbox-indie-games-you-have-to-play.aspx
Zeboyd Games Development Blog
Steam ID : rwb36, Twitter : Werezompire, Facebook : Zeboyd Games
As far as violent titles go.. well, there have been violent titles in the past. The one that comes to recent memory is "Bloody Death." Not sure a title gets much more violent sounding than that.
As for your other questions, I'm sure the other guys here with longer experiences with XBLIG, peer review rules, and past titles can help you out more.
edit: beaten!
Steam ID: slashx000______Twitter: @bill_at_zeboyd______ Facebook: Zeboyd Games
I think that title is pretty solid Alejandro - memorable, a little gimmicky (good thing), and edgy. I fear what the google search spits back, but hopefully it will be your game first, and actually dying puppies far far away:). As far as I can tell, you're not stepping over any lines here. Blood/gore is okay and unless you have some ultra-real graphics coming, I've seen plenty of titles with cartoony blood.
I am little lost on the gameplay but the mechanic + theme is interesting.
Ophidian Wars: Opac's Journey
Newbie XNA Game Programming Thread: One SpriteBatch Per Customer Please!
I wouldn't normally pimp my own thread like this, but the topics are directly related and the thread has had 30 replies who were not me. I think it's going to be a thing.
XBL Michael Spencer || Wii 6007 6812 1605 7315 || PSN MichaelSpencerJr || Steam Michael_Spencer || Ham NOØK
QRZ || My last known GPS coordinates: FindU or APRS.fi (Car antenna feed line busted -- no ham radio for me X__X )
As already stated by a few others, some of the best selling games on XBL Indie are only that way because they stick out with stupid immature themes and style. Hell, I MADE A GAME WITH ZOMBIES!!!! isn't even the most amazing dual stick shooter and has very limited replay value but I love it just because of how goddamn ridiculous it is. That sort of quirky humor is a huge plus and I think you've got a good theme going.
The gameplay looks like it has great potential. I would actually recommend if you haven't to play through Portal with commentary on or at least read about how Valve and other game developers ramp up difficulty and complexity of puzzles in puzzle games as the player advances. You look like you are going to have exactly the type of game where you'll want to introduce different mechanics little by little and ramp puzzles up each time... it might be good to see how other games have managed to do this successfully.
That's an excellent idea. I've never played Portal with commentary on, AND I have yet to see the new ending that preps Portal 2.
Exploding zombie chickens? Sure why not.
As an aside, this site is running a free giveaway for a a bunch of XBLIG titles (if anyone has been pondering trying these).
Ophidian Wars: Opac's Journey
Btw, does anyone know how to have a pixel shader process SpriteBatch.Draw calls without giving it a Texture2D to work its magic on? Right now, I'm doing:
-> Draw to RenderTarget, resolve RenderTarget to Texture2D #1
-> Plug Texture2D #1 into Pixel Shader Param, Draw to RenderTarget, resolve RenderTarget to Texture2D #2
-> Draw the final scene using the info in the Texture2D #2
I'm assuming there's a way to do this without step 1 and without using a TextureSampler in step 2. Can the pixel shader just read the incoming pixel color? I tried setting up my pixel shader as
and working from texColor, but that didn't work.
It's been a while since I actually had time to code XNA stuff, but I think it should work if you define your pixel shader like this:
Just make sure you Begin() and End() the effect inside the SpriteBatch.Begin() and End().
XBL Michael Spencer || Wii 6007 6812 1605 7315 || PSN MichaelSpencerJr || Steam Michael_Spencer || Ham NOØK
QRZ || My last known GPS coordinates: FindU or APRS.fi (Car antenna feed line busted -- no ham radio for me X__X )
1) It won't be too hard to make.
2) It won't require much in the way of drawing (unlike Apple Jack which needed 6 months).
3) It's an original idea.
and its name? Brace yourselves:
WAR WOMB!
And Apple Jack took you 6 months to draw? Damn, man. I want to do some hand drawn art for CTDV and that admission of yours just sent chills up my spine.
War Womb will be a twin stick, bullet hell puzzle game.
I decided to base my game around a card system. It made it really easy to program, but as I started to dispense with the placeholder art, I realized that:
Card-based games need a lot of cards to offer any variety and depth,
And that each card will need its own unique artwork.
About 20 more cards to go, and I'll be able to throw my bizarre adventure game into the mix.
I've been thinking about bullet-hell type games lately. I wonder if there isn't some fancy computer sciencey way to algorithmically generate fields of bullets that try to herd players in certain directions, by keeping track of what areas of the screen are denied or will be denied at certain times in the near future.
Others have said mostly these games are created with bullet emitters with certain well-known patterns: firing in a straight line, firing in an arc pattern, that kind of thing. Maybe that's a better way to go because it's familiar to people. I don't know.
(My plan for v3 is to figure out the math required to lead the player if they travel in various directions, painting perhaps nine "aim points" near the player to represent the intercept course to the player if they travel in each of the eight cardinal directions, plus one representing the player's "average velocity" if they're tapping a movement direction for example. Then maybe have the emitter choose randomly from those nine (or fewer) targets and fire at one.)
XBL Michael Spencer || Wii 6007 6812 1605 7315 || PSN MichaelSpencerJr || Steam Michael_Spencer || Ham NOØK
QRZ || My last known GPS coordinates: FindU or APRS.fi (Car antenna feed line busted -- no ham radio for me X__X )
We're head-down on the HUD and Inventory system for Ophdian Wars: Legend of Kilflame. It's actually really fun work, but the design decisions for an action/RPG are intricate and endless. It's one of things were it's hard to please everyone. Differing from the norms is often met with confusion and using the norms means it's feels like you followed the same ideas everyone uses. Tough calls.
Ophidian Wars: Opac's Journey
Tumblr | Twitter | Twitch | Pinny Arcade Lanyard
[3DS] 3394-3901-4002 | [Xbox/Steam] Redfield85
I'm definitely going for the mindless 'bullet patterns' method, and having a quick look at some of Cave's games on MAME they seem to do it the easy way, although there may be some sort of clever algorithm being used to maximise the bullet fun that I haven't spotted.
Probably not - shooting babies wouldn't be allowed, would it?
As an action/ RPG, will Legend of Kilflame feature enemies then?
I want to draw some decal sprites that use another texture (a rendering of all the solid objects in my level) to determine whether or not sections of the decal sprites are visible. That way, it won't draw the full decal off into blank space and will only overlay them where there's a solid object.
In essence, it should be a simple pixel shader that uses another Mask Texture to determine pixel alpha values.
However, despite me passing the Mask Texture into the pixel shader, the pixel shader refuses to use it. No matter how I define the Texture and the Sampler inside the pixel shader, it always samples the decal sprite texture instead of the Mask Texture.
I poked around, and found out this on MSDN: "Although we declare the texture as an external parameter [in the pixel shader], actually the SpriteBatch populates the texture when it draws to the screen." It's at: http://msdn.microsoft.com/en-us/library/bb313868.aspx
I understand why it does that, but does anyone know how to have my pixel shader sample a completely separate texture (my Mask Texture) without overriding it?
If you want to limit drawing to a specific area, you should use the stencil buffer (unless there's a reason why you can't).
My current project is more of a game framework than a proper game - I want to build a turn-based tactics engine that can then be modded into whatever setting I (or others) want. The goal is to bake as little as possible beyond the game logic into the exe, and leave as much as possible in terms of art assets and configuration/scripting files externally editable/replaceable. I don't expect it to import any mesh format on the fly - I assume I'd need the meshes to be pre-converted into a format the engine can use.
I've ruled out Unity3d as a platform for this as it compiles all assets into a single file. Is XNA any more capable for making mod-friendly games?
... is that really the preferable way? Cuz that involves all sorts of graphics device render state switches which I'm currently stuck in the middle of and having a terrible time getting to work.
I just want my damn pixel shader to do what I tell it. :?
XBL Michael Spencer || Wii 6007 6812 1605 7315 || PSN MichaelSpencerJr || Steam Michael_Spencer || Ham NOØK
QRZ || My last known GPS coordinates: FindU or APRS.fi (Car antenna feed line busted -- no ham radio for me X__X )
Not sure about the babies. I mean we have bullets coming from huge tatas in Shoot 1Up, and that was okay.
Yes, Legend of Kilflame is going to have a nice enemy set - most of the models are done - here's a couple:
Ophidian Wars: Opac's Journey
I could, but that would put a huge burden on the processor as opposed to the video card.
But that's what I was thinking: the data that describes which parts are visible and which are not has to get to the graphics card somehow. Either you have a stencil buffer or a texture's alpha channel and that data exists in array or texture form; or you have some list of primitives or something that summarizes the array or texture, which gets sent over the video bus in summary form, and the shader code unpacks that in an effects pass.
Which is the case? How does the data exist before it gets to the graphics card? (I mean, what format?)
Edit: oh and I should've asked: how many of these dynamically-obscured textures are you going to have, and how many differently-obscured "instances" might exist in a scene at once? How large of a source texture will you be using?
XBL Michael Spencer || Wii 6007 6812 1605 7315 || PSN MichaelSpencerJr || Steam Michael_Spencer || Ham NOØK
QRZ || My last known GPS coordinates: FindU or APRS.fi (Car antenna feed line busted -- no ham radio for me X__X )
Right now, the mask of solid world objects has a solid white Alpha where the objects are, and no Alpha everywhere else. That leaves me with an inverted mask... apparently, masks usually work where 1 = full occlusion, 0 = go ahead and draw.
I could go back and invert this with the pixel shader I was bitching about earlier, but due to several circumstances, adding Alpha inversion would be done by an additional, bloated batch of code that I doubt really needs to exist. I'll invert the damn thing if need be, but I'm figuring there's gotta be a way for Stencil Masking to treat 1 = go ahead and draw, and 0 = full occlusion.
However, I'm sitting here doing everything in my power to get that to work, and it refuses to do so. I've toggled every damn Stencil setting without any luck. The only thing worse than a programmer having code that breaks is a programmer having code that refuses to break. If it'd just break, I could start narrowing down exactly what I need to do.
Too tired. Will worry about it tomorrow.
3D eh? Looking good.
1 + 1 = Our Lord and Savior Jesus Christ, according to XNA. It has yet to return a 2.
Contra efficient coding, I just decided to manually invert the mask with a pixel shader. Except, the pixel shader is playing havoc with the texture I'm trying to invert. Remember, on the RGB channel of my Mask Texture, it's got the normal color info for all the solid object bricks I put in my level. In the Alpha channel, it's true white wherever there's a brick and black wherever there isn't one.
This pixel shader code returns the original texture exactly:
float4 MaskShader(float2 texCoord: TEXCOORD0, float4 texColor : COLOR0) : COLOR0 { float4 finalColor = tex2D(SceneTexSampler, texCoord); // finalColor.a = 0; return finalColor; }This code, however, returns an image that's entirely black on all four channels:
float4 MaskShader(float2 texCoord: TEXCOORD0, float4 texColor : COLOR0) : COLOR0 { float4 finalColor = tex2D(SceneTexSampler, texCoord); finalColor.a = 0; return finalColor; }Only thing I did was uncomment the one line. Only the alpha channel should've been blackened, no?
I am losing my mind.
What sort of source blend and blend function are you using?
XNA Content Builder looks promising, but if that's out of date I would be okay with prospective modders needing to have Visual Studio/XNA Game Studio installed to produce the files provided the engine can handle having .XNBs replaced after the project is already built?
...
Since I started typing this response, I finally got the pixel shader to work. I neglected to enable SaveStateMode.SaveState when starting the SpriteBatch that was drawing the texture to be shaded. Sigh.
Thanks for your help though! I'm sure something else will break momentarily.
If you are targetting the xbox forget about modding, users will not be able to load their files.
As for XNA on PC, you can read any file without having to force them into xnb files. When I first started using XNA I converted my engine from DirectX and my texture loading code did not use the content architecture. I was instead just calling Texture.FromFile(). Same thing with shaders you can read them independantly.
As for models it gets a bit trickier, I use my own custom model class and used to have my own custom format. Recently I've written my own content importer and just use fbx and xnb files.
On the PC you can just read the contents of a folder and read any file you find there so modding support is still very easy to setup if you make your app work with external resources instead of xnb's.
Make sure you wrap all your loading code through helper classes to allow you to easily switch between sources. I added #if XBOX360 in my wrapper and could make my project load xnb files with all my packaged resources for the 360 or when on PC just read the resources normally.
Steam: Handkor
I certainly think it's technically possible to get something like that running in XNA on the Xbox, but I wonder if they have some stupid license clause that forbids you from distributing a VM (like apple has) or makes it impossible to get 'certified' because 'people might add a dick to your program'. By the time you spent the effort of building a VM and an online game sharing service you might as well start thinking about going for XBLA proper. Then some of your effort has been for naught since you could just have used the .Net VM to build your scripting language.
I haven't dug around much but this thread talks about scripting on XNA.
Currently no plans for the xbox, and I don't have one to test with anyways. If I change my mind down the road I can always build one of the better mods/implementations into a standalone game.
This is exactly what I wanted to hear though, thanks!
I'm tempted to buy a decent scanner and follow the Bryan Lee O'Malley method described in depth in the back of Scott Pilgrim Volume 6, but I wanted to ask around first.