Is it really as simple as read a book and then try to figure things out?

Started by
30 comments, last by xoxos 8 years, 10 months ago

I tried asking questions on other websites on what tools/books I should learn to get the job done, and I was asking for advice to see if there's a more efficient way to creating my game, such as if one language makes things more efficient. (In terms of less bugs, runs faster or w.e else an educated person would know about.)

I get responses like what do I mean by efficiency, and there's no best language.

Is game development really that simple as, I read a book on a language and I get straight to making my ideal game just like that?
I noticed some developers spend 10+ years on a game, or like kenshi for example there's one developer that has spent a full 12-14+ months on changing the engine to 64 JUST to fix the pathfinding issues of the game.

I want to prevent running into a problem like that, that's why I ask if there's any certain tools or books I should read because I want to be a good game developer. I have a game inspired by Elona and people mentioned because of the developers choice of tool for making the game, it has so many bugs and is hard to mod and the game can only do so much as a result.

If I take peoples advice I might run into a problem that might make me scrap my whole game or remake everything all over again because of a single issue.

Is it really a bad idea for me to post my game idea, then ask people what languages/tools they recommend I learn about to get the job done?
Because I asked this question on many sites and never had a single suggestion.

I currently know Ruby & web development and I can't comprehend or predict the future issues I"ll run into which is why I wanted another developers advice. Because not all languages/tools are 100% the same, and I'm willing to learn something different to do what I want done if it's necessary.

Advertisement

Game idea:
I want a browser game, that's synced to a forum on the same website. The browser game will have you explore a world that's connected to a server, but on the players end it plays out like a singleplayer game, but you have a friendlist inside it that's connected to the forum. The multiplayer aspect of the game are instances of dueling other players, but the exploring aspect of the game, and doing dungeons is singleplayer.

It's mainly text-based 2D combat with a bunch of fancy UI and pictures, display of your stats/skills, nothing too complex on the graphical part of the game.
The forum itself will be interactive and allow people to roleplay like on websites like proboard, it keeps track of your level & stats and progress in your game world. Keeps track of your achievements and everything.

The game will run a load of math, constantly going through algorithms to calculate things for combat and exploration. Every skill & stat in the game runs through a bunch of math, and the game has to service thousands of people on the website at once. Constantly updating each and every persons information.

I know ruby on rails, and lots of web development.
because I am new I don't know if it would be better to move from ruby to a different language to get this game going. I can't even comprehend how to do GUI's with ruby yet, I got to google more. Also I don't know if there's any tools that every 2D game developer should know.

I don't draw, is there a tool that allows me to create placeholder templates for the UI for my game and all sorts of things? Is there a ruby book that would make me more efficient at making this game? I don't know, how people learn about game development. If I wanted to learn about making a website I could read a book.

Do read the FAQ if you haven't yet, it will answer most of your questions: http://www.gamedev.net/page/reference/faq.php/_/for-beginners-r1

You can develop a game in any language, though some have more tools than others or are easier for a beginner to start with. Ruby has some tools and libraries available, though I haven't used them myself. (I'm told that the current version of RPGMaker uses Ruby as its scripting language.) Ruby seems perfectly viable to make a browser game, and in fact many of the big names use Ruby on the backend.

There are a ton of tutorials on getting started making a game (including on this site). The biggest barrier people run into is that they try to make a game that is too big and get bogged down in the details. It seems like you have a pretty definite idea for what you want to make, so I'd suggest you pick a small part of that and try to implement it. Probably the combat, or something else that's central to the gameplay and small enough to get a working version quickly.

If i were making the game you described... I would start by coding the in-browser display engine. The best ways to code this are Flash or WebGL (could use Three.js). You could use unity, but users will need to install unity player, which is not ideal.

The in-browser display engine will talk to the server for various things, like fetching areas of the world, assets, etc. This server could be in Ruby.

If you want to prevent cheating, the player session could be fully controlled by the server. While this also could be done in Ruby, it isn't the best choice as it is slow and dynamic typed. Better IMO would be Java, C#, or even C++.

For friend list and chat, there are ooen source XMPP servers you can use.

For forums, there are open source options like phpBB.


I tried asking questions on other websites on what tools/books I should learn to get the job done, and I was asking for advice to see if there's a more efficient way to creating my game, such as if one language makes things more efficient. (In terms of less bugs, runs faster or w.e else an educated person would know about.)

For a beginner, this question is basically meaningless. The sorts of issues you're describing just won't come up until you're far more experienced. For example, C++ has an internet reputation as one of the "faster" languages, and while that may be true in some circumstances you won't be dealing with a code scenario where that will come up for a long time, nor will you be able to take advantage of what C++ offers in that dimension. By far the best answer for someone starting out is what you describe-- you just need to pick one and get working.


Is game development really that simple as, I read a book on a language and I get straight to making my ideal game just like that?

It's that simple in the sense that coronary bypass surgery is just removing a clogged tube and replacing it with another tube. Actually doing it is harder than that description may suggest.


If I take peoples advice I might run into a problem that might make me scrap my whole game or remake everything all over again because of a single issue.

You might run into a crippling problem no matter what you do. If you could predict that sort of thing right now you wouldn't be a beginner. In ten years' time you might be able to make very good, nuanced choices about this sort of thing, but you'll develop that skill as a result of overcoming challenges between then and now. There is no path to programming games that is straightforward, easy, and has no risks of issues down the line.


