• Content count

  • Joined

  • Last visited

Community Reputation

736 Good

About serioso

  • Rank
  1.   Pretty much what I would suggest, based on the description of the kind of thing you're looking to build.   Assuming you only need 2D, you can also consider using a framework such as paper.js, which sits on top of canvas but also provides some abstractions for scene management.   If you need 3D, you might want to look into babylon.js or three.js.
  2. You didn't include the .sln or the .csproj files as part of your commit - so it's impossible for anyone reviewing this to actually be able to compile and run your project. Without that, we're limited to just looking at the code and guessing at what it's supposed to do and how it's all supposed to fit together.  I suggest you grab the .gitignore file from here:   Save it to your project root, and then commit anything that it doesn't filter out.   Also, are you using ASP.NET MVC proper, or are you using ASP.NET WebForms but with an MVC-like architecture?  I can't really tell because you got .a cshtml file with what appears to be Razor syntax, and you're calling it the "controller" (slash "code behind").  Controllers should have a .cs extension (they're classes that inherit from the Controller class, and have methods that return ActionResults), and they shouldn't have Razor in them - so that really looks more like a view. Also, there is no concept of "code behind" in ASP.NET MVC.  So I'm guessing you might be using WebForms?  But then you would have .aspx files, not .cshtml.  So in short, I'm a bit confused - you seem to be mixing or misusing frameworks here.  Or maybe it's me who's losing my mind.  (Please inform me immediately if that appears to be the case.)  If you're intending to use MVC, then I strongly suggest you work your way through some tutorials first.
  3. So, to clarify, are you looking to make an HTML5/WebGL game engine (along with a proof of concept game)? Or something more like GameMaker, where people can design games using a simple drag-and-drop style interface without code, but web-based?  Or are you just looking to make a basic proof-of-concept game that's open to expansion?   As far as game engines go, you should check out Babylon.js.   I'm sure there are good examples out there of something closer to GameMaker, but perhaps someone else could speak of those - I haven't tried any.   As far as proof of concept style games, check out BrowserQuest.  There's a fork of it on GitHub that's still under active development.
  4. Progress Bars

    There is an art to making good progress bars.  It takes a lot more time and effort than anyone is ever willing to put into it, and as a result they are often overlooked.   There is something inherently pleasing about watching a good, well-designed progress bar load to completion.  I've thought about this quite a bit before, and for some time, I've become rather obsessed with them.  I would download and install a bunch of things I didn't need just to watch progress bars.  I share my conclusions below.   The motion of an ideal progress bar should resemble the plot of a novel.  It's not terribly interesting to watch a progress bar zip right through to the end without encountering a hint of difficulty along the way.  Would you enjoy reading a novel that didn't have a plot or an antagonist?  That would make for a boring novel!   The progress bar should start off confidently, ramp up some speed, but slow down around 15-30%.  It doesn't mean stop - you don't ever want a progress bar to stop entirely - but it should start to visibly struggle. It should not stutter or jump around violently or go backwards or anything like that, but its progress should become unsteady.   It should come in waves.  These waves should build up overtime.  It you got some things you need to load that you're uncertain about time-wise, the 30-80% range is the ideal time to load those things.   The climax portion is the most important part.  This is where shit gets real.  You should slow that sucker to a crawl (but don't you dare stop it entirely or I will find you).  If you're printing out any sort of details about what's loading, this is the part where you start spitting them out rapid-fire.  Make it up if you have to - write you're "Reticulating splines" for all I care - if you do it right, I won't have time to read it anyway.  If you're thinking about writing to the hard drive, this is the time to do it - make some noise with it.  If you don't have anything you need to write, implement a hard drive stress test algorithm and run it during the 80-95% range.   Don't you dare let me down in the last 5%.  There is nothing more disappointing than a progress bar that just disappears when it reaches 99%.  If you do this, I will go to your house and tear out the last page of every book you own.  If you get nothing else from my rambling, at least remember this, because it should be relatively easy to implement, but it needs to be done deliberately: Pause - for just a brief moment, pause when you reach 100%.  Will you promise me that you will do this the next time you implement a progress bar?  Just put a Thread.Sleep(500) in there once you get to a 100%, that's all it takes - but it makes all the difference in the world.  Don't make it too much shorter than 500 ms, or it will look like it just disappeared, but not too much longer, because you never want a progress bar to hang.  A half-second delay to give some closure to the ordeal, that's all.  Please do it.   So there you have it.  I hope we can all walk away from this being slightly more attentive to these finer details of the user experience and give progress bars the attention they deserve.  Thanks for reading.
  5. Have I missed anything?

    [quote name='Net Gnome' timestamp='1332933006' post='4925953'] Sounds like Mozila though came up with an HTML 5 / JavaScript MMO called [url=""]BrowserQuest[/url]. Perhaps we could leverage that to make the hockey HTML MMO [img][/img] [/quote] We should do this! Then, we should dig up that legendary old thread (does anyone remember the username of the guy who wanted to do this?) and tell him he's not crazy after all.
  6. Parsing String sometimes doesn't work.

    The null character is not considered whitespace in Java. You'll either have to adjust your regex to "[\0\\s]+", or clean up your input data files (if you have that option).
  7. Change notifier for a window?

    I'm not 100% sure of this, but let me take a stab at it... Assuming you're using Windows, and are willing to hack together a quick program, something like this might be possible to implement using hooks. You're probably interested in intercepting the WM_PAINT message whenever the target window receives it (you can find the window handle using Spy++ if you have a non-Express version of Visual Studio, or look for an alternative). If you're willing to do this, you can start by reading about the SetWindowsHookEx() function.
  8. You know, I've this idea...

    I would like to express my sincere support in favor of this idea. As a university student who cannot assume that his teacher has any particular library installed when compiling my projects, as well as someone who is currently contributing to a project whose external dependencies must be kept to a minimum, I often find myself having to reinvent the wheel when a perfectly acceptable solution exists elsewhere. The world would be a better place for all if everybody distributed their libraries as single header files. Also, I agree wholeheartedly that copy/pasting code directly from the browser is easier than having to clone someone else's repository. Sometimes, even downloading a tar archive and having to extract it is enough to put me off from using someone else's code (especially if I know nothing about its quality). The only concern I might have about this is that you'll have to put some work into getting picked up by Google, whereas with github, I think it should be automatic. But I don't know whether or not github makes it easy (or even possible) to copy/paste the code from the browser.
  9. What is the rationale for including achievements, experience points, leveling systems, emblems, and other such "reward systems" into games? I've been seeing this happen more and more in FPS games (most recently Modern Warfare 2) which don't have "monthly subscription fees" like many online RPGs. With monthly subscription games, the benefit of reward systems is relatively obvious: if you get your players addicted, they'll continue playing -- and paying -- and the game company will profit. But with FPS games, the benefit (if any) is much less obvious, and I'm trying to figure out what it is. Is it as simple as games designers just wanting to add some more spice into their games? Make an otherwise bland and repetitive shoot-em-up more interesting and varied? Or is there a more nefarious reason? For example, Modern Warfare 2 recently came up with an expansion pack -- basically, they recycled some old maps from the previous version of the game and charged $15 for it. Since the game has been out for some time, you'd think everybody had forgotten about it by now and moved on to something else. But alas, people bought into the so-called "stimulus pack" with record-breaking numbers [1] which is possible, I think, only because of how addicting that game is. And the addicting element is, of course, the numerous reward systems that are present in that game. What are some other possible reasons why we see reward systems in virtually every game out there today? Is it the game industry's "copy machine" doing its thing -- game designers are including it simply because everyone else is? Do you view reward systems as being exploitative of their players? What do you think of the following quote by Jonathan Blow about the reward systems present in World of Warcraft? Quote: That kind of reward system is very easily turned into a Pavlovian or Skinnerian scheme. It's considered best practice: schedule rewards for your player so that they don't get bored and give up on your game. That's actually exploitation. . . . Developers should provide activities that interest players rather than stringing them along with little pieces of candy so that they'll suffer through terrible game play, but keep playing because they gain levels or new items. [2] Should game designers stop including these addicting reward systems into their games and focus more on other ways of making their games fun and innovative? Or do you think that the blame rests more with the players -- after all, they're the ones who buy these games, and as long as they continue doing that, there's no reason for game designers to abandon something that works? Please share any other thoughts you have on reward systems in video games! I'm currently in the process of writing a paper on the topic and your input would help. Alternative viewpoints welcome -- you can probably tell what mine is (I didn't put much effort into hiding it). Thanks!
  10. So...

    This morning, I decided I want to become a wine snob ("connoisseur"). I never had wine before. Where should I start?
  11. Need some bad game ideas...

    Well, I was going to suggest something along the lines of a city bus simulator, but turns out it's already been done before.
  12. Hello, I have what is probably a very simple conceptual question, but I'm having some trouble thinking it through. I'm learning OpenGL (using C++) and I'm working on a simple application where the user gets to control a train. (At this point, I don't have tracks for the train, so it's really more like a bus with several jointed segments). Suppose you have a train with 4 cars: And suppose it's moving forward at some speed and the user wants to turn it to the left. I'm a little confused how to go about making the last three cars follow the first one correctly -- in other words, the train shouldn't "fall apart", and also, each car should always face the right direction. At the moment, I have a class for the whole train (Train), and a class for each car (Car). For each Car, I'm keeping track of the current position, the previous position in the last frame, the current direction, the previous direction, and I'm also keeping pointers to the car ahead and the car behind: float pos_x, pos_y; // Current position float prev_pos_x, prev_pos_y; // Position during last frame float dir_x, dir_y; // Current direction float prev_dir_x, prev_dir_y; // Direction during last frame Car *ahead, *behind; // Pointers to the car ahead and the car behind For the Train, I'm keeping track of the first car, the speed, and I also have booleans for whether the train is currently accelerating, decelerating, turning left, and turning right: Car *first; // The leading car in the train float speed; // Speed of the whole train bool is_accelerating, is_decelerating; // Whether the user is pressing up or down bool is_turning_left, is_turning_right; // Whether the user is pressing left or right I'm probably going to have to have something for how fast the train is allowed to turn depending on its speed. Not yet sure what else. Suppose we also have the following constants: const float length = 3.2f; const float joint_offset = 1.5f; And just for clarity, the "joint" is what I call the part where two adjacent cars are attached. The cars should pivot about these points. Anyways, here's what I'm wondering about: 1. How do I correctly update each car's direction per frame? Am I supposed to interpolate between the direction of the current car and the direction of the car ahead? Should I subtract the car ahead's position from its previous position to obtain a delta_pos vector and add that vector to the current car's direction vector to obtain the new direction? 2. How do I correctly update each car's position per frame? Obviously, this should (eventually) depend on the speed of the train. Should I just use pos and prev_pos from the car ahead? I apologize if this is a simple question -- it certainly doesn't seem that way to me, but then again, I am kind of a beginner and I've never really coded something like this before. (I'm also kind of sleep deprived.) I hope someone can help me understand the intuition behind this problem. Thanks in advance.
  13. Guys, thanks for all of your help. I really appreciate all of the comments. I actually have someone who will be helping me assemble the parts together, so I don't think there will be a problem in that regard. He'll be walking me through everything he's doing, so I'll still hopefully learn from this. Also, I am a comp sci major and my school does provide me with MSDNAA membership, so I'll be able to get Windows 7 for free. Here are some significant changes I've made: I'll be getting the Radeon HD 5850 card as per Fiddler's suggestion. I also opted for a slightly different motherboard: Asus P6T Deluxe v2. This is only because there was a promotion for it that made it equivalent in cost to the EVGA board I picked, but this one seems to have a few more capabilities. Next, I also went with a WD hard drive instead of the Seagate. Also, the RAM jumped up in price from $110 to $150, so I opted to go with Corsair RAM instead. I won't be getting the Antec Cooler, but I haven't decided yet what I will be getting instead. Research is pointing me toward the TRUE cooler, but it's kind of expensive so I'll have to think more on this one. I'm also going to spend some more time researching a power supply - I'll try to find something that's modular and more power efficient. I also don't want to get one yet because I don't feel like I understand them well enough. So the wattage requirement of each component adds up, and the PSU wattage must be greater than this sum? But for amperage, you only need to get a power supply that has a 12V rail that's rated at whatever amount of amps that's equal to the most demanding component? Once again, I appreciate all the helpful comments!
  14. Hello, I'm currently researching parts to build a PC. I've never built one before, so I could use some help and would welcome suggestions. My budget is about $1,300 and my purpose is to build a relatively high-end gaming PC. Some things I already decided on: CPU: I will be buying the Core i7 920 CPU ($280) and I plan to overclock it to a moderate degree. Based on my research, the 920 is the best CPU for overclocking and is fairly cost effective. Video card I've spent a lot of time looking at these and I think I should go with EVGA GTX 260 Core 216 "superclocked" edition (Cost: $200, or $170 after MIR). At this point, I will only be purchasing one (I will not be doing SLI), but I want to keep the possibility of adding another one in the future (so I need to pick a compatible motherboard and power supply). The other components I'm still deciding on. I'm listing some of the options I found and would definitely appreciate any recommendations in these areas. Case What I'm looking for: a case that has great cooling and a somewhat attractive design. I also hate noise. Should be full ATX size. Current choice: Antec Nine Hundred Black Steel ATX Mid Tower Computer Case Product Link Price: $110 Possible deal: -$25 combo discount with: Seagate Barracuda 7200.12 ST31000528AS 1TB 7200 RPM SATA 3.0Gb/s 3.5" Internal Hard Drive - OEM. $110 case + $90 hard drive - $25 discount = $175 for case + hard drive COOLER MASTER HAF 932 RC-932-KKN1-GP Black Steel ATX Full Tower Computer Case Product Link Price: $140 Possible deal: $100 at Fry's Great cooling and design, but some reviewers point out issues with dust. COOLER MASTER RC-690-KKN1-GP Black SECC/ ABS ATX Mid Tower Computer Case Price: $70 Potential deal: -$45 combo discount with: Western Digital Caviar Black WD6401AALS 640GB 7200 RPM SATA 3.0Gb/s 3.5" Internal Hard Drive - OEM. $70 + $75 hard drive - $45 discount = $100 for case + hard drive. Cheaper than the other options here, but doesn't look quite as attractive. Some reviewers point out that the bottom-mounted PSU can be problematic when assembling the system. Cabling may also interfere with air flow. Motherboard I could use some help here! Some basic requirements: it must have an LGA 1366 CPU socket type and should probably be full ATX. Other than that, I like easy settings for overclockers, support for 2 video cards in an SLI config (and perhaps an extra PCI-e slot to spare), and something that will last me a good time allowing for the possibility of upgrades in the future. Also, I value good audio quality (in fact, I might decide to get a sound card at some point). Good reviews and your recommendations will probably be the deciding factor, as I'm not too sure what else to look for. List of all compatible motherboards on NewEgg My default choice is the EVGA E758-A1 for $280 ($260 after MIR), simply because it has the most ratings and it sounds like a middle of the road kind of choice. It has utilities for overclocking easier, which is also a plus. Also, there's a -$20 combo discount for this board with the GTX 260 video card. Power supply Based on the rest of my config, as well as my intention to overclock, and my desire for upgradeability in the future, I decided to aim for an 850 W power supply. Is that too much, or too little? Also, the GTX 260 video card specs recommend 36 amps on the +12V rail. However, I've read many reviews on NewEgg where people post their entire builds, and I've seen that many people successfully run the GTX 260 (even 2 in SLI) on power supplies that only provide 30 amps. A modular power supply would be a plus, but they tend to be way more expensive. My current choice: CORSAIR CMPSU-850TX 850W ATX12V 2.2 / EPS12V 2.91 SLI Ready CrossFire Ready Active PFC Power Supply Price: $140 ($110 after MIR) It has a single 12 V rail, and the output is rated at: +3.3V@30A, +5V30A, +12V@70A, -12V@0.8A, +5VSB@3A RAM Would prefer about 6 GB, and the faster the better. Many manufacturers advertise they're "compatible with Intel's X58 boards and Core i7" - I've been going for these, although I'm not sure how much this matters. Current choice: OCZ XMP Ready Series 6GB (3 x 2GB) 240-Pin DDR3 SDRAM DDR3 1600 (PC3 12800) Low Voltage Desktop Memory Model OCZ3X1600LV6GK Price: $130 ($110 after MIR) XMP means it should be relatively easy to overclock, which is a plus for me (and for the i7-920, memory needs to be overclocked because the memory clock in the CPU runs at a slower 1066MHz). There's a slightly cheaper version of essentially the same RAM here ($110 after MIR), but many reviewers had difficulties getting it to run with the rated timings. Also, there's a -$12 combo discount for this memory with the CPU. CPU Cooler Since I plan to overclock, it'll probably be a good idea to get one of these. Current choice: ARCTIC COOLING Freezer 7 Pro Rev.2 92mm Fluid Dynamic CPU Cooler Price: $33.98 Hard Drive Looking for about 1 GB and preferably 7200 RPM Currently going with the combo deal with the Antec Nine Hundred Case: Seagate Barracuda 7200.12 ST31000528AS 1TB 7200 RPM SATA 3.0Gb/s 3.5" Internal Hard Drive - OEM Price: $90, but there's a $25 combo discount. CD/DVD burner No need for anything fancy here, but they're not really expensive. Going with: HP Black 24X DVD+R 8X DVD+RW 12X DVD+R DL 12X DVD-RAM 16X DVD-ROM 48X CD-R 32X CD-RW 48X CD-ROM SATA 24X Multiformat DVD Writer for $32. The total for this system comes out to be $1,239 before all the rebates, and $1,139 after, so I'm well under the budget and there's still room to step up a couple of the components. (Or I could buy myself a nice gaming keyboard and mouse, like the Logitech G5 and the G11). Now I have some questions. 1. First and foremost, did I miss anything!? (I think I got everything covered, but keep in mind it's my first time.) Will I need to buy all the cables, or do those generally ship with the parts? Are there any other accessories I might need? I bought thermal paste, which I think is necessary to install the CPU cooler. Anything else? 2. Can someone briefly glance through the list to verify if these components are actually compatible? Again, I tried my best to make sure all the connectors and sockets match, but I wouldn't be surprised if I overlooked anything. I'm especially worried about the power supply because that is the component that I understand the least. 3. I would highly appreciate any suggestions you may have about this build. Are any of these parts perhaps a bit excessive? I'm going for performance, but at the same time, I don't want to pay $100 extra for an increase or benefit that I won't even notice. I'm not feeling too sure about the motherboard because I didn't understand a lot of the tech specs - I chose it more or less randomly. Is my choice ok? Any other suggestions. I also have a couple more general questions: 4. I plan to overclock the CPU and the RAM (and the video card is factory overclocked). Is it a bad idea to run overclocked 24/7, or do people generally do it without problems? I'm also wondering if it's a setting I can change while I'm running, or if I have to reboot the computer and go into the BIOS each time I want to enable/disable overclocking. 5. For people who build computers regularly: I'm just curious about how the nature of "upgrading" for you is different from the mainstream. For people who buy pre-built systems, doing an "upgrade" is something that is done perhaps yearly, and all at once. For people who buy components and do the building themselves, does upgrading tend to be a more "progressive" process where you might buy a component here or there when you see a good deal, swap components from one system to another, or perhaps even build an entire system from a stash of spare parts you've accumulated over the years? I'm not sure if this is a weird question or not, but I really am wondering... 6. I noticed there's a high variation in price for RAM as well as power supplies and many other components with nearly identical features. Do "brand names" play a role here? 7. I couldn't find the answer to this: if you want, say, 8 GB of RAM, is it better to buy 2 x 4 GB or 4 x 2 GB? Judging by price, I'm guessing 2 x 4 GB - is it just faster? 8. Many components come with optional $20-$30 warranties. Do you recommend buying some of these warranties, or are they pointless? If a component gets shipped to me "Dead on Arrival", I can return it without a warranty, right? And if a part stops working a month in through no doing of my own, I can expect to be able to return it also without a warranty, right? I would appreciate any amount of feedback you guys could give! This took weeks of research , and I feel like I'm almost ready to take the plunge. I just need some confirmation before I go and spend over a thousand dollars on this. Thanks in advance.