Follow TV Tropes

Following

The Game Developer Thread

Go To

Elle Since: Jan, 2001
#376: Jul 6th 2013 at 6:45:25 AM

I don't know from experience and I don't remember if there might be recommendations elsewhere in this thread, but I do know a couple things about the state of C# in game programing. A couple years ago, most people's default answers would have pointed you toward resources for Microsoft XNA, the C# based game framework that made possible several of the indie hits on X Box Live and PC in the last few years. But Microsoft is retiring XNA as of last year. Currently, people who were invested in XNA development are shifting their efforts over to the open source Monogame, which looks like it supports deploying to all PC platforms and several phone platforms (don't be turned off by the fact that a lot of the material on Monogame focusus on phone development). The Documentation section of the Monogame site does offer some tutorials and the front page is currently plugging the "first Monogame book" to come out.

You can work on games with just C# and DirectX. This may end up being harder but if you look up "C# game development" on Amazon, this is what the books available there cover.

Unity3d uses C# for game scripting but since you specifically said 2d, turning toward Unity would be less than optimal. Keep in mind though that unless you get into the realm of procedurally generated graphics or 3d shaders, code does not determine art style beyond the 2d/3d distinction.

Finally, any basic C# book is going to be useful to you getting started, even if it doesn't specifically get into game programming (though game-specific ones are going to be nicer for keeping your interest, which I think is important). If you google around, I'm sure there will be plenty of recommendations.

ArsThaumaturgis Since: Nov, 2011 Relationship Status: I've been dreaming of True Love's Kiss
#377: Jul 6th 2013 at 1:18:29 PM

Honestly, I find the suggestion of "finding a language that you like" — and, I take it, the implication of then sticking with that — a little dubious. The advice that I've had — borne up by my own experience — is that once you know how to program, picking up a new language is usually no great difficulty.

Given that, are you planning on making games or game engines? If the former, then I strongly recommend finding a game engine that you like — I suggest looking at Unity or Panda3D, for example — and then working with whatever language that supports.

However, if you have decided to pick a language, then I'll bow out for the moment: I've only really used C# as a scripting language for Unity, as I recall, and thus fear that I am not in a good position to advise.

My Games & Writing
ch00beh ??? from Who Knows Where Since: Jul, 2010
???
#378: Jul 6th 2013 at 9:41:26 PM

For anyone interested, the artist of Braid is speed drawing ideas at the SF site again on the livestream

"Never let the truth get in the way of a good story." Twitter
Grey13 Since: Jun, 2013
#379: Jul 8th 2013 at 5:19:48 AM

Well, First I want a understanding of programming code (baby steps). I would start straight with C++, but I hear that it's a bit too much to crew on for beginners. Now I have Unity, but that's a whole different bridge I have to cross when I get there. For now, I just want to a underlining understanding of what's coming up ahead.

If C++ isn't as big a hurdle as they say, I'll start looking for books in that.

Elle Since: Jan, 2001
#380: Jul 8th 2013 at 7:37:49 AM

Honestly, I haven't touched C++ yet. If your ultimate goal is to get into professional engine programing, you'll have to get into it eventually, but there's no reason to start with it and it is a good deal harder and has a lot more overhead in terms of things to have to deal with manualy.

ArsThaumaturgis Since: Nov, 2011 Relationship Status: I've been dreaming of True Love's Kiss
#381: Jul 8th 2013 at 8:34:59 AM

If your intention is game development (as opposed to engine development, as mentioned above), have you done any programming before, or used a Game Maker? If no to both, then I'm inclined to suggest starting out with something like Game Maker (the program, not the type of program linked-to above, that is) — if I recall correctly, that should allow you to start off with simple projects that you construct more or less entirely in a point-and-click interface, and then slowly move deeper into scripting. Where you go from there might depend on your desires and how satisfied you are with Game Maker; either way, picking up a new language and another engine at that point might not be a bad idea, in order to broaden your programming experience.

As to C++, I don't recommend it as a first language, although it's probably a good one to pick up once you're comfortable with programming.

edited 8th Jul '13 8:35:58 AM by ArsThaumaturgis