Is it really a bad idea for me to post my game idea, then ask people what languages/tools they recommend I learn about to get the job done?
Because I asked this question on many sites and never had a single suggestion.

The real answer is the same as what you say you've gotten elsewhere-- it doesn't matter much what you choose, because most languages can do what you want. If you just have to have a specific answer before starting, then stick with Ruby because you already have some experience working with it. I promise you, any choice you make will still leave you with issues you didn't predict, and you will be able to address them.

As has been said above, it's easy for a beginner project to get out of hand in terms of complexity. Before diving into a multiplayer networked game, you may want to focus on something smaller. You could try coding a couple of sample characters, a couple of rooms/dungeon areas for them to explore, something like that. It's still plenty of work, but it's a realistic task and you can build on it for the future.

I also recommend not starting with your dream project because beginners are very likely to 1.) imagine something way beyond their ability to create right away, 2.) produce incomplete or problematic game designs which are very difficult to implement in code (whatever the language and tools being used), and 3.) focus on the "fun" game elements and neglect the utilitarian aspects of the program which must exist but are dull to create and debug. A smaller project that isn't as close to your heart will be easier to create, less frustrating, and ultimately bring you closer to what you'd like to accomplish.

-------R.I.P.-------

Selective Quote

~Too Late - Too Soon~

Is game development really that simple as, I read a book on a language and I get straight to making my ideal game just like that?

Not really. Software is an art like anything else. Knowing a language vs having used it in anger on something large scale and having lean't by painful mistakes that cause you to scrap large blocks of code because you have boxed yourself into a corner are two different things :)

I noticed some developers spend 10+ years on a game, or like kenshi for example there's one developer that has spent a full 12-14+ months on changing the engine to 64 JUST to fix the pathfinding issues of the game.

I want to prevent running into a problem like that, that's why I ask if there's any certain tools or books I should read because I want to be a good game developer.

You make it sound like there is an issue with doing all that work. Depends on why you are writing the game, for fun or profit. Doing large scale fixes or re-writes of stuff is where you learn. You see the mistakes in your code or you find all the duplicated code and refactor it to make it better or more abstract and hence reusable.

The only way to avoid making mistakes is to have made them in the past, that way you will be able to spot them next time and come up with better solutions. Do not expect to be able to read any book and be the perfect programmer. There is only one way to learn how to code well, the hard way with lots of practice.

If I take peoples advice I might run into a problem that might make me scrap my whole game or remake everything all over again because of a single issue.

Never be afraid to scrap code and re-write it. The key is making your code modular enough that when you have to scrap stuff you are not forced to re-write everything from the ground up. Your ideas change over time or sometimes code structure does not support some new idea you want to add. The one thing I have learned in 30 years at the code face... refactor aggressively. Code is never set in stone :)

Is game development really that simple as, I read a book on a language and I get straight to making my ideal game just like that?

In filmaking, would you expect to read a book and then get straight to making this summer's hollywood blockbuster?

In enginnering, woulf you expect to read a book and then just start building a Formula1 car or a space station?

In any career in any profession (because that's what you're talking about here: a skilled profession and a career) you have to start out small and gradually master the basics through years of experiences and mistakes.

Do not try anf build your magnum opus as your first project in a new profession.

Thanks guys for not crapping on me. What deters me from asking questions anymore is that a lot of people crash down on my ego so I exclusively read books without seeking other peoples opinion.

Do read the FAQ if you haven't yet, it will answer most of your questions: http://www.gamedev.net/page/reference/faq.php/_/for-beginners-r1

You can develop a game in any language, though some have more tools than others or are easier for a beginner to start with. Ruby has some tools and libraries available, though I haven't used them myself. (I'm told that the current version of RPGMaker uses Ruby as its scripting language.) Ruby seems perfectly viable to make a browser game, and in fact many of the big names use Ruby on the backend.

There are a ton of tutorials on getting started making a game (including on this site). The biggest barrier people run into is that they try to make a game that is too big and get bogged down in the details. It seems like you have a pretty definite idea for what you want to make, so I'd suggest you pick a small part of that and try to implement it. Probably the combat, or something else that's central to the gameplay and small enough to get a working version quickly.

Yeah i decided to just do the combat for now, get used to making a UI and stuff.

I did read all the posts in this thread, and everyone put up really helpful advice and I appreciate it, thanks.

If i were making the game you described... I would start by coding the in-browser display engine. The best ways to code this are Flash or WebGL (could use Three.js). You could use unity, but users will need to install unity player, which is not ideal.

The in-browser display engine will talk to the server for various things, like fetching areas of the world, assets, etc. This server could be in Ruby.

If you want to prevent cheating, the player session could be fully controlled by the server. While this also could be done in Ruby, it isn't the best choice as it is slow and dynamic typed. Better IMO would be Java, C#, or even C++.

For friend list and chat, there are ooen source XMPP servers you can use.

For forums, there are open source options like phpBB.

This post is really helpful, I have experience in Java. Your post overall is helpful, and I really don't mind learning new languages.
Even though my post wasn't that well worded you were still able to break it down and offer your own opinions.

This topic is closed to new replies.

Advertisement