inherit
97216
0
Nov 26, 2024 13:53:14 GMT -8
Bennett 🚀
Formerly iPokemon.
3,622
January 2007
catattack
iPokemon's Mini-Profile
|
Post by Bennett 🚀 on Aug 14, 2012 12:42:00 GMT -8
I've been thinking of making a game using some non-web development language (since I'm primarily a web developer, and haven't touched any other languages other than basics of java, python, and ruby)
I would assume this is the way to go when it comes to cross-platform gaming since java is used across the spectrum, but I have no idea where I need to start with this.
The game is a farming simulation, much like the game Harvest Moon by Natsume if you know who that is. It incorporates a plot line with NPCs, crops, weather, tools, time, fishing, mining, walking, talking, etc. I've been looking around and nothing seems to be helping in pointing me in the right direction. None of my online buddies have any experience in Java so I'm kinda hopeless in that department.
So yeah. It'll be 2D, no 3D craziness going on. If you're serious into helping me and don't quite understand what I mean, youtube a few Harvest Moon:DS videos, it's kind of like that.
Thanks to any help.
Oh, and I have some things drawn out that I want it to be able to do, so if you think that would be helpful to see, I'll upload the pics.
|
|
#00AF33
Bark Different.
102833
0
1
Feb 12, 2023 16:57:46 GMT -8
RedBassett
I'm a Marxist/Lennonist of the Groucho/John variety.
15,405
April 2007
applecomputer
RedBassett's Mini-Profile
|
Post by RedBassett on Aug 14, 2012 18:40:52 GMT -8
I took a class on gaming in Python. I personally don't like Python very much, but it is a good language to start with for non-web languages. Easy to start doing graphics, etc.
|
|
inherit
97216
0
Nov 26, 2024 13:53:14 GMT -8
Bennett 🚀
Formerly iPokemon.
3,622
January 2007
catattack
iPokemon's Mini-Profile
|
Post by Bennett 🚀 on Aug 14, 2012 21:31:08 GMT -8
I'll look into it, thanks. Python is like PHP or Java by the way they can be used across platform, correct? Just needs Python to be installed on the computer.
Or could be ported to the web through CGI couldn't it?
|
|
#00AF33
Bark Different.
102833
0
1
Feb 12, 2023 16:57:46 GMT -8
RedBassett
I'm a Marxist/Lennonist of the Groucho/John variety.
15,405
April 2007
applecomputer
RedBassett's Mini-Profile
|
Post by RedBassett on Aug 15, 2012 14:06:52 GMT -8
Yes, it works on most platforms. You can create webscripts with Python, but it isn't designed around them.
|
|
inherit
97216
0
Nov 26, 2024 13:53:14 GMT -8
Bennett 🚀
Formerly iPokemon.
3,622
January 2007
catattack
iPokemon's Mini-Profile
|
Post by Bennett 🚀 on Aug 15, 2012 14:32:56 GMT -8
Yes, it works on most platforms. You can create webscripts with Python, but it isn't designed around them. Thing is, people don't usually have python installed on their system. Java is almost always installed on a user's computer which is what I'm going for, no extra baggage to have to install just for this to work. So I think i'll stick with java. I fuddled around with Python for awhile today, reminds me of javascript and PHP squished together.
|
|
#00AF33
Bark Different.
102833
0
1
Feb 12, 2023 16:57:46 GMT -8
RedBassett
I'm a Marxist/Lennonist of the Groucho/John variety.
15,405
April 2007
applecomputer
RedBassett's Mini-Profile
|
Post by RedBassett on Aug 15, 2012 15:01:30 GMT -8
Yes, Python is a common install on only some machines (only really used it one macs, where it is a default install), however if you do want to use it in the future, there are systems to make it a stand-alone application.
|
|
inherit
24252
0
Aug 1, 2023 15:01:24 GMT -8
coolcoolcool
When the world says, "Give up," Hope whispers, "Try it one more time."
2,148
May 2004
coolcoolcool
|
Post by coolcoolcool on Aug 16, 2012 3:51:15 GMT -8
I think the reason most people levitate towards C or C++ for game design is that it gives much more control over low level utilities that java just doesn't give access too. Large gaming projects require you to take control over things like memory and C gives you the ability to do that. Java is much slower.
Also, I think most libraries and development tools are designed to be used with C. The only problem you'll really run into developing with it is getting your game to work on Mac, but lets face it there's a reason why there's not many games that work for it. I think if you really want to develop a game for mac, then you could look into Objective C or whatever else is compatible with apple and try to find a way to develop two versions of the game.
If you want to develop a game that works for most major systems, I think C is the way to go. That's what most people go with.
|
|
inherit
97216
0
Nov 26, 2024 13:53:14 GMT -8
Bennett 🚀
Formerly iPokemon.
3,622
January 2007
catattack
iPokemon's Mini-Profile
|
Post by Bennett 🚀 on Aug 17, 2012 18:26:23 GMT -8
C is like PHP because PHP uses C to process! So that might be the way to go as well. Thanks coolcoolcool.
|
|
#00AF33
14306
0
1
Sept 8, 2023 8:54:17 GMT -8
Jordan
What is truth?
11,838
October 2003
jab2
|
Post by Jordan on Aug 21, 2012 20:52:46 GMT -8
If you are going to be doing a 2D game Java will be fine, and I would actually recommend it over C++ since it will be easier for you. Writing a game is no easy task, and I would recommend you research about 2D engines because before you can even start on your game, you need a game engine. I'm actually on a team developing a game right and porting it to Steam, and I can tell you from experience that games are no joke. If you are wanting to be a game developer when you get older, then I would recommend C++, but it is harder and requires you to write more code yourself. Java will be fast enough for a 2D game if you program well; C++ is necessary for more complex 3D games such as Battlefield 3 which have a lot of serious rendering code as well as a lot of networking code that needs to be fast, but a simple 2D or even 3D game could be done in Java. Those games have advanced C++ that you probably wouldn't even be able to write even if you knew C++ well. All the lower level operations that coolcoolcool is referring to is stuff you won't need to worry about with what you are doing.
If you have never even used C++ significantly, you're going to be spending all your time learning C++ rather than working on your game. The same will be true for Java, but Java will be less painful since the language is easier to write and has a huge library of built in code to make tasks easier that you would normally have to import or write yourself in C++. You need to have all of your time spent on the game if you want to finish, and if you are writing your own game engine, just getting a ball moving around on the screen with some basic physics can be a challenge if you've never written one before. And even if you have, you still got a long way to go, especially with what you are wanting to do. You just have to realize that a game engine is a project itself, and you would need to get it finished before you started on your game which is another project.
You're going to need to write the data structures necessary for collision detection such as a quadtree, then you need to write the algorithms that utilize those data strutcures so you can perform raycasts and such for collision detection. You got to do the physics for each type of object in the game, you got to render everything and a lot more while making sure it's all bug free, doesn't leak, and performs quickly enough. This is why I recommend you get a 2D engine to work with so you can focus on your game unless this is stuff you really want to learn.
If you ever have any questions about game development, programming, or a general computer science question, feel free to ask me. Learning a programming language can be very useful, and Java is a widely used language which is why I would recommend it. It's a popular web language in the industry in fact due to the JVM, and since you are a web developer it could come in handy for you someday.
|
|
inherit
97216
0
Nov 26, 2024 13:53:14 GMT -8
Bennett 🚀
Formerly iPokemon.
3,622
January 2007
catattack
iPokemon's Mini-Profile
|
Post by Bennett 🚀 on Aug 22, 2012 15:09:11 GMT -8
If you are going to be doing a 2D game Java will be fine, and I would actually recommend it over C++ since it will be easier for you. Writing a game is no easy task, and I would recommend you research about 2D engines because before you can even start on your game, you need a game engine. I'm actually on a team developing a game right and porting it to Steam, and I can tell you from experience that games are no joke. If you are wanting to be a game developer when you get older, then I would recommend C++, but it is harder and requires you to write more code yourself. Java will be fast enough for a 2D game if you program well; C++ is necessary for more complex 3D games such as Battlefield 3 which have a lot of serious rendering code as well as a lot of networking code that needs to be fast, but a simple 2D or even 3D game could be done in Java. Those games have advanced C++ that you probably wouldn't even be able to write even if you knew C++ well. All the lower level operations that coolcoolcool is referring to is stuff you won't need to worry about with what you are doing. If you have never even used C++ significantly, you're going to be spending all your time learning C++ rather than working on your game. The same will be true for Java, but Java will be less painful since the language is easier to write and has a huge library of built in code to make tasks easier that you would normally have to import or write yourself in C++. You need to have all of your time spent on the game if you want to finish, and if you are writing your own game engine, just getting a ball moving around on the screen with some basic physics can be a challenge if you've never written one before. And even if you have, you still got a long way to go, especially with what you are wanting to do. You just have to realize that a game engine is a project itself, and you would need to get it finished before you started on your game which is another project. You're going to need to write the data structures necessary for collision detection such as a quadtree, then you need to write the algorithms that utilize those data strutcures so you can perform raycasts and such for collision detection. You got to do the physics for each type of object in the game, you got to render everything and a lot more while making sure it's all bug free, doesn't leak, and performs quickly enough. This is why I recommend you get a 2D engine to work with so you can focus on your game unless this is stuff you really want to learn. If you ever have any questions about game development, programming, or a general computer science question, feel free to ask me. Learning a programming language can be very useful, and Java is a widely used language which is why I would recommend it. It's a popular web language in the industry in fact due to the JVM, and since you are a web developer it could come in handy for you someday. I'm not quite sure that's what I'll be doing later on in life, but it will be programming background for sure. Might go into information sciences or desktop programming, not quite sure about game development because that would require more than my brain can even handle. I don't particularly like math that much that I would be smart enough to figure algorithms out. None-the-less, even if I were to write some sort of game engine in a language I would say I'm well-versed in like PHP, it would still take forever and a day just to make an efficient engine, not including any of the miscellaneous outliers that would have to be incorporated somehow as well.. But I will ask you, for sure. I honestly would love to learn Java or C++, but I feel soooo out of that type of league. Some of the syntacies (syntaxes?) of Java and PHP have some correspondence, and C is used to process PHP, which is a lesser language than C++ (thus the increment operator lol) If I could no longer say I'm a web-freak, that would be super cool. But school just started last week, so I'll be more stretched on time trying to learn snippets here and there. And I feel if I learn Java, it'll look like crap and will be snippets all put together from different tutorials and such, nothing from scratch from the beginning (which is understandable I suppose), but I'm so used to writing scratch code for any of the other languages I'm more familiar with. Thanks for the insight Jordan, you definitely know what you're talking about since you're actually doing it currently.
|
|
#00AF33
14306
0
1
Sept 8, 2023 8:54:17 GMT -8
Jordan
What is truth?
11,838
October 2003
jab2
|
Post by Jordan on Aug 22, 2012 18:15:59 GMT -8
I'm not quite sure that's what I'll be doing later on in life, but it will be programming background for sure. Might go into information sciences or desktop programming, not quite sure about game development because that would require more than my brain can even handle. I don't particularly like math that much that I would be smart enough to figure algorithms out. None-the-less, even if I were to write some sort of game engine in a language I would say I'm well-versed in like PHP, it would still take forever and a day just to make an efficient engine, not including any of the miscellaneous outliers that would have to be incorporated somehow as well.. But I will ask you, for sure. I honestly would love to learn Java or C++, but I feel soooo out of that type of league. Some of the syntacies (syntaxes?) of Java and PHP have some correspondence, and C is used to process PHP, which is a lesser language than C++ (thus the increment operator lol) If I could no longer say I'm a web-freak, that would be super cool. But school just started last week, so I'll be more stretched on time trying to learn snippets here and there. And I feel if I learn Java, it'll look like crap and will be snippets all put together from different tutorials and such, nothing from scratch from the beginning (which is understandable I suppose), but I'm so used to writing scratch code for any of the other languages I'm more familiar with. Thanks for the insight Jordan, you definitely know what you're talking about since you're actually doing it currently. Whenever you are learning a new language your code is going to look bad almost no matter what. That's just part of the process. I really would recommend you fool around with Java in your spare time, but choose a slightly easier project to get started. For example, write a program that can post tweets to your Twitter account using the Twitter API (or extract posts from Twitter to analyze). I will say that you could probably get a working 2D engine in a fair amount of time, but it wouldn't be all that good (don't mean this in a bad way, it just takes time to get a engine working well and efficiently). However, since computers are so fast these days you could get away with a lot such as not even having a quadtree data structure and just comparing each object to every other object for collision detection. I did this a while back when I was screwing around with the canvas element (code is terrible), although I did make some simple optimizations. But yeah, learning a programming language is a very good thing to know. The main difference from the languages you are used to is that they are statically typed, and get compiled to optimized machine code or some form of byte code whereas scripting languages are interpreted at runtime by a running program (although Javascript in Google chrome gets converted into x86 assembly by the open source v8 Javascript engine which is amazing and partly why chrome is so damn fast).
|
|
inherit
24252
0
Aug 1, 2023 15:01:24 GMT -8
coolcoolcool
When the world says, "Give up," Hope whispers, "Try it one more time."
2,148
May 2004
coolcoolcool
|
Post by coolcoolcool on Aug 22, 2012 18:57:11 GMT -8
If your goal is to learn a programming language, then writing a game might not be the first step.
I'm no expert in game development (obviously), but I do know a little bit about programming. Jordan is obviously a step above. No idea how he knows that javascript gets converted into assembly before interpretation in chrome, but I guess that kind of thing just comes with being in the industry. Not sure where I'm going with this, but if you want to learn either Java or C++ I would be more than willing to help. I know the basics of C++ and have done a fair bit of Java in school and in the odd bit of blackberry app development (no expert there either though).
The problem with programming is that the learning process relies on building upon knowledge you have already learnt. You can't just jump in and write an optimized game engine your first day writing C. What you can do is start playing around with a language, get it to compile/run, play around a little more, do a bit of studying, then rinse and repeat and eventually you WILL get to where you want to be.
Are you learning computer science in school? If so, you'll learn invaluable things there such as low level programming, different data structures and their uses, etc., etc. that will help you on your way, but if you really want to go anywhere you will have to dedicate time and motivated energy into what you're doing. Otherwise you'll just be another amateur, which sadly, I have become.
|
|
inherit
97216
0
Nov 26, 2024 13:53:14 GMT -8
Bennett 🚀
Formerly iPokemon.
3,622
January 2007
catattack
iPokemon's Mini-Profile
|
Post by Bennett 🚀 on Aug 23, 2012 17:23:01 GMT -8
If your goal is to learn a programming language, then writing a game might not be the first step. I'm no expert in game development (obviously), but I do know a little bit about programming. Jordan is obviously a step above. No idea how he knows that javascript gets converted into assembly before interpretation in chrome, but I guess that kind of thing just comes with being in the industry. Not sure where I'm going with this, but if you want to learn either Java or C++ I would be more than willing to help. I know the basics of C++ and have done a fair bit of Java in school and in the odd bit of blackberry app development (no expert there either though). The problem with programming is that the learning process relies on building upon knowledge you have already learnt. You can't just jump in and write an optimized game engine your first day writing C. What you can do is start playing around with a language, get it to compile/run, play around a little more, do a bit of studying, then rinse and repeat and eventually you WILL get to where you want to be. Are you learning computer science in school? If so, you'll learn invaluable things there such as low level programming, different data structures and their uses, etc., etc. that will help you on your way, but if you really want to go anywhere you will have to dedicate time and motivated energy into what you're doing. Otherwise you'll just be another amateur, which sadly, I have become. I do not learn anything computer-related in school. Everything I know now (HTML, CSS, Javascript (jQuery), PHP, and SQL) was self taught. And I obviously realize that a game engine would be a stretch for a first project, but thing is, I'm a web-dev. I think of things to make on the web, not on a computer, and as such, I have a lack of ideas that I could even try to learn C / C++ with. Well, if you're ever willing to show a few tut sites you could recommend, or some tricks of the trade, that'd be awesome.
|
|
inherit
24252
0
Aug 1, 2023 15:01:24 GMT -8
coolcoolcool
When the world says, "Give up," Hope whispers, "Try it one more time."
2,148
May 2004
coolcoolcool
|
Post by coolcoolcool on Aug 23, 2012 20:47:51 GMT -8
Check out thenewboston.com
The guy goes painfully slow, but he has some GUI and game development tutorials and teaches basically all the basics of Java. Might be something you would enjoy.
A better method is to buy a book on c++ and learn all about stuff like polymorphism, templates, memory management, etc from there. You usually can get a much more structured learning experience if you do that as opposed to just going off of online tutorials. Of course, there's always the staple of cprogramming.com as well.
I'd be interested to see how far you go with this. As a web dev you'll want to learn how to write bash scripts all the time, but learning these higher level languages will suite you in that aspect as well.
|
|
#00AF33
14306
0
1
Sept 8, 2023 8:54:17 GMT -8
Jordan
What is truth?
11,838
October 2003
jab2
|
Post by Jordan on Aug 24, 2012 7:06:01 GMT -8
I'd recommend getting a book as well since they will go into much more detail. They will cover things like coolcoolcool just pointed out that you will need to know.
|
|