My Games & Writing
Elle Since: Jan, 2001
#382: Jul 8th 2013 at 10:55:14 AM

I feel obliged to mention every time Game Maker is brought up to mention that I don't recommenced it ever since the company currently maintaining it had a false-positive bug in their DRM...DRM which defaced people's graphic asset files with skull and crossbones images. I'm willing to put up with a certain degree of DRM but trashing people's work is unforgivable and one of the few things that will stop me from doing business with a company on moral grounds. Plus, Game Maker always had what I consider a number of annoying limitations (though I haven't tried their newest releases) and their scripting language is proprietary...you'll still learn from it and will be in a position to learn other languages more easily, but you're probably better off starting with something more established.

In any case, while there are alternatives to Game Maker (Styncl, Game Salad), and are great for learning, if your goal is to get into programming, I say go all in with programming.

ArsThaumaturgis Since: Nov, 2011 Relationship Status: I've been dreaming of True Love's Kiss
#383: Jul 8th 2013 at 5:55:36 PM

Argh, I didn't know about those issues with Game Maker — my apologies, then.

In that case, not having another game-maker (of the more general sort) to suggest, I'm inclined to fall back on suggesting a reasonably fully-featured engine that supports a decent language — Unity (which uses C#, I believe) and Panda3D (which uses Python — perhaps not a bad starting language — or C++, I believe) are my recommendations there.

My Games & Writing
burnpsy Since: Sep, 2010
#384: Jul 8th 2013 at 6:05:24 PM

[up]Unity supports C#, UnityScript (basically an altered JavaScript) and Boo. There are also some paid "visual coding" tools on its asset store that may or may not be helpful for new coders to get an idea of what their code is actually doing.

edited 8th Jul '13 6:05:35 PM by burnpsy

Elle Since: Jan, 2001
#385: Jul 8th 2013 at 7:44:28 PM

He did say he wanted to make 2d games, and Unity and Panda are 3d engines; you can do 2d stuff with them but it's a bit of a kludge. I'd stick with my earlier suggestion of MonoGame for C#, even though it may have some growing pains at the moment. PyGame (Python) is also often-reccomended around here.

edited 8th Jul '13 7:46:24 PM by Elle

ch00beh ??? from Who Knows Where Since: Jul, 2010
???
#386: Jul 8th 2013 at 8:41:13 PM

I've definitely made way more 2D games in Unity than 3D games, but you do need to know your basic way around a 3D editor to work it.

In other news, gameplay footage!

Thought about taking a screenshot of our various status updates on facebook, but that would be a lot of work.

All in all, a good jam despite our lead/sole engineer deciding that he needed to rewrite the engine saturday 4AM.

PS. the quote we used was "I want you to feel unconditional love" and we took that to mean the unconditional love your organs give you when binge drinking. We also wanted to make the game a clusterfuck of hands.

Also the full title is The Bender: The Unconditional Liver: Inspired By A True Story: The Reckoning: III: On Ice: The Musical

edited 8th Jul '13 8:44:07 PM by ch00beh

"Never let the truth get in the way of a good story." Twitter
ArsThaumaturgis Since: Nov, 2011 Relationship Status: I've been dreaming of True Love's Kiss
#387: Jul 10th 2013 at 9:16:03 AM

Would someone please suggest a few games that:

1) Are viewed from the side, and play in 2D (whether they use 3D graphics or not).

2) Allow the player to move the camera a short distance, such that it is no longer centred on the player (or as centred as is default for the game), allowing the player to "look around" a little.

3) Have clickable UI elements on-screen in the same context as the camera-movement described in #2, above.

In particular games that you feel have good implementations of #2 above.

Otherwise, what mechanisms do you know that you feel implement such camera movement in the presence of such UI elements?

To explain, I'm working on a project that I'd like to have allow the player to move the camera around a little, but which also has clickable UI elements. Said UI elements are currently placed at the bottom of the screen, and the camera movement is controlled simply by moving the cursor outside of a small rectangle around the player. Unfortunately, I'm finding that it feels a little off-putting to have the camera move when I want to click on a UI element. :/

