View Full Version : C# for game development
Karukef
12-30-2003, 03:34 AM
I am a C++ programmer but am always looking out for newer and better ways to do things. After learning there is an open source implementation of C# compiler and class libraries, I became interested in knowing more about it. (That is C#, not Java, not Python and so on:D), and how it relates to making games of some less complexity than an MMORPG ;)
I'd trade speed for a more intuitive language any day, the question most important to me is: is there anything about the language itself (and to some degree the closely related class libraries) that makes it easier to work with? And if so, does that work for games too?
My initial impression of the language is that it is not a revolutionary language and that the main benefit of it is the strong library and module support. Is this correct or am I missing something? How does it feel to develop a game in C# for example compared to C++?
If anyone wish to share their knowledge of this relatively new language it would be highly appreciated.
elias
12-30-2003, 04:19 AM
Why not python nor Java I might ask? You're throwing out perfectly good crossplatformness to get a very young language and platform.
- elias
Siebharinn
12-30-2003, 09:00 AM
C# would be considerably faster to develop with than C++, for a couple reasons.
1) The DX9 bindings are a joy to use.
2) Managed code helps eliminate most of the common programming bugs, usually related to memory and pointers.
3) The standard library is very good, especially for things like networking.
4) You can insert unmanaged code directly, when you need to, without going through the pain of an extension library. Java and Python both require an extension.
The biggest (only?) downside to C# is the very large dotnet runtime that you would have to ship with your game. DX9 has an even bigger download. If it weren't for that, I would throw out C++ for good.
The cross-platform angle always makes me laugh. You can't go wrong by settling on a single platform, when that platform has 90%+ of the market. But that's just me.
ggambett
12-30-2003, 09:20 AM
Originally posted by Siebharinn
The cross-platform angle always makes me laugh. You can't go wrong by settling on a single platform, when that platform has 90%+ of the market. But that's just me.
Many people have said here that their sales are 50% Win, 50% Mac, although the market is smaller.
John Olsen
12-30-2003, 09:40 AM
I was going to start a new thread on C#, but found this one begging for comment. :)
I'm building a 2D puzzle game using Dev Studio and C#, taking advantage of the UI builder to greatly speed up development time. I'll be using the System.Graphics rendering code rather than DirectX initially, but I have to agree that the DirectX mappings are amazingly easy to use compared to the C/C++ interface.
One thing to be aware of is the much smaller customer base when using C#. Ignoring cross-platform C#, you are limited to Windows XP users and those who have downloaded the huge .NET runtime.
With that in mind, I want to finish up this puzzle game and release it, and use it as a tool to identify how successful a .NET C# game can be by having the installer ask a few questions to verify the environment, then (with the user's permission) send the survey results back. I figure that information on the C# and .NET environment from the demo version is likely to be more valuable than the sales.
John
Siebharinn
12-30-2003, 10:28 AM
- ggambett -
Many people have said here that their sales are 50% Win, 50% Mac, although the market is smaller.
I have no doubt that in some cases, with small numbers, this is true. But I would chalk that up as a failure to penetrate the Windows market, not as a cross-platform success.
- John Olsen -
you are limited to Windows XP users and those who have downloaded the huge .NET runtime
XP doesn't come with the runtime. I think it's an option in SP1, but plain vanilla XP doesn't have it. The 2003 server OSs were the first to ship it as a standard component.
Coyote
12-30-2003, 10:42 AM
I have no doubt that in some cases, with small numbers, this is true. But I would chalk that up as a failure to penetrate the Windows market, not as a cross-platform success.
That's definitely the case, but I think it reveals that it's much easier to penetrate the less-crowded Mac market. Unless you've got some serious marketing & development muscle ($$$), that's a very attractive option in theory.
In practice, I'm not sure it's worth the pain of cross-platform development, though... or including a bulky runtime with your distribution to share your pain with the consumer. Or even worse, requiring that the user manually install more software to run your game.
I have C#, but I've only written about 10 lines of code in it. If I thought it would shrink my development time in half, I'd write my next game in C#, Blitz, Visual Basic, or anything else that would work.
Fenix Down
12-30-2003, 10:43 AM
Originally posted by Siebharinn
I have no doubt that in some cases, with small numbers, this is true. But I would chalk that up as a failure to penetrate the Windows market, not as a cross-platform success.
Actually it's been said that MAC users are of "higher quality" meaning that there's a higher conversion rate for the MAC market. So while MAC users might make up a smaller percentage of the market they make up with this buy having a much larger chance of buying your game.
Originally posted by Coyote
In practice, I'm not sure it's worth the pain of cross-platform development, though... or including a bulky runtime with your distribution to share your pain with the consumer. Or even worse, requiring that the user manually install more software to run your game.
Have you ever heard of SDL (http://www.libsdl.org)? :)
Cartman
12-30-2003, 12:33 PM
I just completed the C# training that MS authorizes through it's outside training programs. And I have to say, coming from a VB background with a good grasp of C++ and C, I like this language much better. It has some of the cool advantages that came from the VB 6 world, plus it retains true object oriented design. No pointers makes it easier for those of us who didn't start in C++. The debug environment is very good and there are plenty of good books out there on it. I do agree though that the ~50 megs for the Foundation Class sucks. However this will become less of an issue in the next few years. I have talked with some developers last year who are in the professional game development industry and they are using C# to create their tool sets, so it's inevitable that it will be adopted by the rest in the next few years. My team has also created a few tools with it and it's quickly becoming our favorite language.
WreckerOne
12-30-2003, 02:28 PM
You may be able to link the mono runtime with your game such that you don't need the VS.NET runtime. You could probably even manage to compile a runtime with just the parts you need.
illume
12-30-2003, 03:31 PM
Originally posted by Siebharinn
4) You can insert unmanaged code directly, when you need to, without going through the pain of an extension library. Java and Python both require an extension.
This isn't true for python(not sure about java).
There is ctypes, weave and pysoftwire.
ctypes allows you to work with c functions/structures etc. So you can call a c function at run time without an extension. You can also access memory and turn it into a python usable structure/buffer. As well as other things.
pysoftwire uses the softwire run time assembler to allow you to make python functions at runtime in assembler.
weave allows you to write c/c++ inside your python code.
Also you can make extensions very easily with pyrex. Which is a hybrid python/c language.
Have fun!
Siebharinn
12-30-2003, 04:44 PM
- Coyote -
That's definitely the case, but I think it reveals that it's much easier to penetrate the less-crowded Mac market.
LOL! The glass is indeed half-full. I stand corrected.
- Fenix Down -
Actually it's been said that MAC users are of "higher quality" meaning that there's a higher conversion rate for the MAC market. So while MAC users might make up a smaller percentage of the market they make up with this buy having a much larger chance of buying your game.
That's probably true. And for most indie developers, who will make at most a few thousand sales, that's something to consider.
- illume -
This isn't true for python(not sure about java).
There is ctypes, weave and pysoftwire.
I've been out of the python loop for a while and didn't know about this. Thanks!!
wazoo
05-31-2004, 04:21 AM
Just bumping this thread, as I've been experimenting with the DX9 managed objects in C# and am REALLY enjoying how easy it is to get things done!
Boring C++ code that takes up a few pages is trivialized in C#..
Has anyone actually released any shareware titles using the .NET runtime yet? Is anyone else getting closer to releasing one?
Wayward
05-31-2004, 04:48 AM
I've switched from C++ to C# recently, and I'm glad I did. C#, .NET, and Visual Studio .net are a beautiful combination.
I like the fact that so much modern programming wisdom is built into the language, like singletons, and no more 'if (32 == value)'.
Many of the C# samples that come with the SDK can give the wrong impression with their choppy framerates, but they're just bad examples that can be fixed with one line of code. I'm having no issues with performance.
Wayward
05-31-2004, 04:50 AM
One C# feature that trips me up is garbage collection. When I create an object with new , I've already thought about where I'll delete it, except I don't have to.
It's so nice not having to clean up after yourself.
Originally posted by Wayward
I've switched from C++ to C# recently, and I'm glad I did. C#, .NET, and Visual Studio .net are a beautiful combination.
Agreed. I love it. Managed DirectX is simply amazing.
As far as game development goes, I use C# for prototyping and tools but still use C++ for the 'shipping' application.
We (indie game devs) are in a market where we're still supporting old versions of DirectX and Windows. I simply can't expect my users to have the DotNet Framework installed.
Also, there are tools available that very effectively reverse-engineer C# code from MIL. There are tools to help with this but they are costly (and I'm not sure how effective they are).
Hexteque
05-31-2004, 10:49 AM
I come from a business programming background so I found my knowledge in distributed applications to be immensely useful when desgning the backend for a MMORPG. The system I have artchitected is written in C# due to the high level of integrated libraries for remoting, distributed applications and data base access.
The game client has not been written yet but it can be written in any language for any platform as communication with the backend is done over a TCP/IP stream.
I believe the backend is the only place that C# should be used in game development. Writing business software we found the .Net runtime does not have enough saturation. Those that dont have .Net runtime will get a bizarre error and if you find someway to notify them that they dont have .Net then they have to download 20 megs and I believe reboot. I would wait a year or two before doing a game client in C#.
Originally posted by Hexteque
I would wait a year or two before doing a game client in C#.
Is this taking into account the time it takes to write the game.
The fundimental question isn't 'when is the right time to develop in C#?'. It's 'when is the right time to release?'.
I think I might try for switching to C# (but not just yet).
BTW for Indie people on a budget check out SharpDevelop (http://www.icsharpcode.net/OpenSource/SD/). A decent Free IDE for C#.
Impossible
05-31-2004, 08:26 PM
I'm a big fan of C# and I've been doing a lot of C# development at work. While it's not quite as fast as C++, for most indie games it should be far more than enough. Like people have said, the only drawbacks are limited cross platform support and the .NET runtime being a pretty large download. Once Longhorn is released I'd see no big reason not to use it.
If you're looking for other languages to code in besides C\C++, Python, Java (I guess....), and maybe even D could be possible choices. I'm not a huge fan of Java (although Princec is), and haven't looked much into D (because Kenta Cho's games), but C# and Python are both nice.
John Olsen
05-31-2004, 09:28 PM
I've done a network monitor utility in C#, and it's doing fairly well for having pretty much no advertising. But it's aimed at the tech crowd that's likely to have the 1.1 runtime installed, or at least know what I'm talking about when I tell them they need it.
I'd have to agree that it's a wonder for building tools and prototypes, even though I agree that doing a game with it would not be a fiscally responsible choice. I especially like the Visual Studio interface builder for C#.
Cornel
06-01-2004, 04:22 AM
I have also been looking at the C# and DirectX / Opengl projects these last couple of days. And I must say the C# DirectX bindings are very nice to work with.
Also the mono project at www.go-mono.com is in beta and I tested a small e-mail application the other day that compiled without any problems with mono :)
The large downloads are always a problem with Java and Dot.Net but this is only a problem for the present and everybody will have Dot.Net and DirectX 9 with the next release of Windows. Until then you could always have a big base download with a small application install. Or just go the CD route and include everything the user needs.
princec
06-01-2004, 06:07 AM
..or use LWJGL (http://www.lwjgl.org) with a cut-down Java VM :) (or use Java Web Start) and get Mac & Linux support for nothing* without you even issuing a single recompile.
Cas :)
*Full Mac support still in the works but rest assured it's coming
Jim Buck
06-01-2004, 09:07 AM
Keep in mind that, yeah, once Longhorn is out, "everyone" will have the CLR.. but "everyone" is defined as "everyone who buys Longhorn". There will still be the majority of the population that has non-Longhorn OS'es for quite a long time after the release of Longhorn. (How many people still have Win98? Even Win95? Tons.)
It's not a slam against C# as I myself have never used the language, but I know that I wouldn't want to automatically limit my potential market to such a small slice. As Joel from Joel on Software had put it, he gives it until about 2008 before it's in a realistic % of the population (and not just on developer's machines):
http://www.joelonsoftware.com/items/2004/01/30.html
Diragor
06-01-2004, 09:41 AM
Somebody mentioned Mono above and I think maybe that's a more reasonable option as far as runtime redistribution. The Mono runtime for Windows is 12MB, which is still significant but around half the size of the MS runtime (IIRC). Also, I don't have the details but with a commercial license for the mono runtime you can bundle it with your app. I assume that if you're doing that you can probably leave out large assemblies that you don't use and get it down to a pretty small package.
Diragor
06-01-2004, 09:46 AM
Btw, to add my personal editorial comment on the subject, I love the C# language from what I've read about it and my very limited experience with it. As a full-time Delphi developer it's a very comfortable learning curve and I'd be using it for everything if it wasn't for the runtime penetration issue.
Siebharinn
06-01-2004, 12:21 PM
There is a linker (http://www.thinstall.com/) that will allow you to bundle just the parts of the dotnet runtime that you use into an install package. You wouldn't need the entire 20 meg runtime at that point, just the parts you used. Pretty much exactly like what Cas is doing with his Java compiler. It's kind of expensive though, maybe out of the range of most indies.
On the other hand, I think that the willingness for the user to install the runtime (and optionally DX9) is going to be entirely based on the game. A 3 meg Zuma clone just isn't worth 20 to 50 meg of additional downloads. But for a more ambitious project, that isn't out of the picture.
Wayward
06-01-2004, 01:19 PM
There's also the Salamander (http://www.remotesoft.com/linker/) .NET linker and mini-deployment tool.
Wayward
06-02-2004, 12:32 AM
Thinstall claims to deploy a .NET app in 4-8Mb. A managed DirectX app would be a little bigger still.
Salamander has an example game that is 6Mb, but uncompresses to 15Mb. The 'game' was a single sprite animating on the screen.
Microsoft won't like you deploying .net in this form either.
With 'mini'-deployment, my 2Mb game would probably turn into a 12Mb game. That's no good for me.
princec
06-02-2004, 01:23 AM
I've got my fixed overhead in Java down to approximately 3MB. Typical game code in bytecode amounts to a few hundred Kb, and the rest is graphics and sound. That's not a very big overhead (especially when you consider the amount of stuff I am actually using in the JVM - all that lovely garbage collection, code safety, stack trace logging, remote method invocation, encryption, serialization, etc). In fact it's a pretty trivial overhead for the sheer amount of functionality that it provides and that I use. I think you should be able to get all the graphics and sounds for a really slick demo in under 6MB so you're still under 10MB.
Cas :)
Wayward
06-02-2004, 01:29 AM
.NET will kill off Java. ;) You'll have to switch eventually, PrinceC. :eek:
Cornel
06-02-2004, 01:48 AM
My comments here relate to the platform, not the language that you program in...(personally I dont see a big difference between C++,Java and C# or any other language, you can always do what you want in any language these days)
I think you will always cut your market depending on the technology you choose... But take into account that more people will have Dot.Net than Java in the future on the Microsoft platform.
The reason is because all the Microsoft Products and OS's are moving to Dot.Net. As new applications get created for Windows, most people/developers actually dont have much of a choice where Dot.Net is concerned... You have to go with Dot.Net if you are creating new applications for Windows, else you are wasting lots of energy on old technology that will be unsupported in the near future. So I think the growth and upgrade rate is going to be much much higher than what you can expect with Java on Windows in the future. It is also clear that Microsoft has no interest in having Java survive on Windows. The support for Gaming with Dot.Net is a given and Microsoft is backing it. The same can't be said from Java. So from my point of view, looking at how you invest your time into the technology you choose it is coming to the same point as people developing Win 3.1 apps when Win95 , 98 came out. The same thing is happening with Win32 and Dot.Net. Now sure enough that the near future is going to be a transition period, and if you are developing products now you want to make money now. So maybe DirectX7 and Win32 is the better option this year. But by next year you might have to start looking at Dot.Net and DirectX 9. At some point you will have to keep up or just be left behind, they only question is when is this point :)
Just my 2 cents on platforms and the future :)
princec
06-02-2004, 02:42 AM
I'm afraid that post is a classic FUD; it entirely belies the efforts that Sun have been putting in on the Java front, and several other major OEMs like IBM, and merely concentrates on the activities of the Beast as if they are the only activities that matter.
Buy a new Dell machine. You'll find it's got full, proper, Java support right out of the box, whether Microsoft have blessed it or not. As just one example. Java is now shipped (with an auto-update feature) on about 60% of all new hardware. That's a lot of PCs. It's also shipped on 100% of Macs and very well supported indeed.
Cas :)
Wayward
06-02-2004, 02:49 AM
Every post on this thread makes me consider switching programming language.
Originally posted by Wayward
Every post on this thread makes me consider switching programming language.
actually it makes me consider switching to Linux :)
princec
06-02-2004, 03:44 AM
I haven't got enough hair left to try Linux.
Cas :)
Siebharinn
06-02-2004, 04:57 AM
- wayward -
Every post on this thread makes me consider switching programming language.
To what? Has Cas subverted you?
Actually, to be honest, I find Cas' dogged consistency on Java to be kind of inspiring. :)
I'm downloading the thinstall demo. I'll whip together a quicky tetris clone or something and see how it works. Maybe use Microsoft's Java to C# converter on the Alien Flux source code and go with that. Embrace and extend! Bwah hah hah hah!!
Wayward
06-02-2004, 05:29 AM
To what? Has Cas subverted you?
Perhaps Cas has swayed me a little. He keeps chipping away, doesn't he. I've downloaded the latest JavaSDK, Eclipse, and LWJGL, just in case.
I tried Java in the early days but it didn't have the same impact on me as C# had recently. I think it had something to do with using NotePad as my Java IDE, and sticking with pure Java. Things seem better nowadays with modern Java and Eclipse.
I'm more convinced by the arguments that C#.NET severely reduces your potential customers. I'm not sure I can afford that, and I can't risk waiting for .NET penetration to grow.
There isn't much to choose between Java and C#. The .NET libraries seem better organized, but at this point in time Java has the edge in the market.
But, if making life easy for my customers is my priority, then I should just back to C++ and forget about trying to find a more productive language.
Incidentally, playing with C# has improved my C++ programming. In C++ I'd stick to my safety zone, but experimenting with C# has shown me better ways to organize my classes.
Cornel
06-02-2004, 05:30 AM
I think you mis-understand what I am saying. My comments are not related to the comparison of Dot.Net and Java in terms of what they can do or which is better. Maybe the FUD part of the thread should be investigated with less subjectivity....
1) I find it quite strange that people that love Java get so defensive about any negative or realistic comments about Java. I dont get upset or devensive when people point out negative aspects of C# or C++ or Delphi (and I love all 3 these languages very much). I also dont get defensive or upset about the negative aspects of Dot.Net or Linux. It seems to me that Java people are more religious about Java than logical or objective about Java in general.
2) There is no debating the future of Dot.Net as a preferred platform on Windows operating Systems. Therefore the growth in terms of people having Dot.Net on their systems is going to be very high.
3) Just because you are a Java fanatic doesn't mean that Java is the only thing that is any good or the only thing that is growing as far as platforms are concerned. Or that Java by itself makes programmers program better with less bugs. These are all things that are very subjective because it is very easy to have positive or negative experiences with any platform or programming language.
I am by no means a Dot.Net or Windows or Microsoft fanatic, but one can't ignore what Microsoft is doing. So it is quite simple...
4) How many desktop PC's in the world runs Windows at the moment?
5) Is there an alternative OS that is practical (And Linux isn't the answer yet, although I would have liked it to be)
6) People will upgrade their OS eventually
7) Not Everybody buys a Dell / IBM installed system, some people actually install their own OS.
8) In the future you will still be able to do C++
9) People converting from C++ can choose Java or C#, so you are going to have a lot of C# developers on the one side, and a lot of Java developers on the other side.
10) Then looking at the future it is clear that Dot.Net is going to be on a Windows installed PC, whether you like it or not. Dell won't be able to magically uninstall Dot.Net with the next release of windows. The fact is that there is no guarentee that Java will be on that same machine even if some hardware companies install Java by default, many hardware companies don't or won't.
11) Now relating this to the topic of this thread. C# with Dot.Net is definately going to be an option that many developers will have to face in the near future. And hopefully there will be some other options or competition or alternative like Java or something else.
Wayward
06-02-2004, 05:33 AM
I'm downloading the thinstall demo.
It'll be interesting to hear how well that works. Just try it one one of the MDX samples.
Maybe use Microsoft's Java to C# converter on the Alien Flux source code and go with that.
I'm thinking of taking the Alien Flux source and turning into a logic-puzzle game. Maybe I'll call it 'Fluxwits'. :)
Cornel
06-02-2004, 05:42 AM
>> Java is now shipped (with an auto-update feature) on about
>> 60% of all new hardware. That's a lot of PCs. It's also shipped
>> on 100% of Macs and very well supported indeed.
At the moment I agree that the Java market is bigger than the Dot.Net market. But when the next Windows OS is released then 40% of those PC's wont have Java, but 100% of them will have Dot.Net. Or is this also just another FUD argument of mine ?
Jim Buck
06-02-2004, 06:19 AM
Wow, there is some serious myopism and, as someone stated earlier, F.U.D. when it comes to C#. I think that people are looking are merely their own machines when it comes to gauging the general population....and that's usually not a safe bet if the person doing the judging is a developer (who would normally have the latest-and-greatest).
The relevant questions should be:
1) At what point will a significant enough % of the game-buying market for a particular title that is considering whether or not to use C# actually have the .NET CLR installed on their machine already without the game itself having to supply it?
2) What is a significant enough %? (This is the key question actually.)
Personally, I think the answer to 1) is at least 3 years, perhaps 4 if you believe the post I made earlier about it (JoelOnSoftware's assessment). And even that depends on the game since casual-game buyers will certainly lag behind the hardcore-gaming crowd. The answer to 2) also depends on the game, but for the casual-style games that a lot of people on these boards seem to be making, I think the significant % would have to be at least 60 or 70 in order to not throw the baby out with the bath water.
If your game will take 3, 4, or more years to developer, then don't worry about even asking the question. :)
Wayward
06-02-2004, 06:24 AM
Today, I learnt what FUD (http://info.astrian.net/jargon/terms/f/FUD.html) means.
Cornel
06-02-2004, 06:53 AM
>> Jim Buck
I agree with your last post. 3 or 4 years is probably a good estimate for the time it will take for 60% to 70% of people to have the current Dot.Net runtime by default.
Then of course you will have the added problem that as far as I understand. Microsoft will have gone through at least 2 generations of Dot.Net in that time. So the percentages might look like this :
Dot.Net 1.0 70%
Dot.Net 1.1 60%
Dot.Net 2.1 1%
Direct-X 11 (heheh now where have I heard about X11) 5%
So this always a problem... Maybe we should build a bootable linux game CD with your game working out of the BOX, like the Quake-World CD I saw on SlashDot today :) This CD could then be booted remotely over the Broadband Internet which everyone will have by that time. So playing a game over the internet is no more than a 2 Minute exercise and it supports all hardware.
If you have the latest Virtual OS freeware you could then just boot the game in your VM machine and play at leasure.
So the future looks great!!! Even for the Java people :)
princec
06-02-2004, 07:02 AM
Good things are going to happen to anyone who moves to a managed runtime environment, no matter who makes it :)
Cas :)
Diodor
06-02-2004, 07:04 AM
Original post by Jim Buck
the significant % would have to be at least 60 or 70 in order to not throw the baby out with the bath water
60% is a horrible percentage. Considering marketing costs it can lower profits by much more than the 40% drop in sales.
Nemesis
06-02-2004, 07:18 AM
Increasing levels of abstraction in software development is practically a certainity, and that includes using managed languages (C#, Java, Pyhton, whatever).
Lower-level software will narrow down to device drivers and critical operating system code.
The high demands of the gaming market will obviously hold back this movement to an extent because the gaming industry is pushing the limits of hardware all the time, which, despite the advances, is never ahead of the software requirements.
anyway, for the elitist geek in me, the prospect that even my pet cat will be able to write games is a sad prospect indeed ;)
princec
06-02-2004, 08:14 AM
One sure recipie for failure is to try and please everybody! You've got to exclude a large chunk of the theoretical potential market in order to actually extract decent juice out of the bit that's left. In my case I'm excluding people who won't download games over 5MB, people who don't have OpenGL, people who don't like shoot-em-ups, people who don't like mouse control, and people who don't like launching applications with a click. Leaves me with a much smaller market that I can concentrate that much more effectively on.
Stop sniggering at the back. Both of my customers know I'm right ;)
Cas :)
Cornel
06-02-2004, 10:03 AM
Cas,
believe it or not, I'm actually one of your fluxy alien customers, so be nice!!!! (hehehe)
When is the next game finished ?
Wayward
06-02-2004, 10:48 AM
so who's the other one? :)
princec
06-02-2004, 11:25 AM
My mum :)
Next game's ready in about 4 weeks. Depends on Chaz's available time... it's only taken me 2 weeks of actual programming to code it. Nearly as fast as Pat and his PTK! Soon I'll be even quicker.
Cas :)
Jim Buck
06-02-2004, 02:52 PM
Originally posted by Diodor
60% is a horrible percentage. Considering marketing costs it can lower profits by much more than the 40% drop in sales.
I actually agree, but I posted my previous % for the C# religious in here. :) In fact, I'm targeting no higher then OpenGL 1.1 for the reason that it had a significantly high % of market penetration for driver support (98 or 99% as I recall from an earlier post). Anything technical that I have control over - 60 or 70% support just wouldn't cut it for me. (Of course I'm limiting my % based on game design, etc, as mentioned in an earlier post, but that's a whole 'nother story. :) )
dangermouse
06-05-2004, 09:09 AM
Originally posted by Wayward
.NET will kill off Java. ;) You'll have to switch eventually, PrinceC. :eek:
.net won't kill off java. java is multiplatform and don't forget the j2me. i have used c# (i am a windows programmer by day) since it came out and while it is a nice language, java being multiplatform is a huge advantage. microsoft will never release runtimes for mac/linux/symbian/palm.
Originally posted by dangermouse
microsoft will never release runtimes for mac/linux/symbian/palm.
I think you may be mistaken there. :)
Wayward
06-05-2004, 01:34 PM
My '.net will kill off Java' was Ha Ha Only Serious (http://c2.com/cgi/wiki?HaHaOnlySerious).
Java may well suffer at the hands of .net. .net now has higher adoption rates than Java. Some of the major indie game portals are on record as saying there won't be a Windows Java market in 2 years.
But none of this Java is doomed nonsense actually matters because you can just compile Java to native code.
Wayward
06-05-2004, 01:57 PM
C# is a really clean and beautiful language to use and I can't wait to switch in 3-4 years time when there's an indie market for it. If a more customer-friendly way to deploy C# presents itself, then I'll switch sooner.
Unfortunately, I've had to go back to C++ after using C#, which has been even more painful than I ancipated it would be. C# becomes natural very quickly, and makes C++ seems unnecessarily quirky.
tjones
06-11-2004, 07:19 AM
I'm a little late posting to this thread, but I'd thought I'd add my $0.02.
I've been using C# and Managed DirectX for a while now, and I'm happy with it. I wouldn't deliver a customer a C# product yet, but I do use it for all of my tools work. It's great for that.
Some moons ago, I wrote a short introduction to Managed DirectX:
http://www.genkisoft.com/manageddx.shtml
Wayward
06-11-2004, 07:35 AM
tjones, you mention in your MDX9 article that the end user has to install DirectX 9 with '/installmanageddirectx'. If that's true, then no normal end user on the entire planet is going to have managed directx installed. I didn't know that. How depressing.
tjones
06-11-2004, 07:46 AM
The managed runtime is redistributable, but it is about 7 MB (uncompressed) on my machine.
The DirectX 2004 Summer Update (beta) looks like it installs the managed components automatically, and that should be released within a few months.
Wayward
06-11-2004, 07:53 AM
That's some relief, but not much. There isn't going to be a significant user base for a long time.
I think the case is that the DX 9.0 end-user runtime requires /installmanageddirectx to install Managed DirectX, but the current DX 9.0b doesn't.
princec
06-11-2004, 07:55 AM
Hey tjones, that's a pretty niftily small size for the runtime. What's it like compressed with lzma? And what do you get (functionality wise) in that runtime?
Cas :)