Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411646 Posts in 69395 Topics- by 58451 Members - Latest Member: Monkey Nuts

May 15, 2024, 09:09:18 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityTownhallForum IssuesArchived subforums (read only)CreativeBacking the wrong horse
Pages: [1]
Print
Author Topic: Backing the wrong horse  (Read 3547 times)
lemmy101
Level 0
***



View Profile
« on: March 09, 2011, 08:10:51 AM »

I figured I'd come over here and post this thing I wrote, since I mention these forums a few times during. Hope that's ok.

It's called The Perils of XNA and the Death of an Indie and is about our experiences in indie development. As you can see from the title it's all rather uplifting.

Figured it would make for a useful cautionary tale.

Don't say 'I told you so!' :p

(on reflection I think I stuck this in completely the wrong forum ¬¬ sorry)
« Last Edit: March 09, 2011, 08:29:58 AM by lemmy101 » Logged

shadowdim
Level 1
*



View Profile
« Reply #1 on: March 09, 2011, 12:53:12 PM »

I won't say "I told you so", just "Thank you"!

I guess we are all aware of it, more or less, but the lesson taught by your article is one we all have to learn from.
Logged
Richard Kain
Level 10
*****



View Profile WWW
« Reply #2 on: March 09, 2011, 04:01:04 PM »

That was a fairly informative article, decently written. Thanks for the personal account you related. I had always suspected that working on XNA might end up that way. Of course, the ACTUAL reason why I never bothered to use XNA is because I hadn't properly wrapped my brain around OOP when it came out. By the time I did understand OOP, I had moved onto Actionscript 3.0 and OpenGL rendering using Mono and OpenTK. Developing for XNA seemed like a step backwards, and by then it was clear that the Indie channel on XBox Live wasn't getting any love.

At this point, your best bet for platforms is probably...well, the web. Whether this be on Newgrounds, or full-on Facebook support, web games are more viable now than they ever have been. And to top it off, you have a lot more options for languages and coding. Unity and Flash are the two most obvious choices, but soon even WebGL will be a viable platform in its own right. Keeping your platform options as open as you can is usually a good idea. That's why I'm sticking to OpenTK. If one service refuses me, I have plenty of other options available.
Logged
pla1207
Guest
« Reply #3 on: March 09, 2011, 11:19:56 PM »

goosebumpy.
Even tough i have no idea what XNA is
Logged
Chris Z
Level 7
**



View Profile WWW
« Reply #4 on: March 10, 2011, 01:28:53 AM »

Disclaimer: I'm biased towards XNA.

I saw this tweeted a couple times and fought the temptation to reply.  However I clicked on the link again just now and people were echoing my initial thoughts in the comments section without much clarification from you:

What does this have to do with XNA?

Did you approach MS with a proposal for an XBLA game in XNA and they said "no"?  If so, your game could've been written in C++ and DX and gotten the same response.  If it's XBLIG, the terms are pretty explicit which you can clarify way before starting the game, and Apple's rules regarding content are not much different.  I'm not trying to invalidate what you're saying, I am genuinely curious about your situation since one of my codebases is in XNA.


EDIT:
I read the comments more carefully and it seemed the dispute was content-related, am I right?  Do you think it would've got past Apple, who seems to be much more conservative content-wise?  I guess the part I have a problem with is blaming this on XNA or XBLIG, something that I don't consider dead at all given recent successes (Magicka, any game in the top 10 on XBLIG, etc.).  You're complaining about the responses on your blog (and probably are hating mine as well) but the title of your post is "The Perils of XNA" and associating that with the "death of an indie".  I agree that it's messed up if you got your game greenlighted for content and MS backpedaled, but like you said they were within their rights there.  It's a really shitty situation that could've been avoided, but I dont think the technology is to blame here.
« Last Edit: March 10, 2011, 02:06:55 AM by Chris Z » Logged

floatstarpx
Level 1
*



View Profile
« Reply #5 on: March 10, 2011, 02:22:12 AM »

Yeah, I completely agree with Chris Z's sentiment here... I'm glad I'm not the only one thinking that.

There's quite a lot of important details missing from the post, too - so it's really hard to actually know what happened.
Logged
Triplefox
Level 9
****



