Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
ambushsabre
Sep 1, 2009

It's...it's not shutting down!
So in this video (http://www.youtube.com/watch?v=YxH_gmh6euE) Notch is editing the code in debug mode and seeing the changes in real time. Is that just a lwjgl thing, or is this some feature that I never knew about in all languages? I know Unity supported it, but I had figured that it was a feature unique to it, but if I can use it with other languages that might be awesome.

Adbot
ADBOT LOVES YOU

Shalinor
Jun 10, 2002

Can I buy you a rootbeer?

ambushsabre posted:

So in this video (http://www.youtube.com/watch?v=YxH_gmh6euE) Notch is editing the code in debug mode and seeing the changes in real time. Is that just a lwjgl thing, or is this some feature that I never knew about in all languages? I know Unity supported it, but I had figured that it was a feature unique to it, but if I can use it with other languages that might be awesome.
It's a feature of most interpreted languages. Didn't realize you could do it with Java quite that easily, but you certainly can with most scripting languages.

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!
You can do edit-and-continue in C++ for that matter if you compile with it enabled (which, in turn, tends to disable a huge host of optimizations). It's naturally a feature you have to be careful with, doing things like adding new variables can trash the state enough that it forces you to restart the application.

Rocko Bonaparte posted:

I was wondering now how common it was for games written in static languages on Windows to actually target 64-bit now?
Most major middleware engines support 64-bit already or at least have 64-bit builds: Source since 2005, CryEngine since I don't know, Unreal since UT2k4, Rage soon, etc.

It's becoming more common, but developers have been increasingly utilizing stream loading since it lets the assets drastically exceed the resident set, and once you have that, the memory constraints mean a lot less. There currently isn't a lot of incentive to release a 64-bit build as we aren't yet to the point where there's a huge need or benefit to a 2GB+ resident set.

OneEightHundred fucked around with this message at 22:15 on Nov 16, 2011

Pfhreak
Jan 30, 2004

Frog Blast The Vent Core!
Actionscript 3 question: I have a risk-like map comprised of randomly generated countries. I'm rendering the borders between countries with graphics.moveTo(border.points[0]) followed by graphics.lineTo(border.points[1...n]).

Now I want to render an interior border in the color of the country's owner. I thought this would be as easy as lerping between the center point and each border point and simply drawing the border again.

code:
dist = Point.Distance(region.center, region.border.points[n]);
newPoint = Point.Lerp(region.border.points[n], region.center, (dist-1)/dist);
graphics.lineTo(newPoint.x, newPoint.y);
While it approximates the look I'm going for, it seems to be slightly off. For example, it has an uneven thickness. Along the sections of the border that run tangential to the center<->border line, the border is thicker. It also leaves some gaps between some regions where there are sharp corners.

Is there a better way to draw this?

Vino
Aug 11, 2010
I wouldn't worry too much about 64 bit yet - there's not enough adoption to switch to it completely and it's too big a hassle to distribute 2 builds as an indie.

vvv I agree. What I meant was, maintaining and distributing 2 binaries is extra work that might not be worth it.

Vino fucked around with this message at 00:30 on Nov 17, 2011

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!

Vino posted:

I wouldn't worry too much about 64 bit yet - there's not enough adoption to switch to it completely and it's too big a hassle to distribute 2 builds as an indie.
It's not really a huge hassle if you're making it 64-bit off the bat, the main problem with porting are bad assumptions about types being pointer-sized and occasional insanities in stuff like Win64, which are much more of an issue porting to 64-bit than 32-bit.

DancingMachine
Aug 12, 2004

He's a dancing machine!

OneEightHundred posted:

Most major middleware engines support 64-bit already or at least have 64-bit builds: Source since 2005, CryEngine since I don't know, Unreal since UT2k4, Rage soon, etc.

It's becoming more common, but developers have been increasingly utilizing stream loading since it lets the assets drastically exceed the resident set, and once you have that, the memory constraints mean a lot less. There currently isn't a lot of incentive to release a 64-bit build as we aren't yet to the point where there's a huge need or benefit to a 2GB+ resident set.

It's not too hard to hit 2GB if you're doing AAA stuff and you're not simultaneously targeting consoles. But yeah, almost everybody doing dev on PC is targeting console as well, in which case they're not going to go anywhere near 2 GB.

64 bit OS market penetration is around 60% according to Steam's hardware survey, and DX10 is at 56%. So you pretty much have to make your stuff work within 2 GB, on 32 bit OS, in DX9, unless you are willing to really limit your audience. :\

Paniolo
Oct 9, 2007

Heads will roll.

Rocko Bonaparte posted:

I was wondering now how common it was for games written in static languages on Windows to actually target 64-bit now? I'm asking this after wrestling with a lot of middleware stuff that were still 32-bit by default.

It's not at all common. Of maybe a dozen recent PC games installed on my computer right now, not one has a 64-bit binary.

If there's no tangible benefit to doing it, then all you're doing is increasing your QA load for a marketing bullet point that's unlikely to result in a single increased sale.

Rocko Bonaparte
Mar 12, 2002

Every day is Friday!
Heh maybe I should stop trying to get all these 64-bit dependencies set up then. It's a shame--I was just about done. :(

roomforthetuna
Mar 22, 2005

I don't need to know anything about virii! My CUSTOM PROGRAM keeps me protected! It's not like they'll try to come in through the Internet or something!
So, I've just decided that the project I was working on was too ambitious for me - proper real-time networked multiplayer combined with trying to use anyone else's free physics engine is a disaster, I don't want to make my own physics engine, and my metagame-lobby part was just going to be (hell, already has been!) too much interface work for me to face. Rather than continuing to throw hours into it in the hope of eventually finishing a game that I'm not even convinced would be marketable, I'm thinking I should just start again, saving the reusable parts, on a game I'm more convinced would do well, and for which I don't foresee nearly as many difficulties (ditching multiplayer and all the trading/conversing/etc. interfaces that come with it, along with the networking and lag compensation that are an incredible pain in the rear.)

Now I have a question before I even really get started with my new game, based on the one difficulty I foresee - if I came here (probably not this thread, but it seemed like a good place to ask the question) with a finished (or at least alpha), working, decent game, but for which all the graphics were hideous placeholders, and asked for someone to fill in the graphics for a percentage cut of whatever the game makes, would I have a better chance of finding a decent taker if the animated graphics were 3D models or if they were sprites?

Edit: additional question - is there some sort of weird psychological reason why those loving dialogue boxes in RPGs always appear the text one letter at a time, and sometimes allow the player to speed it up a bit by pushing a button, rather than just giving you all the text? Should I do that too even though I hate it?

roomforthetuna fucked around with this message at 05:29 on Nov 21, 2011

dizzywhip
Dec 23, 2005

roomforthetuna posted:

Edit: additional question - is there some sort of weird psychological reason why those loving dialogue boxes in RPGs always appear the text one letter at a time, and sometimes allow the player to speed it up a bit by pushing a button, rather than just giving you all the text? Should I do that too even though I hate it?

Don't have advice for the rest of your post, but I have to say there's something I really like about scrolling text. I can't really explain it, but I think it would feel pretty weird for it to be missing.

The right way to go here would be to have scrolling text by default, and allow the player to turn it off (and probably change the scrolling speed) as an option.

diamond dog
Jul 27, 2010

by merry exmarx

roomforthetuna posted:

Edit: additional question - is there some sort of weird psychological reason why those loving dialogue boxes in RPGs always appear the text one letter at a time, and sometimes allow the player to speed it up a bit by pushing a button, rather than just giving you all the text? Should I do that too even though I hate it?
It can be used quite effectively to represent a character's 'voice' (sometimes literally using different pitched chirps) and in general is supposed to slow down your thinking to force you to absorb dialogue. Comic books traditionally use all-caps in voice bubbles for the same reason I believe.
Older RPGs especially gently caress this up because they're translations from Japanese which has an information density per character at least twice as high as the English alphabet, yet the text speed isn't adjusted. That mistake gets imitated and we get painfully slow speech boxes everywhere.
My preference is an options setting for text speed that goes medium/hyper/instant.

Regarding art, sprites for sure if you want quality for spec.

ZombieApostate
Mar 13, 2011
Sorry, I didn't read your post.

I'm too busy replying to what I wish you said

:allears:
I don't mind scrolling text if I don't have to wait for it, but it isn't something that I look for when deciding if I like a game or not. If the choice is between scrolling text slower than I can read and instant text, I'd pick instant text every time. Honestly, I'd just do instant text and spend that hour or whatever you'd spend implementing scrolling text on something more important and possibly come back to it after everything else is done.

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!
Usually the text speed is controllable and most JRPGs let you skip the scroll effect (i.e. just make the entire text appear) by pressing the confirm button, assuming they don't have an option to disable it entirely.

Drox
Aug 9, 2007

by Y Kant Ozma Post

The Radix posted:

It can be used quite effectively to represent a character's 'voice' (sometimes literally using different pitched chirps) and in general is supposed to slow down your thinking to force you to absorb dialogue. Comic books traditionally use all-caps in voice bubbles for the same reason I believe.
Older RPGs especially gently caress this up because they're translations from Japanese which has an information density per character at least twice as high as the English alphabet, yet the text speed isn't adjusted. That mistake gets imitated and we get painfully slow speech boxes everywhere.
My preference is an options setting for text speed that goes medium/hyper/instant.

Regarding art, sprites for sure if you want quality for spec.

I thought that comic books use caps for the same reasons most road signs do: in English, it is easier to tell capital letters apart from each other than lower-case ones. It's a readability thing.

diamond dog
Jul 27, 2010

by merry exmarx
That might make sense too, or just as likely it's pure tradition, but I've noticed a lot of comics use an allcaps-in-dialogue/regular-in-captions+narration arrangement, although examples of the latter in most books are pretty rare.

Stuff about allcaps being less legible here: http://en.wikipedia.org/wiki/All_caps#Readability
Retarding reading speed is mentioned too.

roomforthetuna
Mar 22, 2005

I don't need to know anything about virii! My CUSTOM PROGRAM keeps me protected! It's not like they'll try to come in through the Internet or something!

OneEightHundred posted:

Usually the text speed is controllable and most JRPGs let you skip the scroll effect (i.e. just make the entire text appear) by pressing the confirm button, assuming they don't have an option to disable it entirely.
That's the funniest-worst combination - it's less frustrating than being stuck waiting for slow text, but having the same button for "next frame" and "stop wasting my time with this frame" makes it very easy to miss dialogue (by pressing "stop wasting my time" when the piece of dialogue was short and had already finished appearing so it gets interpreted as "next", or by an accidental double-press) - contrary to the presumably intended effect of making it appear slowly in the first place.

That's why I asked though, thanks guys for confirming my suspicion that it's mostly just me who really hates the slow text paradigm. I'll probably go with a half-way solution of fast-but-not-instant text. Also, good point the guy who said to make it do different bleepy-bloop sounds to represent different voices while the text appears.

Also, I'm not going to do the thing that really irks me about slow-appearing text, where you appear it one character at a time and only word-wrap when the partial word becomes long enough, so the word starts to appear on one line then jumps down to the next. That looks remarkably unprofessional to me, even though I've seen it happen in professionally published games. How hard is it to look ahead to the end of the word and insert a newline if it's going to wrap? (Rhetorical.)

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!

roomforthetuna posted:

That's the funniest-worst combination - it's less frustrating than being stuck waiting for slow text, but having the same button for "next frame" and "stop wasting my time with this frame" makes it very easy to miss dialogue (by pressing "stop wasting my time" when the piece of dialogue was short and had already finished appearing so it gets interpreted as "next", or by an accidental double-press) - contrary to the presumably intended effect of making it appear slowly in the first place.
There have been a few workarounds to this. I think I've played a few where if the text ends due to scrolling, there's a short delay (i.e. 1/4 sec) delay before input is accepted.

Skip and confirm are the same button so that you don't have to keep moving your thumb to different buttons.

OneEightHundred fucked around with this message at 20:49 on Nov 21, 2011

Scaevolus
Apr 16, 2007

Have an option in your settings screen: "Text speed: [Instant] Fast Normal Slow".

Blue Footed Booby
Oct 4, 2006

got those happy feet

ZombieApostate posted:

I don't mind scrolling text if I don't have to wait for it, but it isn't something that I look for when deciding if I like a game or not. If the choice is between scrolling text slower than I can read and instant text, I'd pick instant text every time. Honestly, I'd just do instant text and spend that hour or whatever you'd spend implementing scrolling text on something more important and possibly come back to it after everything else is done.

I hate scrolling text a whole lot, and so does everyone I know, except for one guy who "doesn't notice" (I've watched him play games and he mashes the continue button like everyone else). Whatever approach you use, if there isn't an option to disable it then it had better be loving perfect, and it had better dramatically enrich dialog.

Really it's one of those things that's worse to do wrong than not do at all. I feel like voice acting is the same way.

Shalinor
Jun 10, 2002

Can I buy you a rootbeer?

Blue Footed Booby posted:

I hate scrolling text a whole lot, and so does everyone I know, except for one guy who "doesn't notice" (I've watched him play games and he mashes the continue button like everyone else). Whatever approach you use, if there isn't an option to disable it then it had better be loving perfect, and it had better dramatically enrich dialog.
Another vote for "don't auto scroll, ever" here. If you've ever got a single speech long enough that you feel the need to have a scrolling text bubble to keep up? Edit the gently caress out of that speech and break it up, because there's your problem. We're making games, not novels.

(this doesn't mean you can't have long speeches, they can be fun. It's just that, if you do, they should be broken up by a reasonable number of breaths, and mashing the button should skip to the next breath. Each breath should also move the cutscene along, if you have such a thing.)


My current approach has me treating each page of dialog as though it were its own dialog branch. Technically I could make each page have a scroll bar, but I'm starting to think I'd be better off just peppering monologue sections with solitary (more...) "branches" that lead to the next breath. If we used full VA (we're not - flavour VA only), I'd just make the VA for a breath finishing be an auto-trigger event for the (more...) button. This also means I've got plenty of hooks to move a cutscene along, with the flow of the scene turning per dialog page. Most importantly, it's set up to encourage making pages instantly skippable for fast readers.

Going this route will get you dialog-centric sequences. If you don't want that, you really need to go to the opposite extreme, and have fully scripted cutscenes that emit subtitle text line events as appropriate (which also won't need scrolling). The middle ground between the two is just ugly and a pain to use.

Shalinor fucked around with this message at 19:39 on Nov 22, 2011

roomforthetuna
Mar 22, 2005

I don't need to know anything about virii! My CUSTOM PROGRAM keeps me protected! It's not like they'll try to come in through the Internet or something!
I think we might be talking about two different things, but I'm not sure if the first guy to say "scrolling text" meant actual scrolling, as Shalinor does, or the thing previously being discussed which is text appearing gradually, that doesn't really have a name because there's no word for it.

I had an interesting thought on the subject - those people who think the letter-at-a-time text is a good thing, if a game had it as an option but defaulted to just appearing the whole block at once, would you ever bother to actively turn on "slower" mode? I know a lot of people, myself included, would turn on "instant" mode given the choice.

Svampson
Jul 29, 2006

Same.

roomforthetuna posted:

I had an interesting thought on the subject - those people who think the letter-at-a-time text is a good thing, if a game had it as an option but defaulted to just appearing the whole block at once, would you ever bother to actively turn on "slower" mode? I know a lot of people, myself included, would turn on "instant" mode given the choice.

I think it really depends on the type of the game and how important timing/pace is to the dialogue, I think for example the Phoenix Wright games uses it nicely and a bunch of the great moments would lose a lot of impact if all the text was instant (but that game is in almost-visual novel territory)

If the text is mostly "I am Error" type stuff I would either put it way fast or instant depending on how enjoyable the text scrolling sound is :v:

Pfhreak
Jan 30, 2004

Frog Blast The Vent Core!
I prefer skippable scrolling text with chirps, personally. :ohdear: I think the takeaway here is that no one is going to fault you for displaying the text too fast. But you'll catch hell if you scroll it too slowly.

MasterSlowPoke
Oct 9, 2005

Our courage will pull us through
Don't pull a

L    I    T    T    L    E                M    O    N    E    Y

and you'll be fine.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!

MasterSlowPoke posted:

Don't pull a

L    I    T    T    L    E                M    O    N    E    Y

and you'll be fine.
What is this a reference to?

MasterSlowPoke
Oct 9, 2005

Our courage will pull us through
One of the opening scenes of Final Fantasy Tactics is talking about some outlaws, and it takes about 30 seconds for those two words to autoscroll. This is a cutscene, and is thus unskippable. The phrase must have been much more verbose in Japanese?

edit:
http://www.youtube.com/watch?v=gSJRiyr05B0&t=10m40s
ignore the nerdlord providing commentary

MasterSlowPoke fucked around with this message at 23:44 on Nov 22, 2011

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!
One thing I've seen in a few games that you might want to consider if you do omit scrolling though is the ability to page back. The main advantage of scrolling is the very real usability advantage of not having to reload a save because you fat-fingered the confirm button and missed a panel.

Shalinor posted:

We're making games, not novels.
JRPGs are basically novels with the occasional anime.

AntiPseudonym
Apr 1, 2007
I EAT BABIES

:dukedog:

MasterSlowPoke posted:

One of the opening scenes of Final Fantasy Tactics is talking about some outlaws, and it takes about 30 seconds for those two words to autoscroll. This is a cutscene, and is thus unskippable. The phrase must have been much more verbose in Japanese?

edit:
http://www.youtube.com/watch?v=gSJRiyr05B0&t=10m40s
ignore the nerdlord providing commentary

Holy crap, that's just obscene. Scrolling should be much faster than you can read, that one was actually so slow that by the time it'd finished I'd forgotten how it started.

I'm a fan of scrolling text, it helps pace dialog a lot better. I've always felt like games that don't have autoscroll don't give a poo poo how they present the text to you, which just makes me feel like it probably isn't worth reading. Putting a little bit of work into the presentation helps make it not feel like a thoughtless text dump.

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!
Oh hey look what just got released:

https://github.com/TTimo/doom3.gpl

HiriseSoftware
Dec 3, 2004

Two tips for the wise:
1. Buy an AK-97 assault rifle.
2. If there's someone hanging around your neighborhood you don't know, shoot him.

OneEightHundred posted:

Oh hey look what just got released:

https://github.com/TTimo/doom3.gpl

The code is not using the "Carmack's Reverse" stencil shadow method. Is it using depth-pass instead?

ryde
Sep 9, 2011

God I love young girls

MasterSlowPoke posted:

One of the opening scenes of Final Fantasy Tactics is talking about some outlaws, and it takes about 30 seconds for those two words to autoscroll. This is a cutscene, and is thus unskippable. The phrase must have been much more verbose in Japanese?

edit:
http://www.youtube.com/watch?v=gSJRiyr05B0&t=10m40s
ignore the nerdlord providing commentary

Assuming you're using kanji, Japanese typically takes fewer characters to express the same ideas than English. I'm assuming that it displayed characters at the same rate per character, but took less overall time, making it more bearable.

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!

HiriseSoftware posted:

The code is not using the "Carmack's Reverse" stencil shadow method. Is it using depth-pass instead?

quote:

@ID_AA_Carmack John Carmack
@RyanSpeets where it can't be shown the player is outside a shadow volume, I used the "preload" technique from kb.cnblogs.com/a/28036/

According to an earlier tweet, that amounted to 6 lines of code change.

OneEightHundred fucked around with this message at 02:16 on Nov 23, 2011

Paniolo
Oct 9, 2007

Heads will roll.

OneEightHundred posted:

According to an earlier tweet, that amounted to 6 lines of code change.

code:
#ifndef GPL
DoAwesomeShadowTechnique();
#endif

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!
Hammered out a quick guide to compiling it with Visual C++ Express:

http://icculus.org/~riot/doom3_vcpp_express.txt


You lose the GUI tools and you lose the app icon because the RC files depend on the MFC includes. Aside from that, it starts and plays the game and generally appears to work.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!
So, I have a slight dilemma concerning saving rotational values of 2D objects to disk (level data). For now, each sprite has a simple rotation value, representing the local rotation around the center of the object. The editor supports 'snapping' rotation, that is, it snaps to the major values that I have decided are basically increments of 15 degrees. However, holding CTRL down allows free rotation of any amount. Currently the rotation is stored in radians. The problem is that for any value except for 0, the rotation is a very long number (pi/2, pi/4) and that's a lot of wasted space for items that are simply rotated 90, 45, 180, or any other common degree rotation. So I have two options that I can think of:

1) Use two fields, a boolean and a number, to implement simple compression. The boolean switches between 'compressed' and 'free' mode, and the number is basically an enum representing the common values (0 = 0, 1 = pi/12, 2 = pi/6, etc) for 'compressed mode', or just the raw value for 'free mode.' Downside: more complicated to maintain.

2) Store everything in degrees. Downside: need to convert into radians after loading from disk. However, this is probably a trivial cost.

What do you think? After typing it all out, I'm leaning towards #2 for simplicity, but I could be convinced otherwise.

seiken
Feb 7, 2005

hah ha ha
3) Save numbers as binary rather than ASCII so that you're not wasting 246/256 of the space in the first place?

MasterSlowPoke
Oct 9, 2005

Our courage will pull us through
Is just saving it as a float too bulky? Are you really running into file size issues or are you trying to super optimize from the get go?

roomforthetuna
Mar 22, 2005

I don't need to know anything about virii! My CUSTOM PROGRAM keeps me protected! It's not like they'll try to come in through the Internet or something!

seiken posted:

3) Save numbers as binary rather than ASCII so that you're not wasting 246/256 of the space in the first place?
3a) If your file has to be ascii-editable, implement some sort of standard encoding for your floats that uses base-62 (a-zA-Z0-9) or similar.

Or really, to keep it readable and practical, just truncate your floats when saving them - you probably don't really need that long of a number for your pi/2, 6 digits would most likely work just fine.

But if you're going for readable, switching to degrees makes more sense too, especially if you're not too worried about precision on the non-square angles - then you can write it out in degrees as an integer. The cost of converting from an integer in degrees to a float in radians is much less than the cost of reading a float as a string anyway. So just do that.

roomforthetuna fucked around with this message at 19:36 on Nov 23, 2011

Adbot
ADBOT LOVES YOU

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!
I wouldn't call it 'super' optimizing. Yes, I know the saying about 'don't optimize prematurely', but I feel like people use that as a mantra instead of a guideline. Some thoughtful design, if not too complex, can be good. And yes, it's because floats are too bulky.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply