General Game Design Discussion

13
RageMunkey24 #23 19 286

I was thinking of making this thread into a game design thread to talk about the trials some people are going through with making it as a game designer. Like all you programmers out there give some helpful info about programming and scripting for games and some programs or books that can help teach it (I know I need help with it) or level designers discuss your process of designing or what you guys do in general to get your ideas out.

The fun of having other designers to talk too

12
Jimmy Hurstel #50 20 194

My biggest piece of advice to designers is that every one of you should learn how to code gameplay. A great site for fellow designers to learn is www.codecademy.com. You should be hitting up lessons on that every day. Being able to code really sets you apart from other designers in the industry. It can be difficult to grasp at first, but don’t give up! Everyone can learn how to do it.

13
RageMunkey24 #23 19 286

Dude coding is so hard for me right now I have been learning from this guy on youtube named Thenewboston I just never thought coding would be this for a game designer. It really shows I have a long way to go

12
Jimmy Hurstel #50 20 194

It is difficult for left brained thinkers to tackle right brained tasks, but it is definitely possible. I had a hell of a time grasping the logic behind coding at first. Once you get over that hump, it all makes sense and gets a lot easier. Not only will it make sense, but you’ll be able to pick up multiple coding languages on top of the one you start with. Try out codecademy.com. It helped me out a lot and I always point everyone there that is interested in learning.

While learning, go prototype simple mechanics; make an object move, create a switch that gets activated on collision, etc. I have a file somewhere on my computer that is a maze game. When I started coding I added 1 new mechanic every level until I was comfortable scripting gameplay. Now that I am thinking about it I should still be adding to it. It’s a great way to come up with new ideas for future titles.

13
RageMunkey24 #23 19 286

I am currently using the code academy and I like it but I wish the had c++ too

18
Tim Ruswick #1 89 2068

Understanding the whole process of game development helps SOOOOO much in making games...even if you're only working on one part of the game.

If you're not willing to learn HOW to do some of the things, at least learn some of the theory behind it. I know ive always been a coder at heart, but understanding design and the process of how to make assets made my coding more designer friendly and vice versa.

Secondly I would say that if you're having trouble with coding, start with the logic. Break everything down into "if" statements. If the user presses the space key, the player on screen jumps. Etc. Then just figure out the syntax in your specific language of choice.



Jimmy has some sound advice there^

15

Exactly.. Psuedocode everything if you need to.. simple thing like this:

if player has a gun
if player clicks fire button
fire gun
if player clicks duck
duck

etc.. this can give you a basis and help you visualize the logic and how it all flows.. from that you can convert it to whatever language your learning.. I always avoided c++.. cant stand pointers.. hence why I use c# for everything =D

12
Jimmy Hurstel #50 20 194

Is there a specific reason why you want to learn C++? C++ is a low level language and outside of creating tools and just wanting to I never understood the reason for learning it. Scripting languages are all you need to build games in engines like Unity, UDK, or GameMaker to name a few. I suggest starting with Javascript and going from there. Knowing JS and using reference guides/tutorials would allow a designer to create a game in any of the above mentioned engines.

13
RageMunkey24 #23 19 286

A lot of people lrean c++ because its easy to pick up which leads to script easier according to some people. but I really dont know

10
VINTAGE Games #8 6 86

I pseudocode as follows:

We'll use a boss fight, since they tend to be rather complicated:

states:

-lock-on single shot - FASTEST
-pattern-fire, 3 patterns - FAST
-change positions / dash to new spot - MEDIUM
-dash at player / become vulnerable - SLOW (OVERARCHING LOOP)
-vulnerable - NO TIMER / HINGES ON DASH EVENT

progression:

-lock on and pattern fire count down together
-pattern fire should take approx twice as long - add double the time-remaining after each shot
-every time either shot occurs, set new dash position to one of 8 nodes
-if change-position counter hits 0 and:

-boss isn't already shooting

-boss isn't already dashing
-dash to new spot
-if dash timer is 0, halt all other actions and dash in direction of player
-when boss collides with a background tile, halt position / change state to "vulnerable"