edited 10th Jul '13 9:16:30 AM by ArsThaumaturgis

My Games & Writing
Grey13 Since: Jun, 2013
#388: Jul 10th 2013 at 9:37:52 AM

First, I'd like to say thanks to all of you for helping me this far. I never actually expected a answer on this, I love this site.

I'm going pick up some books on C# from amazon. After some reading I'll try Mono Game and Unity, I know Unity is made more for 3d games, but I've heard that it can be used for 2d fairly well. Plus everyone mentions that it's like the best engine ever.

My games will go down in history as the greatest ever! MWAH HA HA HA HA!!!!

ch00beh ??? from Who Knows Where Since: Jul, 2010
???
#389: Jul 10th 2013 at 11:14:57 AM

^^the genre that best fits that bill is actually RTS games, so you may want to draw inspiration from there. Specifically, scrolling is done by actually hitting the screen's edges or using the arrow keys, and most interaction context based right clicks and hot keys.

Another thing you might want to consider if you really want the mouse's relative movement to define camera location, is to have HUD elements be non interactive and then put the actual UI in a context menu accessed by right click or holding down some key—think the power wheel of Mass Effect.

"Never let the truth get in the way of a good story." Twitter
Elle Since: Jan, 2001
#390: Jul 10th 2013 at 12:47:12 PM

So a while ago I proposed a So You Want To series of articles as an extension of this thread. I've started drafting a general "So You Want to Make A Video Game" on my bio page and I'm open to suggestions. I'm probably going to morph the "Departments" section of the template into a rundown of the major diciplines that go into game making. I'll probably have a list of links to tools such as Unity, RPG Maker, Adventure Game Studio, etc, supplemental reading/viewing such as Gamasutra, Extra Credits and any books that would bit, game development communities, and so on (programing, art and design specific stuff should go on pages specifically about them). I'm not sure what to do with The Greats/The Fails section; if they're lists of games, I don't want to just list "the classics", I want to point out specific games and what can be learned from them.

ArsThaumaturgis Since: Nov, 2011 Relationship Status: I've been dreaming of True Love's Kiss
#391: Jul 10th 2013 at 5:41:14 PM

[up] I'm a bit tired to comment now, I fear, but I'll hopefully take a look at the page in the new day.

[up][up] Thank you. ^_^