View Profile WWW
« Reply #6 on: March 10, 2011, 02:51:59 AM »

The lesson of "worry about pre-launch risks killing you" is one that I think those of us doing this as a business mostly learn the hard way. I've been lucky enough to get a second try, and I'm going out of my way not to waste it.

At the end of the day - if you're doing things commercially you have to consider all decisions as business decisions. Conservative technology choices that work; safe options for platforms and distribution; openness to different monetization strategies; and, of course, willingness to bend creative decisions in some places to lower risk and give the press and public a "hook." You only need one good idea in the right place to be innovative, after all. Everything else can be conventional.
Logged

Dugan
Level 6
*



View Profile WWW
« Reply #7 on: March 10, 2011, 03:18:01 AM »

interesting to know Microsoft can block XBLIG games, i just assumed it was all community based rating
Logged

floatstarpx
Level 1
*



View Profile
« Reply #8 on: March 10, 2011, 04:01:59 AM »

interesting to know Microsoft can block XBLIG games, i just assumed it was all community based rating

I thought this at first - but when you read a little closer, the game MS said no to was a "bigger, contracted game" separate from their XBLIG efforts..then after that went sour (however it did), they gave up on the XBLIG one.
Logged
_Tommo_
Level 8
***


frn frn frn


View Profile WWW
« Reply #9 on: March 10, 2011, 06:05:25 AM »

Wow so after having pursued C# with XNA and having miserabily failed, now they advice Java and LWGL.
Without having ever used them.
 Facepalm

There is tons of everything around there that is better suited to making immediate games out there, and Java pretty much runs unported only on PC.
Even on Android you will have to port nearly everything to Android Lib, and you can be sure it will be too slow the first time it runs.

I think they still didn't grasp the error they did, that is not XNA or whatever, but is jumping on someone other's bandwagon.
They clearly choose Java this time only because it works for Minecraft, without even considering that Oracle doesn't give a **** to games and LWGL could be discontinued tomorrow, and whatever.

To sum it up, there are a ton of tools to get a game done fast on a lot of platforms, it is a matter of choosing the right one for you.
And yes, once you've started, making a game IS clearing a list of tasks. Get over it.
Logged

lemmy101
Level 0
***



View Profile
« Reply #10 on: March 10, 2011, 07:09:20 AM »

Quote
jumping on someone other's bandwagon

Assuming we are now jumping on someone's bandwagon, how were we jumping on someone else's bandwagon last time? As the story says, I was using XNA despite a wave of disapproval from the majority of people here.

For your information, I looked into Unity, Flash, SDL, Ogre. Countless others, before we settled on LWJGL. In fact I made some progress on a Flash engine and an Ogre engine before that to test the water, but deemed them unsuitable. Minecraft obviously factored into that as an example of what could be done, but to say we just jumped on that without any thought, especially when the whole point of the article is my realisation that I have to consider this stuff a lot more objectively, is a little insulting to be honest.

Quote
Wow so after having pursued C# with XNA and having miserabily failed, now they advice Java and LWGL. Without having ever used them.

We've been using them for months, and it's great. Not as slick as XNA, but nice to use and quick to learn off the back of XNA. And the proof is in the pudding, really. As I say in the article, we have the best case scenario laid out to us in the form of Minecraft's success which uses that very technology. Java is closer to C# than any other language, since C# nicked a fair amount of the syntax and design from it. Therefore for those still under the spell of using XNA for everything they do, it would be a good alternative to C#/XNA for them to explore. What's the problem with advising that? And in the very section you're clearly focusing on I did suggest thinking over what tech would be right for your project.

Quote
And yes, once you've started, making a game IS clearing a list of tasks. Get over it

Shows a massive misunderstanding of the sentiment of that statement. If indie development is nothing more than a list of tasks for you, then that's a bit sad and you may as well get a job in a factory. Where's the enthusiasm, the inventiveness, the experimentation, the air of creativity and excitement about what you're working on?

Quote
There is tons of everything around there that is better suited to making immediate games out there, and Java pretty much runs unported only on PC.
Even on Android you will have to port nearly everything to Android Lib, and you can be sure it will be too slow the first time it runs.

