|
![]() |
![]() |
#1 | |
Blue Psychic, Programmer
Join Date: Feb 2007
Location: Home!
Posts: 8,814
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Okay, so since my community game project has been stalled for a while, I've focused my efforts more on the main project it was supposed to help me with. Neither is anywhere near done with the resources (my main project has no sound whatsoever written for it yet), but I have learned a bit more about graphics handling and I figure sound can come later after I get a prototype working.
The question I'm tossing around is whether to use Visual C# or Java (in Eclipse) to do the thing in. For reference, the features include: - heavy use of drawing transparencies over solid colors using PNG format and alpha - a need to be able to take it online - a hope to make it lightweight - server integration for the online portion (which I'll need to better learn to handle in terms of figuring out how to handle more than one player, but this is all about learning in the first place) - a need to keep resources secure Now, having it be cross-platform would be a bonus, and Java certainly is, but my main concern is getting it working as well as possible. If I have to, I can probably whip up stuff in PHP for the online portion, but I'd rather not have to remake the wheel. Keep in mind that this is going to be in 2D, and I've been looking into GDI+ for it in my C# plans, but have yet to do any real graphical research in Java past what I was taught about basic drawing. Hopefully, Java supports the same stuff, or at least the same functions (mostly the ability to turn things multiples of 90 degrees easily). I'm pretty sure it does, but I need to check back into my books to be sure and to figure out how. The reason I'm asking this now is because I finally have pretty much all the math worked out and am going to be building a basic prototype to start testing the battle system. To say the least, I'm quite excited about finally being able to implement any part of this thing, but I want to be sure it's going to work right in whichever language it ends up in. Hence the need for advice on the language. Now, I'm not saying there aren't other options for this kind of thing, like Flash or anything, but I don't know them yet and would have to learn. If I can build this thing in something I already know, it would be much better for me. At any rate, when making recommendations, please provide support and information for them. It doesn't do me any good for a person to just up and shout a language without explaining why, as this is all about me having to balance the pros and cons for the project. I know a game can be made in any language, but I need the best fit, which involves honest advice and info.
__________________
Quote:
Journal | Twitter | FF Wiki (Talk) | Projects | Site |
|
![]() |
![]() |
#2 |
A Threat to the District
|
![]()
As far as making games go, SDL is pretty good at it. There are bindings to it for pretty much any language imaginable and it provides support for most things you would want to do (graphics, audio, input, threading). I know that it's not a language, but IMO the library is probably more important than the language. Another benefit of SDL is that you can use OpenGL is you want to; if you wanted to have tiles rendered in perspective for example.
As far as libraries that come bundled with languages, Java2d is from what I know, very good at it. The regular graphics API for Java is rather primitive, but Java2d gets rid of most of those problems. The biggest problem that you will run into with Java is probably going to be audio playback. The last time I checked, Java's audio API's were not the best when it comes to high level access (playing and pausing a given sound file). I know next to nothing about C#, or .Net, or really anything relating to it, so I can't really comment there. Another suggestion is maybe looking into other languages besides just Java and C#. Something higher level may be better especially if you're prototyping things. I'd imagine that working quickly is probably more important than speed at that stage. And for that Python is really great, and the Pygame library is rather nice as well. Python is extremely good at getting things done in a short amount of time and has tons of extra libraries you could need baked right in. Something else to consider if you want to use Java's API's is Jython, which is an implementation of Python running on the Java VM, and can use all of Java's libraries like Swing and Java2d. Another scripting language you may want to check out is Ruby, lately it's been becoming one of my favorite languages because of lots of neat meta stuff you can do with it (also Rails). A game library for it is Gosu, which is unbelievably simple and would be great at getting things up and running very very quickly. It may of course be a bit too simple for what you have in mind though. For all of these languages there are bindings to SDL, so any of them will work for game development, it's just a matter of picking which one you like the best. Another language that I'd like to point out (though I'm sure it'd be terrible for game programming, but might be fun for lulz) is Haskell. I'd say that Haskell is up there with Lisp as far as changing the way you think and making you a better programmer all around.
__________________
Twitter! |
![]() |
![]() |
#3 |
Super stressed!
Join Date: Feb 2007
Location: British Columbia
Posts: 8,081
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
I thought you were asking "What spoken language should I have for my game?" and I was gonna be all like "Why not have a few characters all speak different languages?"
It would be perfect - one guy could be the funny foreign guy, one could be the German doctor, the other a Spanish ladies man - it'd be great. But now that I see what this question is not about, I'll just say why don't you get drunk and write miles of spaghetti code? Hell, it worked for Ragnarok Online! |
![]() |
![]() |
#4 | |
Blue Psychic, Programmer
Join Date: Feb 2007
Location: Home!
Posts: 8,814
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
See, Vault, my issue is that while summer is on right now, it's not going to stay that way forever and I have my final semester to worry about before going for my Bachelor's. It would have been great for them to have taught me any of that stuff, but they simply didn't, and between my internship and other courses this coming year, I'm not going to have much time to learn.
In fact, I'd really rather NOT learn any languages on my own if I can help it, because I wouldn't get a damn thing for doing so. You can't put that you taught yourself stuff on a transcript when applying for jobs. That would be like a guy going for a doctor's position and saying he watched a lot of House and should qualify. Okay, not that bad, but my training has honestly been very business-oriented and the idea that I could apply to get a game-making certificate is an absolute joke. They never even covered a basic game loop in the entirety of the program. Really, the point of this is that I'm trying to darn well EARN the right for that cert by actually taking all that I know and applying it TO a game. At this point, the result is nowhere near as important as the actual work and learning how to write stuff on my own, so the absolute last thing I need is a library to do it for me. That's why I was asking for help with which language would be the better to do it, because if I wanted to just develop an indie game, there are much easier ways of doing it than from the ground up. I want to be able to point to my cert and say I actually have a possible example for them, made entirely on my own, rather than saying, "well, I develop indie games," and then having to admit that they didn't teach me a damn thing about game making and I had to fall back on stuff from other people to do it all.
__________________
Quote:
Journal | Twitter | FF Wiki (Talk) | Projects | Site |
|
![]() |
![]() |
#5 |
The Straightest Shota
Join Date: Nov 2003
Location: It's a secret to everybody.
Posts: 17,789
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Real programmers use a magnetized needle and a steady hand.
__________________
|
![]() |
![]() |
#6 | |
Blue Psychic, Programmer
Join Date: Feb 2007
Location: Home!
Posts: 8,814
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
See, this says a lot about my program, then. Can you really blame me for trying to do things the manliest way I'm prepared for? XD
Edit: Okay, so I have it from a good source that Java is a good way to go on this, since that's what Runescape uses. Now the question is how to implement multiplayer support, and I have no idea how to do this. Does anyone have any good resources for making a multi-user Java Applet? I know how to make an Applet, but I have no clue how to make one that allows multiple users. ![]()
__________________
Quote:
Journal | Twitter | FF Wiki (Talk) | Projects | Site |
|
![]() |
![]() |
#7 |
Fetched the Candy Cane!
|
![]()
Only ones i've seen are how to create a multi-user java chat, not sure if that'd help at all though. There is this that i used when I needed to make one for school
http://docs.rinet.ru/JSol/ not sure it will help at all, truthfully I cant remember 100% if it helped me but I had it saved so it must have
__________________
Knowledge is Power, Power is Knowledge ╔╦╦══╦══╦═╦══╦══╦╗╔╦╦╦╦══╦╗╔═╗ ║═╣╠═║╔╗║╔╣╔╗╠╗╔╣╚╝║║║║╔╗║║║═╣ ║║║╔╗╣╚╝║║║╚╝║║║║╔╗║║║║╚╝║╚╣╔╝ ╚╩╩╝╚╩══╩═╩══╝╚╝╚╝╚╩══╩══╩═╩╝ |
![]() |
![]() |
#8 | |
Blue Psychic, Programmer
Join Date: Feb 2007
Location: Home!
Posts: 8,814
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Bumping this back up because of new information.
To update, I decided on Java because of simplicity and began work making sure it could handle all of my graphics and such, only to find out it doesn't support unsigned integers. Considering that my stats and much of the rest of my math was in unsigned bytes for low overhead, this puts a cramp on things a bit. So I'm back to the drawing board, with a couple of options. Either I bump them all up to signed short integers, which have double the memory and bone my hopes for having a strict maximum on player statistics, I just go with signed bytes and either halve all my math or add 128 to everything and put it in a short int for actual usage, or I find another option, since I don't particularly like Java's limitations with other things besides. One other suggestion I came across while scouring for answers was the possibility of combining ASP, PHP, MySQL, and/or JavaScript into one program and working with things that way. Really, this sounds somewhat appealing, because
Logically, this allows me two different options for how to implement this thing, with C# being at my disposal should I choose ASP, granting me the power of Visual Studio, or giving me PHP if I want to take it cross-platform, since I understand there's a way to take PHP offline for applications if need be, and frankly, I'd be roughly equally comfortable with either. So my question is this: is it remotely possible to do a multiplayer app in ASP.NET or PHP? Would it actually be wise to combine them, since ASP is client-side scripting and PHP is server-side, and each has its own features (for example, ASP's security)? Would it be possible to use JavaScript to pull in information from either one or both to at least update graphics in real time, if not to handle things like HP updates? Would any combination of these things allow me to easily formulate my single player offline option?
__________________
Quote:
Journal | Twitter | FF Wiki (Talk) | Projects | Site |
|
![]() |
|
|