Advertisement

Help with a game idea

Started by October 31, 2014 04:10 AM
8 comments, last by Jjzme2 10 years, 2 months ago

I'm extremely new to programming, I've recently started learning how to code HTML, and while I do understand that has little, if any, impact on creating a game, it does help to begin my understanding with the format of coding. My problem though is this, I have had an idea for a game for a while, and I'd love to see it implemented, but I think this game can become huge! It would have massive customization, I'd hope for something like Minecraft's world generator but for customization, where it's nearly infinite. I have alot of the ideas for the game down-pact, but my problem is that I have such minimal coding knowledge, now I have worked with RPG Maker up to VX Ace so i have a vague idea of the ultimate concept games require, mathematical formulas to allocate damage and defense, and databases, those kinds of things, but what would be the best way for me to teach myself how to program a 3D game, and where can I find the help I'm sure I'll need for this project? (Sprite Creators, are the biggest, I'd like to learn the coding myself, and I'm not quite sure what else would be required to make a full on game.

Additional information I think may be helpful, While I would like it to be an MMORPG, either on consoles or on P.C.

I have Unity, though I've read that it may be a bit too powerful for me right now.

I have almost infinite time since I have no current job.

I've grown up loving everything about games, esp. RPG's.

Anything else that may be helpful or any questions that would help you help me are more than welcome.

And I do apologize for my lack of knowledge cause from what I've read some people might be upset that I'm starting to learn to program with HTML.

what would be the best way for me to teach myself how to program a 3D game,


This is not a game design question! Moving this to a more appropriate forum. Programming is not game design, and vice versa.

-- Tom Sloper -- sloperama.com

Advertisement

I think the topic of why a beginner should not do an MMO has been done to death, so check out this thread over on gamedev stackexchange, it has some great info:

http://gamedev.stackexchange.com/questions/90/why-is-it-so-hard-to-develop-a-mmo

Start smaller. Much smaller. If you're new to not only game programming, but programming in general, you need to lay a lot of groundwork in your skill set before you can consider something even remotely as complex as a large scale multiplayer game. Think of a nice, simple game idea that interests you and build that. If you are still fixated on something you know is beyond your skill set, try to break it down into all of the things you can see that it is composed of and start building small games that teach you those basic techniques in isolation, or coupled with 1-2 other aspects that you should learn. By teaching yourself those things individually, you'll build the groundwork you need to be able to eventually tackle your bigger ideas.

To draw a parallel to myself, I want to write a 3D game engine of my own, partly for the learning experience, and partly because I am a control freak when it comes to my code, and I want to build a highly procedural game on top of it. To do that, I've broken down what I need to do into a lot of smaller stages. For example, for the rendering, I started out rendering a plain old static cube on the screen. Then I worked out how to animate it. Then I worked out how to texture it in a few different ways. Now I've moved onto learning lighting, and to do that, I need an understanding of calculus, so currently I'm teaching myself calculus so that I can continue learning lighting techniques. As I progress, I'll learn more and more things and as soon as I have a baseline set of skills to build a simple game, or even just a fun tech demo, I will do that. I'm thinking a simple little top-down car game will be a good project to apply what I've learned.

But I digress. My point is, work out what you don't know and systematically fill in the gaps by doing small, fun projects that interest you and teach you specific nuggets of knowledge which you can later apply to build something more ambitious.

Attempting to create a 3D game with minumum programming knowledge will lead to frustration and quick burnout .

There are many posts explaining why new folks should NOT start on something complex.

Since you already have some HTML experience, you could start making some simple programs in JavaScript since that language is not difficult to learn [Tutorial Link]

After you get pretty good at JS you could move on to creating simple 2D games using Canvas .

From there, the sky is the limit. You could continue making more complex web games, or move on to a different programming language that is more powerful .( Java, C++, C#, e.t.c. ) .

You could use an engine, however you will still have to learn how to program and use a complex environment at the same time.

If you seriously want to start with a 3D engine, ALICE is the most friendly "new-to-programming" environment I can think of.

I cannot remember the books I've read any more than the meals I have eaten; even so, they have made me.

~ Ralph Waldo Emerson

Step 1) Cut the MMO out of RPG. Forget especially about the "massively" part until you get filthy rich or you have gathered many years of expierience in managing large game projects and have access to a large team. Put the Multiplayer part aside for now too.

Step 2) Think about what you would like to become, jobwise and/or in this game project. If becoming a programer is your target, put aside the RPG part and Unity for now too and learn to program small games from scratch. If for nothing else than to really know what is going on under the hood of the game engine you will use again later on. Or maybe you will be one of the guys that will write his own 3D engine, for one reason or another, who knows?

Step 3) build you skills to a level that gives you the ability to come up with a cool demo or prototype. IMO, Learn the basics, then quickly move to an existing 3D Engine (IF you still rather want to build a 3D Game than building an engine) and start creating small games and prototypes there. Get some expierience, and create some cool little things on the way.

Step 4) If you still want to build your dream game: Plan ahead. Be brutally honest with yourself, use the knowledge you gained over the last few months and years of learning, and CUT YOUR GAME DOWN TO SIZE! The MMO part has been thrown out long ago, now try to reduce both the core features and the graphics to a manageable level! You need to be aware:

- it is incredibly hard to find motivated, skilled people working for free.

- it is incredibly hard to manage a team, and it will cost you a good amount of your time if you try

- outsourcing to freelancers is a better idea, but will cost you something

Make sure you are aware how much you want to spend: have 1'000'000$? You still cannot build the next skyrim, but maybe a very small portion of that game in the same quality, or something a tenth as big in a much lower quality. Have 100'000$? Now you need to become clever how you spend that money. You will have to cut down game logic, graphics, and the whole scale to fit you budget. Have 10'000$? Yeah, that might buy you a single character from Skyrim, depending on the details and animations... or 10 lower quality assets.

If you have no money to spend, prepare to be very much on your own. Now you need to become both clever about how you tackle things (procedural generation, put details where they are needed and omit them everywhere else), and lower your expectations on scale and quality.

IF your vision is as big as you think, and you produce some good demos and prototypes while learning, you might have a chance to find volunteers.... just be aware they are still a two-sided coin: they might do some work for you, and fill some gaps, but you will need to invest some time yourself to manage them, keep them interestet and motivated.

Step 5) Start building your dream game, step by step. Break it down into the basic components, and build each one on its own.

- A very small test area. Play around with level design, see what works for you wand what does not, maybe start thinking about where you can cut costs by procedural generation, re-use and so on.

- A player character: If you do not have a model yet, use a proxy. Get the player character moving around

- Enemies: as above

- A fight system...

And so on. In the end, you will have a very small scale single player RPG without much story. Now, IF YOU HAVEN'T HAD ENOUGH, and still want to go on, get your fet wet in implementing networking and creating a multiplayer expierience, or expand the RPG with more levels and a story.

And maybe, one day, in some years, you got to release your very own RPG. IT won't by Skyrim, it won't be WOW, and most probably you will have to work hard to match even Minecraft... but its your own baby.

Thank you for all the replies, I just typed basically an essay, then hit backspace at the wrong time.....

Anyway, I do know that I can't make an award-winning MMORPG tomorrow, or maybe not even a turn-based rpg, my question may have been lost in the text, I have a habit of doing that. To clarify, Would JS be sufficient for large-scale games (At a time I'm more prepared to make them) or would I have to progress further still with C++ and C#, I do plan on getting a job in the technology field, specifically coding, and from there possibly coding games. Additionally, What key roles are played in the development of games/applications, I know coders, and Graphic Designers, but what else?

Again thank you, in advance for any replies, and if I've not granted some etiquettes, I should have I apologize, if noted I will make reference to them, but I lost the "essay" I wrote and have constraints on time at the current moment.

Advertisement

Javascript is fine for any "scale" game for a client, the only limiting factor would be if you're trying to do something really intensive in it, so you'd just have to plan accordingly and that will limit the kinds of mechanics you can use.

You'll have trouble with things like sorting a large amount of alpha blended items, certain more advanced physics (although some basic physics will be fine), and anything that needs a lot of brute force on the CPU in rendering or client-side gameplay.

You will have no trouble with any amount of dialogue or typical NPC interaction, click to attack mechanics for combat, generally moving around and exploring a game world of any size provided you're smart about loading assets as you need them. You also won't get much fuss from the graphics card for anything you're doing on the GPU.

You'll need to get into something else for the back end for any online game though.

Roles?

In indie development, people tend to wear more hats. Often teams are just made of one person who wears them all, or two, usually programmer and artist, and getting somebody else to do a couple pieces of music if neither are good with that and grabbing some free sfx from the net.

In a studio, things are much more broken down, particularly on a large project.

the better question would be: will JS help me be more productive right now? Will I be able to learn valuable lessons that are important for game dev in general with JS?

Don't assume that you can learn a single language and will never have to learn another language again. Most good programmers I know are versed in multiple languages... it does happen automatically to some degree, and most people enjoy looking over the fence so to speak. The grass sometimes is greener on the other side, and sometimes even a different shade of the same green can be refreshing ;)

I started with C in my apprenticeship, had to "crash learn" Java for my final exam, became pretty good in perl and Unix shell on the job, had to pick up Java again during University (luckily also got exposed to C++ and C#, as well as some Ruby), and am now working since almost 10 years in a Job where I am both asked to program Java Web Frontends as well as create Perl and Shell scripts for the Unix backend, do database programming while our DB programmer is on medical leave, and if there is a problem with a jython script or something else, I will fire up google and get the job done (somehow).

If you are fluent in JS, continue using JS for now. If you follow good practices, it should not hold you back for the next few games you will tackle, as they will be anything but "large scale"...

As soon as you "hit the roof", move on to a more powerful language. Yes, JS is not the King of the hill there, altough more important than the language will be frameworks, engines and compilers involved. If YOU will have a problem with JS in YOUR project, you will have to find out yourself. Chances are, if you are not programming on an anemic mobile device or trying to overload the GPU with AAA quality objects / CPU with masses of complex AI agents, you will be just fine.

And if you are still unsure about JS, or manage to reach a bottleneck... other languages can always be learned, and some of your JS expierience will just transfer over to them. And JS is never learned in vain. Every dynamic Web Page nowadays has some JS in it, and more and more applications use it as their scripting language, Unity included (yes, its just a JS lookalike technically, still... )

The "holy trinity" of game dev roles seems to be Game Designer, Game Programer and Artist. Sound seems to be usually outsourced, then there are tons of fringe jobs that bigger studios will offer, smaller might also outsource (management, tester, marketing, HR.... ).

The roles break down into specializations like Level Designer, Graphic Programer, Texture Artist, and then a thousand or so more.

Hey man!

You say you lack knowledge and are just starting so going on with a huge idea is the worst thing you can do.

Instead try to use an easy to use engine (Unity or Flash in my opinion) and finish a simple game there.

You can build it around a very simple and fun idea.

Go small. (Especially in the beginning)

Save your bigger ideas for later. Usually after a while they aren't what you thought they would be but in your case I don't know and don't want to depress you haha.

So good luck;)

My new YT channel about game creation is out!!!

https://www.youtube.com/channel/UCGCv7wwpwETEH0kkd_CYlfQ

Exciting stuff to come;)

Sorry I've been inactive for a week or so, I've had things going on in my personal life I had to address, but I do want to say that I appreciate all the feedback and encouraging words, and criticisms that will undoubtedly help with learning programming.

As of now all my questions have been answered and I want to thank you all for the help, I'm going to start learning Python, as I've heard it's pretty good for beginners to learn, and I've had a miniscule amount of experience with it, I'll keep you guys updated as I begin making my first game, wish me luck!

This topic is closed to new replies.

Advertisement