So how have we got the game confirmed running perfectly on Mac, PC, Linux and Android with not that much extra work on top of the initial PC prototype? None whatsoever for the other desktop platforms Where if we'd used XNA for it, and needed to get it working on said platforms, we'd have had to rewrite the entire game from scratch, in entirety. If you're going to palm face me, at least be correct in what you're saying.

Quote
LWGL could be discontinued tomorrow, and whatever.

Wouldn't that be terrible, it wouldn't be able to keep up with all the new releases of OpenGL and whatnot.

LWJGL for all intents and purposes could stay static from this point and still be worth using if it suits the project, which I state in the blog. Our game is 2D, for example, so we have all the power to make it as pretty as we like. It fits the requirements of what we need, without us having to invest months in becoming proficient in Flash, since 90% of the experience in C# is transferable to Java.

And since LWJGL is open source, since LWJGL development could always be carried on by you yourself, or more likely, picked up by another team if it ever got discontinued. To play the 'maybe LWJGL will get canned' card against someone suggesting people be wary of XNA for that very reason (and much more likely and serious in that case) seems to be grasping at straws.
« Last Edit: March 10, 2011, 07:27:18 AM by lemmy101 » Logged

_Tommo_
Level 8
***


frn frn frn


View Profile WWW
« Reply #11 on: March 10, 2011, 07:49:55 AM »

Quote
Assuming we are now jumping on someone's bandwagon, how were we jumping on someone else's bandwagon last time? As the story says, I was using XNA despite a wave of disapproval from the majority of people here.

For your information, I looked into Unity, Flash, SDL, Ogre. Countless others, before we settled on LWJGL. In fact I made some progress on a Flash engine and an Ogre engine before that to test the water, but deemed them unsuitable. Minecraft obviously factored into that as an example of what could be done, but to say we just jumped on that without any thought, especially when the whole point of the article is my realisation that I have to consider this stuff a lot more objectively, is a little insulting to be honest.

Sorry if I was a bit harsh, but I think that most of the points I made are still valid if reading through the blog post alone...

You say nowhere what else you've tried, you only state that you choose Java because it works for Minecraft.

If you tried everything else and you can safely assume that you will NEVER need a port outside the desktop PC environment (that is, Mac and PC), Java is a safe guess.
But when today everything is being ported to other platforms and even Minecraft is having a C++ port over to IOS, you can't really say "there's no risk here" just like you could not say that about C# two years ago.

So yeah, it looked to me as if you choose the right horse for the wrong reasons this time. Sorry if it isn't the case  Gentleman

Quote
Shows a massive misunderstanding of the sentiment of that statement. If indie development is nothing more than a list of tasks for you, then that's a bit sad and you may as well get a job in a factory. Where's the enthusiasm, the inventiveness, the experimentation, the air of creativity and excitement about what you're working on?

In fact i said "once started" Smiley
Making games is the best until you get mid into the development: everything works and comes together wonderfully... then you have to work it from an alpha to a finished an polished product... and that isn't that much fun, to me. Whether you're an Indie or a company, at this point you really have to show your commitment to have a nice finished game, and there are no work arounds.
And because this "unfun period" is something about 50% of the time you will work on the game, maybe it's better to be prepared and work for something more than instant gratification.
After all I could be saying this to myself, because I always drop things as soon they become unfun  Durr...?

Anyway, the best antidote to getting stuck in "technological corners" is getting things done fast, as you can never foresee where the big players will be going.
I myself had to drop a project because PhysX got bought by Nvidia and now it's frozen in March 2008 with the addition of an ugly license, and I know I've had to "go small" with box2D since the beginning.
Logged

lemmy101
Level 0
***



View Profile
« Reply #12 on: March 10, 2011, 07:52:30 AM »

Disclaimer: I'm biased towards XNA.

I saw this tweeted a couple times and fought the temptation to reply.  However I clicked on the link again just now and people were echoing my initial thoughts in the comments section without much clarification from you:

What does this have to do with XNA?

