Not to try to derail the thread or anything, but CosmicSpore, is NewBoston's c# tutorials good? I've heard that his java tutorials are terrible and I'm wondering if his c# tutorials are bad as well.
In fact.... the article even mentions how some people believe that their "ideas are gold" (exactly like you just stated) and how that is entirely wrong because there is literally no one out there with the skills needed who will care about someone else's ideas.
It's simply the fact that there are more ideas than people with the skills to make those ideas come to life.
You can think of it as having too much food, and not enough people to eat it all.... Eventually that food is just going to go bad, because no one wants it. That's life.
Oi. Number one, I don't want "to make millions" I just want this to happen. If need be, I'll make this by myself. Which would *suck* but i could, after ten years or so. People have expressed interest in this concept, not just a small base saying "yea sugest this to0 dizney!!!" I already have a musician, a sound effects artist, and soon a sprite artist. I'm not sure why people say "this wont work" I can learn how to code the game if need be, but other than lack of code, I can do this. Heck, I even have an advertisement manager. Just because people are working for free doesn't mean it wont happen.
From a design perspective, let me offer a few suggestions:
You obviously want the game world to be big, but big isn't practical. Generating one, huge Terarria world takes a long time for many computers that even meet the minimum requirements of that game. Generating 150 is plain out of the question. As such, you should instead try and have your galaxy randomly generated as you go. Start with one star system where the player begins, and generate the macro information about it like the characteristics of the natives, population, size, mineral composition, etc. etc. as much as you want short of actual block information. Also generate however many stars there are within a decent distance (certainly within the distance the player can travel in a timely manner, how far you go out from that is up to you). Only generate the macro information about other star systems as the player explores them. Only generate block information specific to planets once you land, and even then consider doing it as the player explores the planet instead of all at once on a loading screen.
Finally, consider making it a small Terraria world, at least. In all honesty, small Terraria worlds are totally adequate for single player, and even small multiplayer games. Huge worlds should be for more large-scale servers.
Not to try to derail the thread or anything, but CosmicSpore, is NewBoston's c# tutorials good? I've heard that his java tutorials are terrible and I'm wondering if his c# tutorials are bad as well.
Oi. Number one, I don't want "to make millions" I just want this to happen. If need be, I'll make this by myself.
Of course you do. Everyone wants to make their ideas come to life, that's the point.... and that's exactly why no one else will help you make your game idea unless you can prove to others that you have the skills, motivation, and all the requirements for seeing the project through out to the end.
Which would *suck* but i could, after ten years or so.
Welcome to my world....
I've had basically the same game idea in my head for over ten years... I took college courses in programming, got a degree in it, and after becoming a professional programmer, I've finally just really started real work on this idea a month or two ago (although the initial development started about a year ago, I didn't really get much done until recently).
And along the way, I got married and had a kid, which significantly decreases the amount of time I have to work on my game.
People have expressed interest in this concept, not just a small base saying "yea sugest this to0 dizney!!!" I already have a musician, a sound effects artist, and soon a sprite artist. I'm not sure why people say "this wont work" I can learn how to code the game if need be, but other than lack of code, I can do this. Heck, I even have an advertisement manager. Just because people are working for free doesn't mean it wont happen.
I love the enthusiasm, I really do. That kind of enthusiasm is how ideas becomes reality....
The problem is... you're not ready yet. You could get a hundred programmers, artists, and etc. on board with your idea... but you'll never make the game you want until YOU personally have some of the skills needed.
You know why? Because your programmers will lose motivation. They will have different ideas and leave you group to work on their own ideas. Your artists will do the same. They will never stay, and each one who leaves will discourage you even more.
This is because games take years and years to make. They obviously aren't made in a day, and a game like the one you've described would take, in my opinion, about 1-2 years of full-time work by professionals. And that's if your team saw the project through to the end.
1-2 years of full-time work by amateurs (who still have the required skills, by the way) and you'd possibly be able to pull off a mediocre game with maybe a tenth of the features you wanted, if even that.
I would very, very highly doubt that you'd get a really good programmer to do the game for you. Those kind of people are working on their own ideas, and making their own dreams come to life.
This isn't meant to discourage you at all... Keep your enthusiasm... It's important... But just realize that without having any skills of your own, you won't get your game created. Making a game is hard work. It's not about the money. It's about the skills and motivation. You need both.
I encourage you to keep the enthusiasm, and to seek out the skills you need to do this. Like others have said, it's a good idea... the problem is that good ideas simply just aren't enough these days.
You obviously want the game world to be big, but big isn't practical. Generating one, huge Terarria world takes a long time for many computers that even meet the minimum requirements of that game. Generating 150 is plain out of the question. As such, you should instead try and have your galaxy randomly generated as you go.
He stated the planets would be like Terraria worlds... Terraria worlds ARE randomly generated. I don't see how your suggestion changes his concept any.
Finally, consider making it a small Terraria world, at least. In all honesty, small Terraria worlds are totally adequate for single player, and even small multiplayer games. Huge worlds should be for more large-scale servers.
I played Terraria in single-player... I don't think the Small worlds are a very good size once you've gotten into the game.
Perhaps if there were 150 small Terraria worlds it would be ok... but if you want to build a "base" then you want the extra room....
But I would see no reason for not having random-ish planet sizes if he wanted to be randomly creating planets, or have a lot of planets, or whatever.
He stated the planets would be like Terraria worlds... Terraria worlds ARE randomly generated. I don't see how your suggestion changes his concept any.
It's about WHEN the worlds are generated. Don't try and generate all 150 at game start.
I played Terraria in single-player... I don't think the Small worlds are a very good size once you've gotten into the game.
Perhaps if there were 150 small Terraria worlds it would be ok... but if you want to build a "base" then you want the extra room....
But I would see no reason for not having random-ish planet sizes if he wanted to be randomly creating planets, or have a lot of planets, or whatever.
I have no idea what you could possibly be building that would make it necessary to have a larger-than-small Terraria world, but random planet size should be do-able.
Can I say my opinion? My opinions are usually worthless, but I'll give it a shot.
Don't spread your concepts until you fully understand the context. The context here being creation of a Video Game. "Video Game" being a combination of:
Art
Music
Story
Computer Science
Computer Programming*
I've looked at your idea, and it looks wonderful. But, be honest here, how many of these* do you understand fully? You need to understand all of these, or else all the people you "hire" have no direction. They are looking at you, and you need to tell them what you need for your Game.
There is a reason why people are given tons and tons of currency for this. Video Games are a new and advanced art. Creation of Video Games requires previous knowledge. And usually, a lot of money. And, so, my final statement is: If you truly think you can do this, then please, continue. Otherwise, don't.
I have a full grasp of:
Art: For concepts and back grounds, not completely full spriting, but i already have someone for that. (if they quit, I can learn)
Music. The music is full and complete. I did it yesterday.
Story: Yeah, I have a complete story. I'm already working on the lore for sixty planets. I cut the number down from 150 to 60, as sixty is still great, but drastically less work.
Computer Science: Hmmm... I'm not sure what you mean by this. But i do believe i have an above average grasp of it.
Coding: I am currently learning Visual Basic, if i was learning something else like C++ than i wouldn't bother any of you guys.
I know what i need for the game. It's like this. An architect knows EXACTLY what he wants down to the last atom, but he can't work a digger, can he? No, the construction worker does that, because he's better suited. I truly think i can do this. If I don't have any help from the forum, I'll do it locally.
I see that you have put down a lot of time in your game idea, but I'm sorry, just because you have a well organized idea, you should never trust random people on the internet about doing all the coding and graphics in the game. Especially not if they are going to do it for free from the beginning.
Ahaha! I understand it's a gamble for both me and them, but you know, not everyone is a skeptic. If it doesn't work, there's plenty of skilled people locally.
It's about WHEN the worlds are generated. Don't try and generate all 150 at game start.
I have no idea what you could possibly be building that would make it necessary to have a larger-than-small Terraria world, but random planet size should be do-able.
Yeah, I know. I changed it to 60 planets, which is good, i think.
Random planet size would be doable, but have you guys played cortex command? Creating a new world is REALLY easy. I'm pretty sure we could incorporate that kind of world setup into the game engine.
Of course you do. Everyone wants to make their ideas come to life, that's the point.... and that's exactly why no one else will help you make your game idea unless you can prove to others that you have the skills, motivation, and all the requirements for seeing the project through out to the end.
Welcome to my world....
I've had basically the same game idea in my head for over ten years... I took college courses in programming, got a degree in it, and after becoming a professional programmer, I've finally just really started real work on this idea a month or two ago (although the initial development started about a year ago, I didn't really get much done until recently).
And along the way, I got married and had a kid, which significantly decreases the amount of time I have to work on my game.
I love the enthusiasm, I really do. That kind of enthusiasm is how ideas becomes reality....
The problem is... you're not ready yet. You could get a hundred programmers, artists, and etc. on board with your idea... but you'll never make the game you want until YOU personally have some of the skills needed.
You know why? Because your programmers will lose motivation. They will have different ideas and leave you group to work on their own ideas. Your artists will do the same. They will never stay, and each one who leaves will discourage you even more.
This is because games take years and years to make. They obviously aren't made in a day, and a game like the one you've described would take, in my opinion, about 1-2 years of full-time work by professionals. And that's if your team saw the project through to the end.
1-2 years of full-time work by amateurs (who still have the required skills, by the way) and you'd possibly be able to pull off a mediocre game with maybe a tenth of the features you wanted, if even that.
I would very, very highly doubt that you'd get a really good programmer to do the game for you. Those kind of people are working on their own ideas, and making their own dreams come to life.
This isn't meant to discourage you at all... Keep your enthusiasm... It's important... But just realize that without having any skills of your own, you won't get your game created. Making a game is hard work. It's not about the money. It's about the skills and motivation. You need both.
I encourage you to keep the enthusiasm, and to seek out the skills you need to do this. Like others have said, it's a good idea... the problem is that good ideas simply just aren't enough these days.
He stated the planets would be like Terraria worlds... Terraria worlds ARE randomly generated. I don't see how your suggestion changes his concept any.
I played Terraria in single-player... I don't think the Small worlds are a very good size once you've gotten into the game.
Perhaps if there were 150 small Terraria worlds it would be ok... but if you want to build a "base" then you want the extra room....
But I would see no reason for not having random-ish planet sizes if he wanted to be randomly creating planets, or have a lot of planets, or whatever.
Why do people always center this around money?!! I would release this as freeware if i made this alone! the price is only incentive for the people who are helping me, as i get nothing. Yes, it wont be made in day. But i do have many of the skills needed. I could HELP with the coding, but not do it by myself. I do have the skills for it. If they leave, yeah whatever. I just pick it up again with a new one, and it may take a while, but in my free time i can work on it myself. People leaving is not really big deal. If they lose interest, i wish the best to them. I'm a little too laid back for that to bother me. I just had a musician drop out, and i had to do the music by myself, and that was no problem.
For the OP: An interesting idea, but I really think you should retract the scope; as it is, a lot of the game seems to be a bit too unfocussed and trying to be everything to everybody.
No, I'm sorry to burst your bubble....
That is far, far from a "complete" game design document. Perhaps it's better and more detailed than the majority you'd see on forums and the likes.... but it lacks any amount of true detail and consistency that a true design document would need.
It's a one-pager concept document. Well, that's not true, it's a bit longer than that. A actual Game Design Doc would definitely as you say have a lot more to them.
This document lacks programming explanations, art explanations, sound, and basically all true details. It's an overview or a sales pitch at most.
one-pager concept document is more a sales pitch to publishers and developers and puts the ideas and vision of the game into a concise document. This seems to at least meet that criteria, IMO.
I'd personally recommend against Java for games.... It's just not a very practical language for making games.
I don't really agree on this. I wouldn't recommend it, myself, but I don't see it as a bad choice. Java does have a good set of libraries to choose from for game creation, and they actually work better than their GUI toolkits. (Don't get me started... :P)
Speed is typically irrelevant these days, and even when it comes down to it Java does tend to often be slower than it probably should be for some reason...
Agreed. A series I just finished but plan to continue with different languages was to write the same algorithm (find all the anagrams in a 260,000 word dictionary) in various languages. Out of Python,C#,Java,VB6,Scala,F#,Ruby,Delphi, and Perl, Java was slower than C# (0.6s),Delphi(1s), F#(0.5s), Scala(1.4s), and Python(1.2s) for speed overall execution time, and at the same time was the third longest source code.
C++ is a good choice if you want portability and speed... but it also comes with the price of learning memory management
Not to the extent of C, thankfully...
But C# is very promising.... with things like 'Mono', C# maintains portability to all relevant platforms, covers memory management and garbage collection (better than Java, in my opinion), and is overall a friendlier language to use... It is also highly supported in game development, with things such as XNA, good tutorials, and tons of good libraries and frameworks.
In addition to Mono, there is another CLR runtime, which is designed for BSD, called OT. I don't know how well it works, but it's there.
I think one of the biggest things going for C# is that it is a ECMA Standard. This has a lot of ramifications that make the language specification more open than a lot of other languages that don't really have a standard, such as Java (the Java language is managed by Oracle, and they use licensing restrictions to prevent knock-offs,(sort of like Turbo Pascal was to Pascal itself). This backfired though because Java unfortunately left a lot to be desired from a language perspective and Sun and Oracle was and still is slow in adding many features to the language.
That is nonsense. I don't know of any real prototype you can make in "6 hours or so" of a real game, without using something like Game Maker, or a full game engine... but even then you probably won't get a decent prototype in for your idea in 6 hours.
Heck, 6 hours isn't even enough to hash out any sort of object heirarchy to the game (assuming it uses OO of some sort); Which is fine, because any OO heirarchy for a game of that scope you come up with in 6 hours is probably missing something.
but you should plan ahead and use what will be most efficient.
I'm not sure I fully agree. It really depends on the game, too. In this case I do agree- a game of this scope and magnitude needs a lot of careful thought, not just jumping into some sort of implementation.
as much patience for people who think they and everything they think is superior because they happen to work with programming... in a whole other frield of programming.
Being in a different field of programming is a lot closer and more likely to have valid insights to another than a person who just has a few photograph of that field. Sure, there are going to be differences, but they are still in the same farm.
This does not matter in the slightest. No one wants to "steal" game ideas from anyone else. This suggestion is rather pointless.
Game designers don't get into the game industry because they love to program or love to draw... They get into it because they have their own ideas that they want to see become reality. Anyone with the skills and abilities do not steal ideas...
...Unless those ideas are already successful like Zynga 'stealing' pokemon... lol... but that'd completely different. That is piggy-backing on sales and market shares, it's not stealing ideas, it's just copying the popular ones.
No, I'm sorry to burst your bubble....
That is far, far from a "complete" game design document. Perhaps it's better and more detailed than the majority you'd see on forums and the likes.... but it lacks any amount of true detail and consistency that a true design document would need.
Game design documents can be sort of thought like an architect's blueprints. They must state exactly how to design the game, or else they are incomplete.
... Sure the architect can get in the mood to do something fancy here or there, and alter his blueprints to adjust... but he will still go 99% off of the blueprints.
A good game design document would be the same thing. It will either tell you how everything will be designed, or it won't.
This document lacks programming explanations, art explanations, sound, and basically all true details. It's an overview or a sales pitch at most.
I thought Huntlocker's reply was actually very, very accurate, to be honest.... And I agree completely.
On the other hand, ironically, I actually don't think you know what you're talking about to make an accurate judgement of anything.
No offense... but you come into topics like this acting like you're some professional game designer and you know exactly what you're talking about.... but you don't. Just quit pretending that you are... it bothers me. I really love the enthusiasm you have, but your information is very inconsistent.
You have more programming experience than a majority of people on these forums, and more experience than I had when I was your age.... but that doesn't mean you're a professional or know what you're talking about, either.
C# has also become very popular over the last few years.... for good reasons.
I'd personally recommend against Java for games.... It's just not a very practical language for making games.
Speed is typically irrelevant these days, and even when it comes down to it Java does tend to often be slower than it probably should be for some reason... As well, it is not a commonly used language for video games, and therefore does not have as much support for it.
C++ is a good choice if you want portability and speed... but it also comes with the price of learning memory management, which also means possible memory leaks if you're not careful and you don't understand what you are doing. But that should never put anyone off... Understanding what you're doing will always be necessary in any language.
But C# is very promising.... with things like 'Mono', C# maintains portability to all relevant platforms, covers memory management and garbage collection (better than Java, in my opinion), and is overall a friendlier language to use... It is also highly supported in game development, with things such as XNA, good tutorials, and tons of good libraries and frameworks.
That is nonsense. I don't know of any real prototype you can make in "6 hours or so" of a real game, without using something like Game Maker, or a full game engine... but even then you probably won't get a decent prototype in for your idea in 6 hours.
...And there's nothing wrong with using Game Maker or anything like that, especially if you're just using it for a prototype... but you should plan ahead and use what will be most efficient. If you use something like GameMaker for a prototype and then convert to C++ you will be wasting a lot of time just to test the idea, when you could have been implementing the prototype in C++ and actually accomplishing your goal.
Maybe that's just me seeking out efficiency.... but... my point is your game idea would have to be very, very minimal if you can make a prototype in just one evening. Statements like that vastly under rate the amount of time it takes to make a decent game by a significant degree.
@ OP:
You have what could be a really good game idea here, and you've done your best to present it.... but what you lack are the skills necessary to complete it. Without those, your game will never be made. Even if you were to find a coder who wants to use someone else's ideas, he wouldn't have the motivation needed to finish it. An Artist would be the same way, although they tend to be easier to find and/or hire on.
To summarize: Everyone's game ideas "suck". They suck specifically because they are not your own ideas... and anyone who has the abilities to actually create a game will use their own ideas.
Ideas are 'a dime a dozen'... They are basically completely worthless. Everything under the sun has been either done before, or thought up before.... If your game idea is "new", then it's simply because no one ever had the interest to make the game you wanted... and that won't change just because you pitched your idea on a forum.
This may be sad or depressing news to hear, but it's definitely the truth...
The good news is... You can keep the idea, and if you ever want to see it become a reality, all you have to do is keep dreaming and moving forward with the idea on your own.... Get the skills and abilities needed, and make it come to life.
That's what everyone else has ever done if they have ever made a game. They kept their dreams alive by pursuing them non-stop.
I'd argue that Java is the most practical language to create games. Java has millions of open source libraries that you can use to make games... including libraries to use OpenGL and DirectX.
Java is just as fast as medium-level languages like C++, and sometimes even faster. The JVM is world class, completely obliterating every other VM ever created. The JVM is the most crucial component in the existence of Java... I'd say it will be continued to be used even when Java is no longer used. Maybe then, we'll be using Java 2, Scala, or something of the like, but nevertheless the JVM is amazing.
C# is Java's top competitor, I'm aware, and has more syntactic sugars... but I don't believe their syntax is particularly just right. Now, that Java would be able to implement similar sugars, we can finally have a good syntax as provided by Java, with a strong backbone and a reliable VM that is naturally acceptable to the practical game developer. With Java 8's upcoming implemented modules (for dependency injection), I'm confident that it will maintain superior to its competitor for the next few years.
For the OP: An interesting idea, but I really think you should retract the scope; as it is, a lot of the game seems to be a bit too unfocussed and trying to be everything to everybody.
It's a one-pager concept document. Well, that's not true, it's a bit longer than that. A actual Game Design Doc would definitely as you say have a lot more to them.
one-pager concept document is more a sales pitch to publishers and developers and puts the ideas and vision of the game into a concise document. This seems to at least meet that criteria, IMO.
I don't really agree on this. I wouldn't recommend it, myself, but I don't see it as a bad choice. Java does have a good set of libraries to choose from for game creation, and they actually work better than their GUI toolkits. (Don't get me started... )
Agreed. A series I just finished but plan to continue with different languages was to write the same algorithm (find all the anagrams in a 260,000 word dictionary) in various languages. Out of Python,C#,Java,VB6,Scala,F#,Ruby,Delphi, and Perl, Java was slower than C# (0.6s),Delphi(1s), F#(0.5s), Scala(1.4s), and Python(1.2s) for speed overall execution time, and at the same time was the third longest source code.
Not to the extent of C, thankfully...
In addition to Mono, there is another CLR runtime, which is designed for BSD, called OT. I don't know how well it works, but it's there.
I think one of the biggest things going for C# is that it is a ECMA Standard. This has a lot of ramifications that make the language specification more open than a lot of other languages that don't really have a standard, such as Java (the Java language is managed by Oracle, and they use licensing restrictions to prevent knock-offs,(sort of like Turbo Pascal was to Pascal itself). This backfired though because Java unfortunately left a lot to be desired from a language perspective and Sun and Oracle was and still is slow in adding many features to the language.
Heck, 6 hours isn't even enough to hash out any sort of object heirarchy to the game (assuming it uses OO of some sort); Which is fine, because any OO heirarchy for a game of that scope you come up with in 6 hours is probably missing something.
I'm not sure I fully agree. It really depends on the game, too. In this case I do agree- a game of this scope and magnitude needs a lot of careful thought, not just jumping into some sort of implementation.
Being in a different field of programming is a lot closer and more likely to have valid insights to another than a person who just has a few photograph of that field. Sure, there are going to be differences, but they are still in the same farm.
Please show me your Java implementation. For some reason I'm thinking that your results could be inverse, being that the time difference is where less is good. Your results do not match up with professional benchmarks, at all, and seem subsequently contradicting. Even if inversion wasn't the case, you can't measure overall performance with one implementation.
Facetious means being fake. I was being sincere so I could not have possibly been facetious.
Anyways, let's forget that.... Misunderstandings are misunderstandings. They are best left in the past.
People typically "prototype" games before they actually start work on them.
The prototype is created without the correct images, sound, scripts, and etc. that the full game will have. Prototypes are simply just meant to test the concept in code, make sure it works and can be done, and to basically lay out the foundation of how it can be done. Sometimes prototypes are even used as a pitch for getting a publisher on board, or in this case you could use it for KickStarter, Steam Greenlight, or to convince people to join your team and finish work on the game.
The prototype can even be thrown away entirely and the game restarted from scratch to design it well. In that case a prototype is only used for the purposes of testing the design, getting team members, giving sales pitches to publishers, finding art style, finalizing specs of the game engine, and/or various other things. Once it has accomplished it's goals, the developers start over with greater knowledge.
My point is... Why learn Java AND do graphics AND do sound? It seems you're just creating more work for yourself, unless you're wanting to do it all by yourself... which is fine, but it would just take you forever and ever to do it completely alone.
I would recommend you starting off with learning Java and getting a prototype built OR doing concept art and some game art.
Do one or the other and make it really good, depending on what your own interests and abilities are. Spend a lot of time getting it right and perfecting your skills. If you do that, then you can use whatever you have created to pitch the idea to a programmer/artist (whichever one you are not).
If you've got a lot of concept art or a prototype all you need is team members to help you out. And those are easy enough to get if you can demonstrate your own skills to them.
And I'm honestly not sure which one is harder....To get a programmer as an artist, or to get an artist as a programmer... So I recommend just doing what you like to do.
I'd also love to say you could do the same with having sound or having amazingly good writing skills, but finding both an artist and a programmer with only Music or Writing skills might be very, very difficult unless you're trying to make a music-based or storyline driven game.
Anyways, these are just my personal recommendations. Of course people should always choose their own path... The people who do something new and different are the ones who break the mold and show the world that nothing is impossible.
So if you fully believe that you can see a game created with only a game idea, and have a programmer and artist pick up that idea and see it through to the end.... by all means then go for it.
I'm simply just going to tell you.... That road will be a lot rougher than you think.
You really sound like someone who had his dreams crushed by a fat man in tights. Yeah, it's gonna be tough, but i'll enjoy doing it. And i'd rather have a prototype with everything that will be used in the game, instead of placeholders.
I think it's a bit like trying to play 'Gaspard de la Nuit' the first time you ever touch a piano in your life.
I would suggest to write a couple of small games first. If your dream is to play Ravel, your first step is 'Mary Had a Little Lamb'.
That is one of the issues, but i'm thinking more like trying to play Beethoven's fifth symphony, but only in parts, then when one part is fully perfected, moving on to the next. So it's like devoloping many small games, but chunking it into a larger on
I think it's a bit like trying to play 'Gaspard de la Nuit' the first time you ever touch a piano in your life.
I would suggest to write a couple of small games first. If your dream is to play Ravel, your first step is 'Mary Had a Little Lamb'.
That is one of the issues, but i'm thinking more like trying to play Beethoven's fifth symphony, but only in parts, then when one part is fully perfected, moving on to the next. So it's like devoloping many small games, but chunking it into a larger on
I've been looking at the feature list in your opening post, and I think a super-minimal Terraria clone would be a good starting point.
And with minimal I mean just a screen with solid-colored blocks, and a 1x2 rectangle that's the player. Simple WASD controls, so you can move and jump around.
That's it. No sprites, no textures, no sound, no scrolling, no enemies. If you want to add more features, try digging and placing blocks first. The terrain, physics, and collision handling will be enough to keep you occupied for weeks.
Yeah, that's definitely what i'm thinking. Get the physics and movement down, then work on guns and weaps, and so on. EDIT: It seems like you know alot about this. If i'm not interested in digging and building, will it still help me to practice those?
I would love to jump on this project, but there is one issue... the money. If you can get people to back this project (*cough* kickstarter *cough*) someone might want to help. You'll also want a working demo of some sort so you can create a video for it or something. I'm just saying, this is a great idea, and if executed well, could be really popular.
Until you get some money in this project nobody will want to touch it.
Yeah, That's a good idea. Maybe a tiny playable demo just to prove i'm not stealing from people. XD
There's another reason to use placeholder graphics at first; the game will change a lot while you work on it. Remember all the cool art Dock made for Minecraft?
Yeah, That is true. Opinions and tastes DO change.
In a way, yes. It forces you to think in a clear separation of what it shown on the screen, and the game state. This is a very important concept -- even if your final game won't have digging and building, it will rear its head again when you try to add scrolling, or enemy AI, or terraforming, or...
The point is, there is a certain way of thinking about games that you will not pick up by playing them. Just like you can't learn to play the piano (or even grok the subtle relationships between chords and modes) by listening to music.
Ah. Thanks alot for the great advice! I look forwards to starting this!
Good concept, although it seems a bit ambitious (understatement): " Like terraria, only miles better.". In fact, I'd offer to help, but I'm not all that good at programming, and I don't think it will ever be completed...
Nevertheless, good luck, if this comes out, I'd probably buy it xD
Haha! Thanks for the compliment. This game will probably one of those games that takes FOREVER to come out, but when it does, it's awesome. :3
Please show me your Java implementation. For some reason I'm thinking that your results could be inverse, being that the time difference is where less is good. Your results do not match up with professional benchmarks, at all, and seem subsequently contradicting. Even if inversion wasn't the case, you can't measure overall performance with one implementation.
The primary difference between Java and some of the others is that I had to write my own word-sorting algorithm for Java, and I used Bubble-Sort. I was still able to get performance closer to the others using the server profile.
Java Implementation:
import java.util.*;
import java.io.*;
public class anagram {
public static void sortchars(char [] sortvalues)
{
for(int x = 0;x<sortvalues.length;x++){
for(int y=x+1;y<sortvalues.length;y++){
if(sortvalues [x] < sortvalues [y] ){
char temp = sortvalues [x] ;
sortvalues [x] =sortvalues [y] ;
sortvalues [y] = temp;
}
}
}
}
public static String sortstring(String sortstring){
char [] stringchars = new char [sortstring.length()] ;
sortstring.getChars(0,sortstring.length(),stringchars,0);
sortchars(stringchars);
return new String(stringchars);
}
public static void main(String [] args) {
final String filename = "D:\\dict.txt";
//HashMap we use to store and sort out anagrams.
try {
HashMap<String,List<String>> anagrams = new HashMap<String,List<String>>();
long starttime = System.currentTimeMillis();
Scanner sc = new Scanner(new File(filename));
while(sc.hasNext()){
String readline = sc.nextLine();
String sorted = sortstring(readline);
if(!anagrams.containsKey(sorted))
anagrams.put(sorted, new LinkedList<String>());
List<String> addto = anagrams.get(sorted);
addto.add(readline);
}
long endtime = System.currentTimeMillis();
System.out.println(endtime-starttime);
}
catch(FileNotFoundException exx){
System.out.println("File not found.");
}
}
}
The bubble-sort difference could be argued as making a big difference. It probably makes some difference, but I'd say it's really not that much faster than Quick Sort for this implementation, simply because words don't usually exceed more than a few letters. Scala still runs faster if I use the JVM server profile too. (Java still runs 1second and C# and F# run 0.6 and 0.5 seconds respectively (The F# results surprised me). As I've said before and I believe I state in the conclusion, these speed comparisons aren't really about speed for me, but rather about speed versus code amount.
I'm hoping to add a reasonable C++ implementation to my results.
Perhaps you're forgetting about all of the syntactical mishaps in C#, whereas Java has none...
Seems you're forgetting them too, since you didn't mention a single one.
perhaps you're forgetting about the millions of small target libraries that aim to develop games in a few lines... perhaps you're forgetting that Java libraries can be written atop and condensed into one-line APIs... The same scale of condensation doesn't exist in C# through means of wrapping but only through it's syntactical sugars which aren't themselves that well.
What are you talking about? Of course you can write code on top of other libraries and make their calls easier to handle. The fact that you have syntactic features to take advantage of at the same time (such as operator overloads, reference parameters, and extension methods, to name a few) simply makes that task easier.
Java has pretty much everything right
With the exception of having absolutely no support for First-Class functions (Coming Sept 2013...)
I don't believe you've seen the essence of Java's performance. Java is as fast if not faster on modern JVMs (D/N 1.6+) than native code in nearly all benchmarks, even without using the server VM.
I was only able to get the Java implementation of my anagram search program to equal- not exceed- the speed of Delphi compiled code (1 second execution time) by using the server profile. Otherwise, it was at 1.6s, which was slower than Python.
Everything I tested so far has been slower than F#. which came at a super-speedy half-second.
Java is an absolute monster for servers, especially considering the past few years progress on Java enterprise. You would be a dummy to not use Java for servers...
I've never felt static typing really worked well for a web server environment. PHP, Python, and Ruby all make better choices IMO than Java, C#, or their kin.
1) C# works better with other languages than Java.
P/Invoke versus JNI here, really. Pretty much the same. Java just doesn't work well with other languages because it doesn't have enough types and modifiers, so you usually have to make your own custom wrapper library specifically for Java to JNI with.
2) C# is a functional language, while Java is an imperative language.
C# is not a functional language, but it gives you the option of functional constructs. linq and copious use of lambda's and such functional capabilities can contribute extensively to a flexible design. Java will have this in Sept 2013 (with a few limitations) and you can sorta do something similar by faking delegates using an interface and anonymous classes, but really Java's API lends itself more towards an Observer pattern, simply by virtue of having limited constructs to work with (This lends itself to simplicity, since you can't have things like operator overloads, partial classes, implicit or explicit casting (really operator overloads),extension methods, Enumerator methods, dynamic typing (which is also available in the language), and, starting with C# 5.0, built-in language support for asynchronous methods. All of this works together to form a language and environment with very powerful capabilities. I was actually dissappointed that there seemed to be no built-in way to sort an Array in Java (please correct me if I'm wrong) when the same functionality is a one-liner in Ruby, C#, F#, VB.NET, Perl, and Python.
3) C# has the .NET framework.
So are you saying that the .NET BCL is better than the Java Class Library?
which is how I imagine 90+% of the gaming industry works
You imagine wrong. Very wrong, in fact. Most modern games use a number of different languages for a variety of parts of the game. This is particularly the case since a lot of more recent games have a "Scripting language" within which much of their content is written.
Secondly, people who prefer to code in a functional style don't care about imperative languages, and people who code in imperative style don't care about functional languages. For people who like both, I imagine they can stitch together whatever two languages they want with something like Perl.
Or, they could use Python, Perl, C#, or F#, which all support both a imperative or a functional programming style. Being able to pass Functions around as arguments makes implementing algorithms with inherent plugability easier. Sure, you can get a similar effect using an interface with a single method and an anonymous class in Java, but you can also get a similar effect by using an Interface and a special implementation in VB6; point being that it's more work that way so it's more common that a programmer won't bother, because a lot of the functions that can benefit from such a design aren't complex or "big" enough to really require it. It's also very useful to accept a single Action<> generic delegate for a quick callback or two from the function. Shame you cannot create anonymous iterator methods, but most Java Programmers aren't familiar with the style so a lot of then don't really know what they are missing.
Finally, the .NET framework costs C# cross-platform compatibility.
C# runs on Windows, Linux, OSX and BSD. The only thing is that you have to be considering the possibility as you develop in much the same way as you do with Java (using Environment.DirectorySeparatorChar, for example). And you cannot use a few of the newer libraries (like WPF). Aside from that, I've gotten rather large (28K LOC) C# projects working on Linux via Mono, even with P/Invoke (BASS.NET, specifically). The only thing I had to change was a static constructor because Mono seems to work with those oddly.
Now, here's a question I'd like to ask: which language has the Block class in a core library? Until you can answer that question, then how can you argue one way or another that one particular language is genuinely better than some other language for a game?
Because a more powerful language is going to provide you better design tools. Multi-cast Delegates are featured prominently in my own Block class and help support a Event-Trigger framework that allows more complicated actions such as a set of blocks being destroyed in various situations (such as an enemy dying or another block being destroyed). That isn't to say that a java implementation would be either difficult or Messy to an experienced Java programmer, just that because the Java Programmer 'thinks in Java' they are less likely to realize what they are missing from more powerful languages.
When you make a game, you're going to have to construct pretty much all of the objects and methods that game is going to use, with the exception of convenient packages you can find and download off the internet for just about any language.
See above. Personally, when building a set of classes for a certain purpose, I believe I'd prefer to have access to Multicast delegates, first-class functions, operator overloading (and implicit and explicit casting operators), extension and enumerator methods, reference parameters, etc, rather than having to either mimic these features through bloated syntax (anonymous inner classes are NOT a substitute for lambda's), or workaround them by implementing certain interfaces and adding extraneous classes (Observer pattern as implemented in Java).
The thing is, Programming languages vary in power, and C# is a more powerful language than Java. There is no disputing that- only those that know Java and feel some sort of personal attachment to the language as part of their identity would even try to argue against it.
Seeing as most people here are complaining that it would be hard to make a game, I want to talk about THIS game.
And I must tell you, if it existed, I would definitely play it; even if it sounds a little like a mix of Terraria and 0x10c. You have a detailed plot laid out as well as extremely specific gameplay mechanics. However you do seem a little too ambitious (number of planets etc).
Thanks alot! It is very ambitious, and i lowered the planet count, and that helps alot. I'm also planning on removing character dismemberment, (too much of a headache) and a simple code can be used for stealth. Since this isn't the final version, it will have different/added/removed features, but i'm going to make it stay as true to type as possible.
What you're talking about is a lot of personal preference, here, not only about what features you want from a programming language, but where those features should be. In my opinion, it's substantially better for the core of the language to be small and for many of the features you're talking about to be implemented in libraries. In that way, I can understand the core functionalities of the language better and then know exactly which library to look to if I need to reference something more advanced or specific.
Also, regardless of whether or not C# is a more powerful language, the question wasn't which language is more powerful, it's which language is better, and when it comes to C# and Java there isn't one that's strictly better. You said yourself that a lot of the features C# adds also increases the complexity of programs that use them. If that's something that a given programmer doesn't want to deal with while coding, then C# is obviously not going to be their go-to language, and it really shouldn't be forced on them, either.
Now, since misconceptions are likely already happening about me being a Java programmer or something, as if that's a bad thing, I'm not. I don't like Java's implementation of multiple inheritance. It doesn't make sense to me at all, and I have a hard time justifying it's use even when using multiple inheritance is a strictly superior design for a given program.
I think this sounds like a fantastic idea, and I'd love to chip in, but I really don't have the time to participate full time, as it seem is the case with many other people too. May I propose hosting a project for this on Github, unless of course you have your mind set on selling this, but I don't see why you would considering you don't want any profits. That way lots of people can contribute various patches and features without having to commit (no pun intended ) to it full time.
If anybody is unfamiliar with what Github is, they provide hosting for projects using Git. Open source projects are free.
Git is a version control system; People can fork off from the main branch, make changes and then submit a pull request to have their branch merged with the main one, which can be accepted, or denied by specified users. It also provides roll-back type features, which allow you restore the code to a particular commit.
Hey, that's a great idea! Github is a good idea, I'll think about it.
Oi. Number one, I don't want "to make millions" I just want this to happen. If need be, I'll make this by myself. Which would *suck* but i could, after ten years or so. People have expressed interest in this concept, not just a small base saying "yea sugest this to0 dizney!!!" I already have a musician, a sound effects artist, and soon a sprite artist. I'm not sure why people say "this wont work" I can learn how to code the game if need be, but other than lack of code, I can do this. Heck, I even have an advertisement manager. Just because people are working for free doesn't mean it wont happen.
http://redwallminecraft.enjin.com
You obviously want the game world to be big, but big isn't practical. Generating one, huge Terarria world takes a long time for many computers that even meet the minimum requirements of that game. Generating 150 is plain out of the question. As such, you should instead try and have your galaxy randomly generated as you go. Start with one star system where the player begins, and generate the macro information about it like the characteristics of the natives, population, size, mineral composition, etc. etc. as much as you want short of actual block information. Also generate however many stars there are within a decent distance (certainly within the distance the player can travel in a timely manner, how far you go out from that is up to you). Only generate the macro information about other star systems as the player explores them. Only generate block information specific to planets once you land, and even then consider doing it as the player explores the planet instead of all at once on a loading screen.
Finally, consider making it a small Terraria world, at least. In all honesty, small Terraria worlds are totally adequate for single player, and even small multiplayer games. Huge worlds should be for more large-scale servers.
No idea, Sorry. I've never used any of those.
Of course you do. Everyone wants to make their ideas come to life, that's the point.... and that's exactly why no one else will help you make your game idea unless you can prove to others that you have the skills, motivation, and all the requirements for seeing the project through out to the end.
Welcome to my world....
I've had basically the same game idea in my head for over ten years... I took college courses in programming, got a degree in it, and after becoming a professional programmer, I've finally just really started real work on this idea a month or two ago (although the initial development started about a year ago, I didn't really get much done until recently).
And along the way, I got married and had a kid, which significantly decreases the amount of time I have to work on my game.
I love the enthusiasm, I really do. That kind of enthusiasm is how ideas becomes reality....
The problem is... you're not ready yet. You could get a hundred programmers, artists, and etc. on board with your idea... but you'll never make the game you want until YOU personally have some of the skills needed.
You know why? Because your programmers will lose motivation. They will have different ideas and leave you group to work on their own ideas. Your artists will do the same. They will never stay, and each one who leaves will discourage you even more.
This is because games take years and years to make. They obviously aren't made in a day, and a game like the one you've described would take, in my opinion, about 1-2 years of full-time work by professionals. And that's if your team saw the project through to the end.
1-2 years of full-time work by amateurs (who still have the required skills, by the way) and you'd possibly be able to pull off a mediocre game with maybe a tenth of the features you wanted, if even that.
I would very, very highly doubt that you'd get a really good programmer to do the game for you. Those kind of people are working on their own ideas, and making their own dreams come to life.
This isn't meant to discourage you at all... Keep your enthusiasm... It's important... But just realize that without having any skills of your own, you won't get your game created. Making a game is hard work. It's not about the money. It's about the skills and motivation. You need both.
I encourage you to keep the enthusiasm, and to seek out the skills you need to do this. Like others have said, it's a good idea... the problem is that good ideas simply just aren't enough these days.
He stated the planets would be like Terraria worlds... Terraria worlds ARE randomly generated. I don't see how your suggestion changes his concept any.
I played Terraria in single-player... I don't think the Small worlds are a very good size once you've gotten into the game.
Perhaps if there were 150 small Terraria worlds it would be ok... but if you want to build a "base" then you want the extra room....
But I would see no reason for not having random-ish planet sizes if he wanted to be randomly creating planets, or have a lot of planets, or whatever.
It's about WHEN the worlds are generated. Don't try and generate all 150 at game start.
I have no idea what you could possibly be building that would make it necessary to have a larger-than-small Terraria world, but random planet size should be do-able.
I have a full grasp of:
Art: For concepts and back grounds, not completely full spriting, but i already have someone for that. (if they quit, I can learn)
Music. The music is full and complete. I did it yesterday.
Story: Yeah, I have a complete story. I'm already working on the lore for sixty planets. I cut the number down from 150 to 60, as sixty is still great, but drastically less work.
Computer Science: Hmmm... I'm not sure what you mean by this. But i do believe i have an above average grasp of it.
Coding: I am currently learning Visual Basic, if i was learning something else like C++ than i wouldn't bother any of you guys.
I know what i need for the game. It's like this. An architect knows EXACTLY what he wants down to the last atom, but he can't work a digger, can he? No, the construction worker does that, because he's better suited. I truly think i can do this. If I don't have any help from the forum, I'll do it locally.
Ahaha! I understand it's a gamble for both me and them, but you know, not everyone is a skeptic. If it doesn't work, there's plenty of skilled people locally.
Yeah, I know. I changed it to 60 planets, which is good, i think.
Random planet size would be doable, but have you guys played cortex command? Creating a new world is REALLY easy. I'm pretty sure we could incorporate that kind of world setup into the game engine.
http://redwallminecraft.enjin.com
Why do people always center this around money?!! I would release this as freeware if i made this alone! the price is only incentive for the people who are helping me, as i get nothing. Yes, it wont be made in day. But i do have many of the skills needed. I could HELP with the coding, but not do it by myself. I do have the skills for it. If they leave, yeah whatever. I just pick it up again with a new one, and it may take a while, but in my free time i can work on it myself. People leaving is not really big deal. If they lose interest, i wish the best to them. I'm a little too laid back for that to bother me. I just had a musician drop out, and i had to do the music by myself, and that was no problem.
http://redwallminecraft.enjin.com
It's a one-pager concept document. Well, that's not true, it's a bit longer than that. A actual Game Design Doc would definitely as you say have a lot more to them.
one-pager concept document is more a sales pitch to publishers and developers and puts the ideas and vision of the game into a concise document. This seems to at least meet that criteria, IMO.
I don't really agree on this. I wouldn't recommend it, myself, but I don't see it as a bad choice. Java does have a good set of libraries to choose from for game creation, and they actually work better than their GUI toolkits. (Don't get me started... :P)
Agreed. A series I just finished but plan to continue with different languages was to write the same algorithm (find all the anagrams in a 260,000 word dictionary) in various languages. Out of Python,C#,Java,VB6,Scala,F#,Ruby,Delphi, and Perl, Java was slower than C# (0.6s),Delphi(1s), F#(0.5s), Scala(1.4s), and Python(1.2s) for speed overall execution time, and at the same time was the third longest source code.
Not to the extent of C, thankfully...
In addition to Mono, there is another CLR runtime, which is designed for BSD, called OT. I don't know how well it works, but it's there.
I think one of the biggest things going for C# is that it is a ECMA Standard. This has a lot of ramifications that make the language specification more open than a lot of other languages that don't really have a standard, such as Java (the Java language is managed by Oracle, and they use licensing restrictions to prevent knock-offs,(sort of like Turbo Pascal was to Pascal itself). This backfired though because Java unfortunately left a lot to be desired from a language perspective and Sun and Oracle was and still is slow in adding many features to the language.
Heck, 6 hours isn't even enough to hash out any sort of object heirarchy to the game (assuming it uses OO of some sort); Which is fine, because any OO heirarchy for a game of that scope you come up with in 6 hours is probably missing something.
I'm not sure I fully agree. It really depends on the game, too. In this case I do agree- a game of this scope and magnitude needs a lot of careful thought, not just jumping into some sort of implementation.
Being in a different field of programming is a lot closer and more likely to have valid insights to another than a person who just has a few photograph of that field. Sure, there are going to be differences, but they are still in the same farm.
Java is just as fast as medium-level languages like C++, and sometimes even faster. The JVM is world class, completely obliterating every other VM ever created. The JVM is the most crucial component in the existence of Java... I'd say it will be continued to be used even when Java is no longer used. Maybe then, we'll be using Java 2, Scala, or something of the like, but nevertheless the JVM is amazing.
C# is Java's top competitor, I'm aware, and has more syntactic sugars... but I don't believe their syntax is particularly just right. Now, that Java would be able to implement similar sugars, we can finally have a good syntax as provided by Java, with a strong backbone and a reliable VM that is naturally acceptable to the practical game developer. With Java 8's upcoming implemented modules (for dependency injection), I'm confident that it will maintain superior to its competitor for the next few years.
Please show me your Java implementation. For some reason I'm thinking that your results could be inverse, being that the time difference is where less is good. Your results do not match up with professional benchmarks, at all, and seem subsequently contradicting. Even if inversion wasn't the case, you can't measure overall performance with one implementation.
Just a developer :-)
You really sound like someone who had his dreams crushed by a fat man in tights. Yeah, it's gonna be tough, but i'll enjoy doing it. And i'd rather have a prototype with everything that will be used in the game, instead of placeholders.
Thanks alot!
http://redwallminecraft.enjin.com
That is one of the issues, but i'm thinking more like trying to play Beethoven's fifth symphony, but only in parts, then when one part is fully perfected, moving on to the next. So it's like devoloping many small games, but chunking it into a larger on
That is one of the issues, but i'm thinking more like trying to play Beethoven's fifth symphony, but only in parts, then when one part is fully perfected, moving on to the next. So it's like devoloping many small games, but chunking it into a larger on
http://redwallminecraft.enjin.com
Yeah, that's definitely what i'm thinking. Get the physics and movement down, then work on guns and weaps, and so on. EDIT: It seems like you know alot about this. If i'm not interested in digging and building, will it still help me to practice those?
http://redwallminecraft.enjin.com
Yeah, That's a good idea. Maybe a tiny playable demo just to prove i'm not stealing from people. XD
Yeah, That is true. Opinions and tastes DO change.
Says someone who has nothing to contribute to this thread. XD And not even supplying a reason.
Ah. Thanks alot for the great advice! I look forwards to starting this!
http://redwallminecraft.enjin.com
Haha! Thanks for the compliment. This game will probably one of those games that takes FOREVER to come out, but when it does, it's awesome. :3
http://redwallminecraft.enjin.com
The primary difference between Java and some of the others is that I had to write my own word-sorting algorithm for Java, and I used Bubble-Sort. I was still able to get performance closer to the others using the server profile.
Java Implementation:
The bubble-sort difference could be argued as making a big difference. It probably makes some difference, but I'd say it's really not that much faster than Quick Sort for this implementation, simply because words don't usually exceed more than a few letters. Scala still runs faster if I use the JVM server profile too. (Java still runs 1second and C# and F# run 0.6 and 0.5 seconds respectively (The F# results surprised me). As I've said before and I believe I state in the conclusion, these speed comparisons aren't really about speed for me, but rather about speed versus code amount.
I'm hoping to add a reasonable C++ implementation to my results.
Seems you're forgetting them too, since you didn't mention a single one.
What are you talking about? Of course you can write code on top of other libraries and make their calls easier to handle. The fact that you have syntactic features to take advantage of at the same time (such as operator overloads, reference parameters, and extension methods, to name a few) simply makes that task easier.
With the exception of having absolutely no support for First-Class functions (Coming Sept 2013...)
I was only able to get the Java implementation of my anagram search program to equal- not exceed- the speed of Delphi compiled code (1 second execution time) by using the server profile. Otherwise, it was at 1.6s, which was slower than Python.
Everything I tested so far has been slower than F#. which came at a super-speedy half-second.
I've never felt static typing really worked well for a web server environment. PHP, Python, and Ruby all make better choices IMO than Java, C#, or their kin.
P/Invoke versus JNI here, really. Pretty much the same. Java just doesn't work well with other languages because it doesn't have enough types and modifiers, so you usually have to make your own custom wrapper library specifically for Java to JNI with.
C# is not a functional language, but it gives you the option of functional constructs. linq and copious use of lambda's and such functional capabilities can contribute extensively to a flexible design. Java will have this in Sept 2013 (with a few limitations) and you can sorta do something similar by faking delegates using an interface and anonymous classes, but really Java's API lends itself more towards an Observer pattern, simply by virtue of having limited constructs to work with (This lends itself to simplicity, since you can't have things like operator overloads, partial classes, implicit or explicit casting (really operator overloads),extension methods, Enumerator methods, dynamic typing (which is also available in the language), and, starting with C# 5.0, built-in language support for asynchronous methods. All of this works together to form a language and environment with very powerful capabilities. I was actually dissappointed that there seemed to be no built-in way to sort an Array in Java (please correct me if I'm wrong) when the same functionality is a one-liner in Ruby, C#, F#, VB.NET, Perl, and Python.
So are you saying that the .NET BCL is better than the Java Class Library?
You imagine wrong. Very wrong, in fact. Most modern games use a number of different languages for a variety of parts of the game. This is particularly the case since a lot of more recent games have a "Scripting language" within which much of their content is written.
Or, they could use Python, Perl, C#, or F#, which all support both a imperative or a functional programming style. Being able to pass Functions around as arguments makes implementing algorithms with inherent plugability easier. Sure, you can get a similar effect using an interface with a single method and an anonymous class in Java, but you can also get a similar effect by using an Interface and a special implementation in VB6; point being that it's more work that way so it's more common that a programmer won't bother, because a lot of the functions that can benefit from such a design aren't complex or "big" enough to really require it. It's also very useful to accept a single Action<> generic delegate for a quick callback or two from the function. Shame you cannot create anonymous iterator methods, but most Java Programmers aren't familiar with the style so a lot of then don't really know what they are missing.
C# runs on Windows, Linux, OSX and BSD. The only thing is that you have to be considering the possibility as you develop in much the same way as you do with Java (using Environment.DirectorySeparatorChar, for example). And you cannot use a few of the newer libraries (like WPF). Aside from that, I've gotten rather large (28K LOC) C# projects working on Linux via Mono, even with P/Invoke (BASS.NET, specifically). The only thing I had to change was a static constructor because Mono seems to work with those oddly.
Because a more powerful language is going to provide you better design tools. Multi-cast Delegates are featured prominently in my own Block class and help support a Event-Trigger framework that allows more complicated actions such as a set of blocks being destroyed in various situations (such as an enemy dying or another block being destroyed). That isn't to say that a java implementation would be either difficult or Messy to an experienced Java programmer, just that because the Java Programmer 'thinks in Java' they are less likely to realize what they are missing from more powerful languages.
See above. Personally, when building a set of classes for a certain purpose, I believe I'd prefer to have access to Multicast delegates, first-class functions, operator overloading (and implicit and explicit casting operators), extension and enumerator methods, reference parameters, etc, rather than having to either mimic these features through bloated syntax (anonymous inner classes are NOT a substitute for lambda's), or workaround them by implementing certain interfaces and adding extraneous classes (Observer pattern as implemented in Java).
The thing is, Programming languages vary in power, and C# is a more powerful language than Java. There is no disputing that- only those that know Java and feel some sort of personal attachment to the language as part of their identity would even try to argue against it.
Thanks alot! It is very ambitious, and i lowered the planet count, and that helps alot. I'm also planning on removing character dismemberment, (too much of a headache) and a simple code can be used for stealth. Since this isn't the final version, it will have different/added/removed features, but i'm going to make it stay as true to type as possible.
http://redwallminecraft.enjin.com
Also, regardless of whether or not C# is a more powerful language, the question wasn't which language is more powerful, it's which language is better, and when it comes to C# and Java there isn't one that's strictly better. You said yourself that a lot of the features C# adds also increases the complexity of programs that use them. If that's something that a given programmer doesn't want to deal with while coding, then C# is obviously not going to be their go-to language, and it really shouldn't be forced on them, either.
Now, since misconceptions are likely already happening about me being a Java programmer or something, as if that's a bad thing, I'm not. I don't like Java's implementation of multiple inheritance. It doesn't make sense to me at all, and I have a hard time justifying it's use even when using multiple inheritance is a strictly superior design for a given program.
http://redwallminecraft.enjin.com
Hey, that's a great idea! Github is a good idea, I'll think about it.
http://redwallminecraft.enjin.com