Jump to content

Zeckul

Members
  • Posts

    283
  • Joined

  • Last visited

Everything posted by Zeckul

  1. Would be nice to get input from other Unity developers, which I'm not. Josh said NGUI precluded use of dynamic fonts, but there is support for that in Unity, and who knows, the "New GUI" system integrated with Unity might ship at some point. Watch the Unity 13 Keynote at 1:11:30 for a small demo. I would assume it allows for fully scalable fonts. It might be too late in the development of Project Eternity to re-do the GUI with this system when it ships, but I'm just throwing that out there.
  2. Red text on black background: please FFS no. Fine red detail on black gets murdered by chroma subsampling which unfortunately still happens on many HDTVs, screen recorders, screenshots, etc.
  3. I agree, the problem is the only thing the game knows about your monitor is its resolution (actually it doesn't even know that, it just assumes the highest resolution reported by the graphics card driver is the native one). At best, it can make an educated guess about the DPI (i.e. larger resolutions correlate with higher DPI). On Windows Vista and up, I suppose a game could retrieve the DPI scaling setting to get an idea of user expectations, but most people don't even know these settings exist. EDIT: well apparently Unity3d has a DPI property. Not sure if that works on Windows, is that a tablet/phone thing only? I just don't see how that could be implemented on Windows.
  4. Following your comment, I briefly researched the topic; Unity itself supports dynamically sized fonts (http://docs.unity3d.com/Documentation/Components/class-Font.html), perhaps it's possible to modify NGUI to take advantage of that. EDIT: some effort was already made to that effect (http://forum.unity3d.com/threads/165254-Unity-4-dynamic-font-support-for-NGUI) One way or another, fonts should scale with resolution to some degree; after all you'll be supporting resolutions from 720p to 1440p at least.
  5. The font is ugly. The kerning is all over the place and there are glaring misalignments like the dot on the "i". We'll be staring at reams of text for dozens of hours, please pay special attention that it's pleasing to the eye. From a pure legibility perspective I would be in favor of a sans serif font, but I can understand that for artistic consistency a serif font might look less out of place. Fonts were one of my pet-peeves with the Infinity Engine; it was even worse in Neverwinter Nights 2 as font sizes didn't scale with resolution. NWN2 is damn near illegible at 1920x1080. I hope these issues are addressed in Project Eternity.
  6. It's very impressive how close to the two pictures are. Very rarely do you see an in-game screenshot so closely match the design art. That said, I'm not too happy with the obvious rendering mismatch between characters and environment. This has been an issue for all hybrid 2d/3d games; it was an issue on ToEE, on Sacred, on Beyond Eternity, etc. Characters are always distinctively sharper and simpler than their environments. This is why I always was somewhat skeptical of the approach, but every approach comes with its compromises I guess. If this one allows you more creative freedom or less time spent optimising poly counts then it's still probably for the best. With that said I am wondering what approach will be used for environment animations. The Infinity Engine had abysmally low-framerate pre-rendered ones. With 120hz monitors becoming more popular, I hope environment animations won't be pre-rendered at a fixed framerate.
  7. Looks like you finally mastered the fine art of making video games look sharp on Youtube. I like to think my little guide I posted here a while ago helped you, in any case congratulations, this series has gone from excellent commentary + so-so image quality to excellent commentary + excellent image quality. This might be the first time in eons I watch someone else's Let's Play.
  8. VirtualDub is great for simple gaming videos. Still use it myself.Do you happen to know if the x264vfw compression result in a smaller file size respective to quality than Xvid? Does YouTube like it better? I've always used the xVid-mpeg4 codec for game/YT stuff because I'm used to it and it doesn't have any listed limitations...never bothered to figure out what settings would give similar results with the other codecs available in my VDub list. In theory, yes, x264 is way better than any xvid encoder. I haven't personally tested, I just go for the best.
  9. Wow Zeckul, thank you! I'll pass that along to Adam and Chris for our next update! I wrote that at work without the actual tools in front of me, so I got some of the names wrong. Let me give this properly: - Fraps: under the FPS tab, select "Hide overlay" so we don't see the frame rate marker on the video - Fraps: under the Movies tab, check "Force lossless RGB capture" - Virtual Dub: in the "Video" menu, select "Full processing mode". Do the same in the "Audio" menu. - Virtual Dub: in the "Video" menu, select "Compression...". In the list that appears, select x264vfw, and click "Configure". In the x264vfw configuration dialog that appears, under "Rate control", select "Single pass - ratefactor-based (CRF)". In the box below it, type 22. Click Ok and Ok again. - Virtual Dub: in the "Video" menu, select "Filters...", click "Add...", select "Resize", click "Ok". A configuration dialog appears, select "Relative" and put at least 200 there (same number for width and height). In the "Filter mode" drop-down select one of the "Precise bicubic" modes or "Lanczos3". Click Ok and OK again. - Virtual Dub: in the "Audio" menu select "Compression...". In the dialog that appears, select "Lame MP3" and 320kbps CRB Stereo. Click OK. - Hit CTRL+MAJ+F7 to queue the rendering operation. - Hit F4 to view the Job Control window, the rendering operation will be there, click Start. Profit.
  10. Please improve the video quality. I've been doing Let's Plays of Infinity Engine games for a long time and my videos have the best quality on Youtube. It's not complicated and doesn't require much time. Here is how I do it: - In Fraps, check the "Force Lossless RGB" box - this helps with red text on dark background - Download and install the following tools, in that order: 1. Virtual Dub http://virtualdub.sourceforge.net/ 2. x264vfw http://sourceforge.net/projects/x264vfw/ 3. Lame ACM MP3 codec http://www.videohelp.com/tools/Lame-MP3 - Open your raw Fraps file in Virtual Dub. If it's in separate segments, append them one after the other (File -> Append). - Under Video, set to "Full recompress", same thing under Audio - Under Video, select Filters, select Add, select the Resize filter, configure it for at least 200% upscaling and select either Precise Bicubic or Lanczos. - Under Video, select Compression... -> x264vfw, and configure it for CRF with a factor of ~22 (the smaller the better, but filesize will grow as well). - Under Audio, select Compression... -> Lame MP3, and configure it for the highest bitrate. It'll be rather insignificant anyway compared to the video data, so might as well keep the audio as lossless as possible. - Hit Shift+F7, give the video a name. Hit F4 and you'll see the rendering job added to the list. Click Start (or Run I'm not sure) and the video will render. - Upload to Youtube. Result: http://www.youtube.com/watch?v=PHF6g6vZso0
  11. I've never been a huge fan of these pantheons composed of many relatively weak deities that only care about something extremely specific (i.e. either death, or trade, or luck, etc), and still ask for the same kind of jealous devotion as the universal god Yahweh of the Bible, or Allah of the Quran. It's kind of a contradiction to only provide for a few specific needs and expect exclusive adoration in return. In the Bible Yahweh asks for complete exclusive devotion to him, but that's because all the other "gods" don't actually exist and Yahweh is absolutely ****ing omnipotent. So Yahweh's in a pretty good spot to ask for exclusive adoration. The D&D gods are not. They're not omnipotent, they haven't always existed, they won't always exist either, most of them haven't created much at all, most of them only care about a few specific things. They're basically just souped-up humans with obsessive compulsive addictions to certain things. Also it's kinda silly for all these priests of deity X to claim their deity is the one true god in a system where there's many different real gods and everyone is aware of that including themselves. Add to that that all these gods are petty and mortal, and the silliness just gets out of control. Either make people behave in a way that's consistent with these many deities' relative importance (i.e. they would usually pray to several different gods, for instance), or change the pantheon to make the gods worthy of the exclusive reverence they expect. As it stood in D&D it just wasn't believable.
  12. It's F#, a functional programming language. Once you have a good idea of procedural and object-oriented techniques, it can very enriching to learn about functional techniques as well. Take your time.
  13. My personal experience with the game industry as a software engineer has been overall not very positive. High pressure to deliver a working product under a tight schedule, stringent performance requirements, not nearly enough time to master the tools and engine - by the time the game ships is approx. the time developers start understanding what they're working with as far as technology; this all means code is sloppy, hackish, not much refactoring goes on, summary code reviews at best, metrics are non-existent, unit tests are non-existent, nobody knows if stuff is really working - "it works at my desk!" is the standard and then you hire an army of teenage drones to randomly mash buttons and produce thousands of bug reports i.e. what they call a beta test. Long hours, high stress, lots of potential candidates at the door waiting to replace you if you don't like unpaid overtime. Also C++ i.e. the by far least productive and most ****ed up language in mainstream use is endemic in the game industry, although depending on performance requirements, more or less "scripting" can get done in higher-level languages (i.e. C#, Lua, etc). One can look past all that if one's passionate enough about games, I decided I wasn't. Your call.
  14. Swollen capacitors are not caused by overheating. They're caused by being crappy regular capacitors instead of solid ones. If possible go with an all-solid capacitor motherboard. The stock cooler on Intel CPUs is abysmal but does the job if you're not overclocking. What you can at the very least do is remove the pre-applied thermal paste (using cotton swabs and isopropyl alcohol) and apply some quality one yourself. Here are some very detailed (probably too much) instructions. If you want to overclock at all, which is kinda the whole point of buying a K-series CPU, you'll need a better CPU cooler. The one I personally recommend is the Cooler Master Hyper 212+, it's 30$ and works about as well as any other including much more expensive ones.
  15. If it's Youtube, here's the procedure I recommend for maximal quality: Record at a relatively low resolution (bewteen 800x600 and 1280x720) Use Fraps to record both in-game and Microphone (it has that option for Windows Vista and up) In Fraps, record at 30fps and check "Force lossless RGB capture" Editing: use VirtualDub with x264vfw and the Lame mp3 codec. Add a resize filter to at least 1200p, using Lanczos scaling. x264vfw configuration: I leave everything at its defaults except Rate Control: CRF@22, and check the "VirtualDub Hack" checkbox. Lame Mp3: 48000hz 320 kbps CBR Stereo. Result: http://www.youtube.com/watch?v=9JtQOYutYKM
  16. Ifs and whiles are so 1970 open System let menus = [| "Lutefisk"; "Braunschweiger"; "Liver Sausage Bologna Loaf"; "Crockpot Chocolate Mess"; "Troll Souflé" |] let days = [| "Monday"; "Tuesday"; "Wednesday"; "Thursday"; "Friday" |] let printChoices() = printfn "*** Menu ***" days |> Array.iteri (fun index day -> printfn "%d. %s" (index + 1) day) printfn "0. Abort" let rec getUserInput() = printfn "Write choice: " match Int32.TryParse(Console.ReadLine()) with | (false, _) -> printfn "Invalid entry. Please retry." getUserInput() | (true, i) -> match i with | i when 0 <= i && i <= menus.Length -> i | _ -> printfn "Invalid entry. Please retry." getUserInput() let rec mainLoop() = match getUserInput() with | 0 -> printfn "Goodbye!" | i -> printfn "%s serves %s." menus.[i - 1] days.[i - 1] mainLoop() do printChoices() mainLoop()
  17. If you can wait for Haswell (due by June 2013), do it, otherwise the obvious choice is the i5 3570K (Ivy Bridge). As for memory, 4-8GB, an SSD if possible, and for the GPU, prices fluctuate all the time so check our a comparison like this (updated every month) by the time you buy. Don't go overboard with the GPU, it's better to buy in the value sweet spot and upgrade more often than putting a lot of money into some power-hungry heat monster that'll be just as outdated as anything else in 2 years.
  18. WIth every update I am pleasantly surprised with the sound technical choices being made, the approach to this as a game that must "feel right" and provide various tactical options yet remain accessible. I can't say if it'll dethrone BG2, but it's sure lining up to be a resounding success, and probably a much better game than Icewind Dale 2 at least.
  19. CS stands for Computer Science btw... I think the puzzle element should be kept light and easy. Few people play these games for the intellectual challenge. Mathematical enigmas are particularly bad because those with solid algebra will only be slightly annoyed while everyone else will google the solutions. The genie in the Circus of Athkatla (BG2) was an egregious example of this, requiring to solve an equation with two unknowns and an infinity of solutions.
  20. My question to Steve: In a recent interview (question 16), Trent Oster (of Overhaul Games, i.e. BGEE) said he wouldn't use Unity for an eventual BG3, citing optimization concerns. What are your thoughts on that quote or on using a pre-made engine like Unity instead of developing your own specifically for the game you're building?
  21. I've been a programmer in the gaming industry (very briefly, but still) and I have friends from university working there, so maybe I can answer. There's a variety of programmers there: engine developers who need to master memory management and all the dark corners of C++ and bit fiddling; graphics programmers who need very solid math skills; AI programmers who need to know, well AI techniques and have a good understanding of game design as well, because the two go hand-in-hand; tools programmers who must know how to build traditional windowed applications (typically in .NET); and gameplay programmers who should just be really smart at figuring **** out. All of these need to be pretty good at math and geometry. IMO just reading the right books and coding on your own, outside school assignments, goes a long way towards making you stand out for a game programming (or any programming) position.
  22. Nice to see so little effort is going in Programming and Production relative to the other disciplines: I suppose this is largely due to choosing Unity as the game engine.
×
×
  • Create New...