Did you approach MS with a proposal for an XBLA game in XNA and they said "no"?  If so, your game could've been written in C++ and DX and gotten the same response.  If it's XBLIG, the terms are pretty explicit which you can clarify way before starting the game, and Apple's rules regarding content are not much different.  I'm not trying to invalidate what you're saying, I am genuinely curious about your situation since one of my codebases is in XNA.


EDIT:
I read the comments more carefully and it seemed the dispute was content-related, am I right?  Do you think it would've got past Apple, who seems to be much more conservative content-wise?  I guess the part I have a problem with is blaming this on XNA or XBLIG, something that I don't consider dead at all given recent successes (Magicka, any game in the top 10 on XBLIG, etc.).  You're complaining about the responses on your blog (and probably are hating mine as well) but the title of your post is "The Perils of XNA" and associating that with the "death of an indie".  I agree that it's messed up if you got your game greenlighted for content and MS backpedaled, but like you said they were within their rights there.  It's a really shitty situation that could've been avoided, but I dont think the technology is to blame here.

The technology isn't to blame. The technology is great. The problem is the inherent fact that by choosing that technology, you put your game into a situation where its fate is in the hands of a company who could discontinue XBLIG tomorrow. I don't know the figures at this present day, but I know a few people all to familiar with the XBLIG scene and I've heard nothing but negativity about the profitability and success of the service.

You go to the XNA Creators Club website and find that the focus has shifted massively toward an app store for Windows 7 mobile devices. This came out of the blue to me. Tomorrow that XBox could just be dropped off the end and XNA 5 could potentially drop XBox support. No one here can say this could not happen, and anyone who does is falling victim to the same loyalist sticking head in sand that I myself was guilty of for years.

If this happened and you'd invested a year into writing a game tailored to XBox, then you'd be screwed, simple as.

Remember I was, seriously, one of XNA's biggest fans. I'd defend it to the ends of the earth. For me to make a 180 like this must count for something?

And yes, maybe we would have problems getting on the iPhone app store. But perhaps not the Android app store. And even if that failed, we would have a much larger customer base if we targetted all PC platforms, not just those with powerful enough shader proficient cards who are lucky enough not to have some inherent inexplicable issue in running XNA games, something all too common I'm afraid. And on top of that you have access to Mac users, Linux users, you can run it in a browser, and you are going to have a much larger potential customer-base.

Another point is that C# seems to have very limited free options for decent obfuscation. Meaning unless you're aware of this, can afford a decent obfuscater, it's always a risk that you're releasing the source code to everyone who downloads the game. I tried about 10 free ones and they produced pitiful results in a sizable project. I know the same, to an extent, could be said of java, but when I've looked into it there are a lot more valid options.

Also XNA's graphics pipeline is 100% shader based, and so even a modest 3D game might run like a dog on lower end card where really, given the perceivable graphic quality should run 60fps no issue. And they don't think 'ah well it's my fault for having a shit card', they look at the graphic quality of the game, compare it to Left4Dead which runs fine, and then they blame the game's coding, even though all the profiler time is spent in those shaders and there is little that can be done.

And if you've got the boot from Microsoft, this PC release is ALL you can do. To bury your head and say XNA on PC is perfect is deluding yourself, there are a fair share of problems that aren't an issue on XBox 360, and for that to be your only other option if the 360 release can't go down for any reason.

So it wasn't entirely unexpected that our game would get turned down, but as I said numerous times over at the blog, this is beside the point. It was a wake-up call, and the voices of the TIGSourcers who said 'it's a closed system I wouldn't make a game in something where someone else has the power to quash my game' came flooding back to me. I was wrong in defending against that as it can, and did, happen. And maybe if you're making some completely innocent bunny related XBLIG you can count on getting it on there. But as I said above, they still have the power, and they still could pull the plug at any point.

If it were just a case of switching graphic libraries that wouldn't be the end of the world, but since both the language and the graphic engine are proprietary to Microsoft, and C# is only just getting to the point it is somewhat cross platform, and even then not in a nice simple way that you could rely on as a distribution method to non-PC owners, this will mean a complete 100% rewrite of your game in a new language and a new graphic engine. It is a risk worth considering before choosing your platform. And as I've said, XNA has a certain beguiling appeal that when people get comfortable with it, it's all too easy to use it for everything you do, and not use it only when it's the right choice for a specific project.