the genre that best fits that bill is actually RTS games, so you may want to draw inspiration from there. Specifically, scrolling is done by actually hitting the screen's edges ...
Ah, I had forgotten about strategy games. I had thought about hitting the screen edge, but I think that I feared that it might be a little non-obvious (I'd rather not put up UI indicators at the screen edges, I think). However, it occurs to me that since my game involves the player clicking on objects in the world (as in an adventure game), having the camera move as the player is attempting to click might be problematic.

I'll likely give the screen-edge system a shot, I think — thank you!

... is to have HUD elements be non interactive and then put the actual UI in a context menu accessed by right click or holding down some key ...
Heh, ironically I recently switched from a click-activated menu to my current set of on-screen icons; in short, I felt that my controls were a little over-complicated, since I intend that most of the standard controls be operated via the mouse.

If I recall correctly, I had a single left-click telling the character to walk to a spot, double left-click for "use", single right-click for "look" and double right-click for the icon menu.

However, the icons are connected to a central set of gameplay elements; on the other hand, I want "looking" to be attached to a single-click so that it invites the player to often look at things.

I decided in the end to leave walking attached to the single left-click and looking attached to the single right-click, and attached the other functions to UI buttons, activated by a single left-click after the UI-click. (The game isn't intended to be a run-and-jump platformer, so a two-step jump function shouldn't be a problem, I imagine; nevertheless, double left-click still jumps for the moment.)

My Games & Writing
Elle Since: Jan, 2001
#392: Jul 13th 2013 at 11:12:12 AM

If anyone who follows this thread was ever interested in RPG Maker, RPG Maker VX Ace is one of the daily deals in the Steam Summer Sale, 66% off (about $24). It should be on sale for the next 47 hours.

ch00beh ??? from Who Knows Where Since: Jul, 2010
???
#393: Jul 13th 2013 at 11:47:00 AM

^^keep in mind that clicking is not the only way to activate things. A quick and easy thing to explore is binding the look action to onMouseOver instead, treating it like a tooltip kind of thing. Also keep in mind that more often than not, one key can have many actions—for example, right click could mean both "move to this location" and "move to this object and use it" depending on what you right click on.

edited 13th Jul '13 11:47:31 AM by ch00beh

"Never let the truth get in the way of a good story." Twitter
ArsThaumaturgis Since: Nov, 2011 Relationship Status: I've been dreaming of True Love's Kiss
#394: Jul 14th 2013 at 3:53:40 AM

A quick and easy thing to explore is binding the look action to onMouseOver instead, treating it like a tooltip kind of thing.
Hmm... It's worth considering, perhaps; I did originally have something like this (names being shown on mouse-over), but the system that I had in place at the time was a little expensive for my liking (I don't have access to an in-built mouse-over event for my objects, as far as I'm aware — I end up with essentially finding the position of the mouse cursor in world-space and then comparing that to the bounding boxes of my objects, as I recall). I'm also not sure of how that might interact with longer descriptions. Nevertheless, it's worth considering — thank you. ^_^

Also keep in mind that more often than not, one key can have many actions—for example, right click could mean both "move to this location" and "move to this object and use it" depending on what you right click on.
That specific example probably won't work in my case — I previously had something similar, as I recall, and found that larger objects interfered annoyingly with just going to a point.

Again, however, I might look at overloading so in some other manner — thank you again. ^_^

edited 14th Jul '13 3:53:55 AM by ArsThaumaturgis

My Games & Writing
JotunofBoredom Left Eye from Noatun Since: Dec, 2009
Left Eye
#395: Aug 21st 2013 at 10:39:56 PM

Thought this was appropriate for this thread:

edited 21st Aug '13 10:41:34 PM by JotunofBoredom

Umbran Climax
ch00beh ??? from Who Knows Where Since: Jul, 2010
???
#396: Aug 21st 2013 at 10:51:50 PM

i still find it astounding that after the invention of google, people choose to write about things without basic knowledge on the topic.

"Never let the truth get in the way of a good story." Twitter
JotunofBoredom Left Eye from Noatun Since: Dec, 2009
Left Eye
#397: Aug 22nd 2013 at 10:31:44 PM

Well there is a tendency for people to snap back at criticisms of believability in fantasy and sci-fi with "but it's not supposed to be realistic".

Based on that, it seems like people don't do the research when writing fiction because they don't see what real-world knowledge could possibly add to the equation.

Umbran Climax
ch00beh ??? from Who Knows Where Since: Jul, 2010
???
#398: Aug 23rd 2013 at 1:09:21 AM

I mean I get that, but willing suspension of disbelief.

"Never let the truth get in the way of a good story." Twitter
JotunofBoredom Left Eye from Noatun Since: Dec, 2009
Left Eye
#399: Aug 23rd 2013 at 3:45:49 AM

You'd be surprised how few people actually know what that means.

Umbran Climax
Tangent128 from Virginia Since: Jan, 2001 Relationship Status: Gonna take a lot to drag me away from you
#400: Aug 28th 2013 at 9:04:41 AM

Ludum Jam postmortum:

  • turns out you are allowed to bring in "base code" written before the competition, as long as it's openly published beforehand. Having the essentials of an engine beforehand is a good idea.
    • I learned a lot from the experience of coding the engine from scratch, but... a time-constrained competition like that was a bad time to be learning that stuff. We lost way too much content generation/gameplay balancing time.
  • this was the first C-based game I've tried, having done previous entries in HTML 5
    • SDL and GLEW are awesome. I use Linux, my partner used OSX, and the final port was a cross-compiled Windows binary. Ultimately, thanks to those libraries, we were able to compile the exact same C source for all three systems without even needing platform macros in our code. (gcc commands varied with platforms of course)
    • while a C-based game, most of the game code was not C, but Lua. That worked beautifully, Lua is beautiful and you should use it.

Do you highlight everything looking for secret messages?

Total posts: 480
Top