There's more to this fight - but this is enough for me to start working. As I worked, I realized that I needed other state control, like the timings between the "i'm about to shoot" animation and the shot actually launching - and I needed to pause appropriate timers during these phases so my state machine wouldn't get confused.

Pseudocode in simple english, THEN move to pretend-programming language - and if something you planned ends up being a nightmare of state-juggling.. change it! Originally, the boss was supposed to dash at the player, hit a platform, then change states to "bouncing back / falling towards ground" - he could kill on contact in this state - and then would mode to a dead animation on the ground. I screwed something up logically aht burned a half day fixing it... So eventually I just nixed the "hit wall, bounce back, fall to ground" in favor of "hit wall, change animation, stop in that position" - battle still feels great and all is well!

Example of this finished boss fight in action:

http://www.youtube.com/watch?v=suy9g5_llAU

12
DanaLovesVidya #69 20 138

I'm no expert coder, but one thing that has helped me is to think of pseudocode as an outline for the program. For instance: If you're outlining a book or essay, you break everything down to its bits and pieces and then you analyze those bits and pieces. The same can be said for game design and then code.

Example:
- Start with a sentence: Johnny runs down the street, shooting enemies with his gun.
- In that sentence, you have "Johnny" as the main subject, affecting "enemies" (the secondary subject). So take those two words and separate them into two separate functions: Johnny() and enemies()
- In the Johnny() function, outline what Johnny does. So:
Johnny() {
run
shoot
}
- In the enemies() function, outline what the enemies do:
enemies() {
getShot
}
- Then you break it down even more. You'll end up having functions that call other functions. Take the Johnny() function for example:
Johnny() {
run() {
rightLegForward
leftLegForward
moveFifteenPixels
}
shoot() {
unholsterGun
raiseArm
pullTrigger
bulletMovesFiftyPixelsPerSecond
}
}

Of course it gets way more complicated than that, but when you start small and analyze like that, it only gets as complicated as you make it. I hope this makes sense.

12
Statelessrich #30 27 143

C++ is the industry standard for coding PC and console game engines, which would make it appealing to learn. If you're not looking to get a job in the industry, it's probably not worthwhile learning C++.
I strongly disagree that it's easy to pickup, compared to other object-oriented languages like Java and C#.
I've learned languages by reading books at first, then coding my own project using the internet as a resource when I needed help.

12
Jimmy Hurstel #50 20 194

You are right; C++ is used to develop tools. This thread is on Game Design and even in AAA I doubt you’ll see Game Designers hard coding game engines. Now maybe at one point in time a Game Designer in the industry were a tool builder, but that isn’t the only path to becoming an effective Game Designer on any team, whether it is AAA or indie. I also agree that it is a lot more difficult to learn then other higher-level game play scripting languages, which in my opinion makes it less appealing to designers.

Pseudo code is a great tool to use and if you are working on a team being able to communicate exactly what you have in mind is crucial. A couple great ways to do this on top of the above mentioned is with storyboards and flow charts. Being able to properly detail your mechanics saves a lot of time in the long run even if you are working by yourself.

13
RageMunkey24 #23 19 286

ok which game dev program would you pratice programming the best? sorry for not replying sooner shool is starting to wrap up.

15

Ive never been a fan... never ever... of those "game maker" softwares.. like unity.. and construct and gamesalad and all that.. But with all the changes unity is making.. if you want a game dev "program" go unity. especially with the new 2d features they are coming out with.. if you want to learn to code, c++ is overkill... c# and monogame is probably the easiest way to start... will run on most everything..

13
RageMunkey24 #23 19 286

then what are you a fan of?

12
Jimmy Hurstel #50 20 194

I am just the opposite. I am a huge fan of using Game Engines. They take away all of the unnecessary work while giving you the same creative freedom. If you need anything additional most allow you to extend or build plugins. If you decide to take this route always look at exporting options before you commit to them. Make sure it is going to be right for your game. If you have never done any gameplay scripting I suggest making something in Game Maker. Game Maker is a great 2d engine and if you understand OOP you are golden. Take full advantage of the community and script reference guide; it really helps a lot. Unity is great as well, but will be more complex because you will be working in 3d space(X,Y,Z). Like Squiggly said though they are dropping 2d tools in, they just are not there yet.

Showing 1 - 17 of 17