It's 'a peril' of using XNA, I'm not saying DON'T USE IT UNDER ANY CIRCUMSTANCES.

FYI I've added a paragraph to clarify this in black and white on the blog, lest people get the wrong end of the stick again, even though that sentiment I thought was clear in what was there before.
« Last Edit: March 10, 2011, 08:00:53 AM by lemmy101 » Logged

bateleur
Level 10
*****



View Profile
« Reply #13 on: March 10, 2011, 08:06:17 AM »

Interesting account, thanks for writing it.

From my perspective you do have Minecraft goggles on a little bit, but I agree with your point about resistance to downloads.
Logged

Richard Kain
Level 10
*****



View Profile WWW
« Reply #14 on: March 10, 2011, 10:37:51 AM »

From my perspective you do have Minecraft goggles on a little bit

I think it's a little bit unfair to say that just because he has decided to use the same rendering engine that powers Minecraft. Deciding to use Java is hardly a "bandwagon" decision. The Java platform has been around for some time, and has been used by numerous companies to develop cross-platform software. It is and has been a reliable way to develop software that will run on multiple platforms without any changes to the code. This was true before Minecraft was even a twinkle in Notch's eye.

The fact of the matter is that being able to target platforms in a flexible manner is very desirable, especially for indie developers. In some circumstances, it can actually multiply the return on investment for your titles. And while some people use C++ to achieve this, some of us prefer not to code with lower-level languages.

Now that the WebGL standard has reached v1.0, we will probably see a lot of developers who start adopting Javascript for their game development. Being able to reach a wide audience with minimal effort is rapidly becoming more important to game development than graphical performance.
Logged
Retro
Level 2
**


Matej Jan


View Profile WWW
« Reply #15 on: March 10, 2011, 03:05:47 PM »

Really interesting article that sparks a lot of tension, obviously. I understand exactly where you're coming from, since I myself was a big fan of XNA (the technology, and still am) but decided to switch to iOS, just for the much more vibrant and accessible market (I live in a country which is given shit when it comes to selling XBLIGs).

However, the platform rules are very much stated in advance for all of us and as an informed developer you should understand them. And also know that they can change at any time. I know this better than anyone, since Apple first banned all non-natively written apps (only c/c++/obj-c), but later lifted that restriction completely and now you can have C# running there and all is well.

So when you are deciding to work for a gated platform like that, yeah, you have to be careful and adaptable to the change. Whether you're prepared to be that is a matter of personal taste/risk/style. From what I understand you're just saying your experience has made you change and your warning is important to consider (even if for other reasons - thinking that a sex game would get on a zero-sex-tolerance channel is a little naive). But in the end, all options are reasonable if you know what you're getting into.


But what I most agree with you is your 2. point of the article and what Richard just said about WebGL. I too sense thsy online is the next (maybe final) frontier. The fact that it's there and you can just play it, whatever (internet) device you're on is just too important to neglect.

I know I'll take the first chance to use my knowledge on porting XNA to objective-c + OpenGL ES to do the port to javascript + WebGL. Because I also agree with you that XNA is the damn best piece of object-oriented goodness I've laid my eyes on.
Logged

lemmy101
Level 0
***



View Profile
« Reply #16 on: March 15, 2011, 04:55:02 AM »

In case anyone's interested, we decided to announce our game earlier than we planned, as well as bring the release date forward and scale back the first release.

Introducing PROJECT ZOMBOID!

http://theindiestone.com/lemmy/2011/03/15/a-slightly-less-pathetic-game-announcement-with-screenshots/
http://theindiestone.com/binky/2011/03/15/first-look-at-our-zombie-apocalypse/
Logged

Retro
Level 2
**


Matej Jan


View Profile WWW
« Reply #17 on: March 18, 2011, 09:44:34 AM »

Yeah, we are interested, looks cool. Sorry I can't donate. I'm broke myself and not looking bright to get rich off of gamedev soon either. So my love for the xcom-style shading is all I can give. I really like it when people have balls to do outdated graphics on purpose.
Logged

Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic