• Advertisement


  • Content count

  • Joined

  • Last visited

Community Reputation

45278 Excellent

About frob

  • Rank
    Moderator - Mobile & Console Development

Personal Information

  1. Can I re-use an offline game?

    People have been successfully sued for this. Other people have done it, received legal demands from the owners, continued, and had no major consequences. Other people have done it, then were noticed and ignored by the owners. Other people have done it and were never noticed by the owners. You need to ask permission, then have a lawyer get an agreement that gets you the permissions you need. If you don't ask permission you need to work with a lawyer to find out what your legal risks are, and how much of each of those risks you're willing to tolerate. The risks for this type of willful infringement are potentially quite devastating.
  2. Setup golf ball physics

    It's always a possibility. More likely it has to do with masses and other physics properties, though. Typically there are physics values set to bad values. Getting values that are suitable for the simulation and close to real-world reactions can take time to get right. You mention it supports rolling resistance. That's based on the mass of the object, its velocity, and the coefficient between two surfaces. Get any one of them wrong and the function won't work as expected.
  3. Setup golf ball physics

    If your physics system supports rolling resistance, it belongs there. Unfortunately it isn't often supported. If it doesn't support rolling resistance, it is probably something you'll need to simulate. The easy/lazy form is to scale your velocities slightly while rolling, such as every time step multiplying by 0.99f or whatever works for your game. You'll need to get both linear and rotational velocities if you go that route. A more complex method is to figure out the rolling resistance. The coefficient of rolling resistance is something you can calculate or look up online, it will likely be something around 0.01 or so. Compute the magnitude of the force (mass * downward gravity or forces * rolling resistance coefficient), then apply that force in the negative velocity directions clamped at the force needed to stop the object.
  4. It seems your questions themselves state the solutions. Starting the label with Religious should be a cue to most people. Maybe adding "Meaningful" or "Sensitive" would add a further note to the user to the user. If I saw the branch in the tree was labeled "Religious & Culturally Meaningful" I'd pause a moment before doing too much with it. The label immediately communicates to me that it contains stuff people have fought wars over and I better not throw it around casually. Then I'd cluster everything inside that. Perhaps on organizational tree by religion, another by geography, and allow for significant overlap between them. Then under that your regular organizational structure by body area or whatever. There are many items of clothing that one group considers sensitive where another does not. Scarves and shawls and caps and hats are casual in one culture, but may appear similar to one that another group considers part of their vestments. That could cause some confusion, and could allow for items to appear in many places, both in the religious and the non-religious clothing groups. You described it here well enough. A label of "Religious & Culturally Sensitive" is clear to me that you aren't talking about cowboy hats, wooden shoes, or local clothing. If someone asks, you can describe it as you did in this post. It means clothing that is significant to various groups and should be used with respect and forethought. But as mentioned above, that doesn't mean anything outside that cluster can be used freely. A lacy scarf is meaningless to one group, or part of religious garb for another group. The person using the clothing needs to be aware of the context.
  5. Based on their Wikipedia article, Riot started as a group in a basement in 2006, they needed two rounds of funding bringing in $7M in 2008 for the first, $8M in 2009 for the second. That funded them through the initial release in 2009 when the game did amazingly well. Supercell has a more tricky history since they were already doing things. It looks like they had about $12M in funding which helped them build Clash of Clans, Hay Day, and the others they acquired quite a bankroll. I note that they had three commercial failures before their first moderate success. SoftBank had bought them out and the company had an estimated worth of $4B before Clash Royale entered development. Looking at it another direction, the typical estimation is to count the number of work-months and add four zeros, or $10K per person per month. In expensive regions it is now closer to $15K per person per month, but whatever works for you. Look over the credits list of games you feel are comparable to what you want, then do some multiplication of development months, number of people, and cost per month. From your minimal description, if you require that same production quality with a broad commercial release, that will easily cost $10M, probably more. Also note that LoL has had enormous work since that initial launch, so they're probably even more than that if you want TODAY's quality. $15M or $20M, perhaps? But that's only because you dared us to guess the cost of two commercial projects that ship globally. If you're looking for a hobby game that only has a small number of graphics and no testing, no marketing, no public release, the cost would be far less.
  6. An interest for Unity Engine

    The term was created to refer to games where the infrastructure required a massive transformation. The term has become seriously abused by people who don't know any better. If you ever hear of a small project being called an "MMO", it is like seeing a crop duster and calling it a fighter jet, or a two story building and calling it a skyscraper. Online games can trivially handle ten or twenty players. The first good one came up in 1978 (just called MUD for Multi-User Dungeon). Variation after variation of network games grew up after that. Games up through the mid 1990s were limited by network capacity. Playing by modem made things difficult, but the engineering was amazing. Games like the original Warcraft or Command and Conquer pushed the hardware of its days, especially when you consider it was designed for less than 300 bytes per second. That is about one megabyte per hour. Many games these days push more data than every minute. Games grew and network capacity grew. Games servers could handle hundreds of concurrent players. Many games grew to support thousands of concurrent players. But there is a limit to what the servers can handle. At some point, varying by game but generally in the 1000-5000 concurrent player range, there is a cap for what can be done. It is extremely difficult and costly to cross that limit. Instead of being something that can be easily handled with a few computers, it is something requiring an enormous amount of infrastructure. It is no longer just a collection of servers, it becomes a globally distributed grid of complex network architecture requiring an army of IT folk and millions of dollars to maintain. That threshold is when you get the extra M. Crossing that boundary is expensive and is among humanity's modern marvels. It is the first time in human history so many people have simultaneously collaborated in a single entertainment world, and very few companies have pulled it off. A million bucks won't keep the lights on around the globe for a single week. Unity and Unreal are both free. Try them out, see what you like and what you dislike. Every game engine puts limits out there. Working with a race car engine puts limits on what you can do, like not working on a motorcycle or not working on an airplane. If you want to build a motorcycle start with a motorcycle engine. If you want to build an airplane start with an airplane engine. There are designers who want a motorcycle with the power of a race car that can pop out wings and fly like an airplane, and they feel limited that engineers can't build it. As far as the code goes, software is software and you can do anything that you can make the computer do. I've worked on Unity projects that are abysmal, they look like someone's college freshman project. I've also worked on Unity projects that were beautiful masterpieces, the developers were constantly revisiting the code to keep everything in great shape. The same about Unreal, projects that smelled of open sewage, and projects that could have been displayed in a museum. You can't blame the engine. Engines will shorten the work you must do because someone else has done much of it. But you still need to use all those libraries, and that is still work that you must do. Can you make all the parts of a modern game by yourself? Can you code up all the basic math, the linear algebra and quaternions, statistics, the discrete math, and all the rest by yourself? Can you personally implement networking systems, NAT punchthrough, UPnP, or maintainconnectivity meshes? Can you personally handle the math of physics systems, continuous collision detection and collision response, and arbitrarily shaped meshes? Fluid and cloth dynamics? Can you personally implement rendering systems, with multiple layers of shaders, with articulated mesh processing, dynamic level of detail processing, with lighting and shadowing, or even for dealing with the fact that eyes don't have a linear response? Can you personally implement audio systems, with algorithms for mixing and computing positional audio, for blending audio levels, for ensuring that audio mixes correctly and dealing with the way audio also doesn't have a linear response? Can you handle all the various types of input your game needs, keyboard and mouse and gamepads and joysticks or whatever other HID is plugged in? Even if you are using the engines, do you know how to put those parts together? If someone gave you a suitable math library could you implement all the math processing needed by the game? If someone gave you a suitable physics library could you simulate objects moving in a realistic manner? If someone gave you a suitable animation library could you process the motion of the models? If someone gave you a suitable networking library could you get all the communications established between arbitrary computers? Having the engine alone does not grant the knowledge of how to use them effectively. Game engines have a large body of existing functionality, but if you are going to make a game you still need to work with all the systems and put them together. It is an enormous body of work that few humans understand. Most games are written by teams of programmers, and artists, and animators, and audio engineers, and effects engineers, and tools folk, and many other people whose work comes together in the end. Each person has a general idea of what the others do, but they are a specialist in their tiny subdomain of the project. I hope that encourages you to learn more, to do more, and to join in with the teams who do great things. But I also hope it dissuades you from the irrational; you won't be making the epic MMO by yourself any more than an unprepared beginning hiker could scale Everest. But given years of practice and dedication, you can be part of a team that makes the epic MMO, or work to join the crowd of experienced mountain climbers that work together to scale the summit. As a beginner, using a game engine can help you climb the hills. It is a tool that can help you climb mountains that would otherwise overwhelm you. If you invest the time and effort you should be able to craft games, and you as an individual or small team will still be well within their capacity.
  7. It is there, but you're right that it is confusing. In the Solution Explorer window, select the project. A toggle button at the top should be available called "Show All Files". When "show all files" is enabled it shows the actual directory structure. When "show all files" is disabled it shows the Filters view. Filters can work when you've got a large complex project and the directory structure doesn't match the logical structure. Consider a project that has publicly-exposed portions for modding or third party development and hidden portions kept internal to your organization. That project might have headers in one area of a source tree, proxy or intermediate or other PImpl implementation files in another, and the internal or private use headers and implementation files in a third and fourth location. There are other cases, but that is probably the most clear within this industry. The filters can put all the different pieces (the public headers, the publicly visible classes, and the internal non-published code) all together in a logical place to make it easier for developers to work with. When you want to switch between them, hit the toggle button.
  8. An interest for Unity Engine

    What package? The one from Pluralsight currently being offered through Unity's ad banner? I'd guess it probably isn't worth it. Everything you need for learning Unity is already available through online resources if you're willing to do the work of studying it out. You won't have as much hand-holding but thousands of developers have done it. I don't know of a package like that for learning to develop on Unix systems. That also can be learned fairly easily from online sources for free. Go look at the game credits for the games. Mainstream shooter games require several hundred work years to complete. Actual MMOs have budgets that are easier to measure in billions rather than millions. If you think smaller (dramatically smaller) there are things you can build. The commercial shooters take several hundred work-years to complete, but working nights and weekends gives about a half work-year per person per calendar year. You'll need to scale your game plans back accordingly. People can invest hundreds of hours to build a simple shooter using existing tools. There are tutorials online and asset packs if you would rather start with those to save you even more time. A true MMO (actually massively multiplayer with many thousand concurrent players and data centers around the globe) is not an option unless you have access to over a hundred million dollars. However, a simple online game is relatively easy to make by leveraging existing tools and tech. The major engines have some multiplayer functionality built in. I've seen quick prototypes built using those tools created within a day or two of work, but it was done by experienced developers who know how to use them. It is extremely common for beginners to want to make those things. Many people take those desires and eventually get jobs where they work with large teams to create those products. So don't give up, just realize it is improbable to make them on your own. That is possible, and actually more likely than building the other projects on your own. Still unlikely, but possible. If you finish your degree, and if you go get a few years of industry experience, and if your friends are also suitably educated and experienced, and if you can find investors willing to fund you and back the project, and if you have a solid business plan that includes how you intend to make money as a business and ensures you do all the actions required to actually turn a profit... if all those things work out (there are a lot of if's) then it is possible. Most of those studios that become successful don't start out making their magnum opus. They typically start by doing contract work for larger companies, and slowly but surely develop enough money and resources that they can branch out to their own small products with their profits. Trying to stay close to your question: Stay in school and make sure you get the degree. Download Unity and in your spare time follow some tutorials and demos. Make some simple games with your friends. You'll learn a lot in the process even if you don't make the next blockbuster game.
  9. Generally no, unless they happen to be in something specific that they need. A game company that is particularly hurting for art-related tools may give preference to your CS degree with a minor in art. A game company facing pains in their physics or math libraries may give preference to a CS degree with a minor in physics or math. Generally no, not a problem. At the entry level it shows you have multiple interests, with those interests potentially matching their needs. After several years in your career and after you have some professional experience your degree details become less relevant. After 5-10 years the schooling will drop to a tiny blurb on your resume with no significant details about what you did there. The "Computer Game Design" will get a chuckle from some studios. Usually a school's "design" course has nothing to do with game design, and you aren't applying for a designer position. Some are actually oriented around game design, but in that case you're still not applying for a design position. Art and music technology are both slightly more likely to help you get a job. But neither will guarantee it, and it only helps if the potential employer happens to have an overlapping need. Take the extra courses and gain the extra knowledge only if BOTH (1) the extra courses won't jeopardize your primary degree, and (2) if they are topics you are genuinely interested in. If you're doing it because you think it might give you a better chance at a job rather than a genuine interest, don't bother.
  10. Don't. This is a discussion site, not a Q&A site. You aren't the only person in the discussion. Programs like BigScreen are okay when you're watching movies that can be blurry, or are surfing the web with a heavily zoomed screen. It doesn't look so good if you're trying to read text or manipulate details, or if you're doing something that requires crisp screen updates.
  11. Here's how I scan across it. REALLY BIG NAME, DECLARING YOU'RE A SOFTWARE ENGINEER. ABOUT THREE INCHES TAKEN BY YOUR NAME, "SOFTWARE ENGINEER", AND MORE WITH YOUR CONTACT INFO. Cut that out, they're clearly filler and fluff. Use the space. Education. Good job with your degree. What did you actually do? Are there projects related to your portfolio? Team projects? Anything notable? Having no content under a degree is fine if you've got some years of professional experience. It is not fine for a fresh graduate. Make those details fill some of the space gained by having a normal sized name. Technical skills. This is a mostly useless section. Does it mean you looked at it for a few hours, or studied it for a semester, or used it in a major project? Incorporate the keywords into projects. Your projects are good. You mix in some of those "skills", and mention a few things you did. Give more details. You have "Visit my website" assuming people will have an online document. Many times people get a printed page, so give a URL. An easy to type one. Work experience also needs more detail. What you've got is a good start. Yes. Apply for many jobs. If you can't get a job in games today, look for related jobs. Are there entertainment companies nearby? Advertising? Broadcasting? Graphics systems? Medical simulations? Military simulations? All give experience that can help. There are relatively few game companies in the world, and only some of them are looking for entry level workers at any given time. In addition to relatively few jobs, you're competing against all the other fresh graduates across the nation. And if one of your game companies you apply to offers you a job, you can accept it. If they don't, you can get your job in entertainment programming, advertising programming, broadcast, graphical systems, simulation systems, or other programming work that will pay the bills.
  12. Yes, it is possible. In the VR world there are cheap and free programs like BigScreen, that show your computer's display in an in-world panel. I don't know if there is something for your specific smart glasses system, but if it doesn't exist then it is something that could be created. It will take some resources if you're the one creating the technology, but it is certainly possible.
  13. A minor quibble: in most groups gaming = gambling, games = entertainment. Tech is always advancing in games. VR has been on the rise and keeps trending up. It may not be today's hardware that explodes, but the industry seems to have finally hit critical mass. It's been 25 years since the Virtual Boy and this is really the first time there have been a series of commercial successes. Mobile games have been trending down and will likely continue to do so. The market is still enormous, but viable products are trending down. Required skills will change slightly, but the market as a whole is enormous, so neither will be major shifts. Depends on the career. Programming? Modeling? Texturing? Animating? Testing? Design? Production? Engineering and art disciplines generally require a bachelors degree or equivalent in most of the world. Design and production are generally senior-level positions, because you don't get put in charge of a $10M portion of a game as a beginner, although there are some jobs like associate producer and level design that are occasionally filled by industry beginners. If you're considering the programming track, this site can be of value. We tend to focus on students and budding developers, but there are plenty of industry vets. Professionals do their work behind closed doors. Console vendors protect everything behind multiple agreements, and violating them can destroy a developer's career. Individual studios protect their products vigorously before release, and even when people are cleared to discuss them developers are generally limited to publicly visible stuff, and discouraged from revealing anything that isn't publicly visible. You can review various game conference proceedings, but apart from a few technical presentations most industry conferences are places for production folk to make announcements. Game developers who are able to publish their works generally do so in IEEE and ACM conferences like SIGGGRAPH, SIGCHI, InfoVis, and similar.
  14. How to optimize code

    If you are talking about the window as a whole, mark the window as a layered-style window and set the layer's alpha values: SetWindowLong(hWnd, GWL_EXSTYLE, GetWindowLong(hWnd, GWL_EXSTYLE) | WS_EX_LAYERED); SetLayeredWindowAttributes(hWnd, 0, targetOpacity, LWA_ALPHA);
  15. Like @Oberon_Command, this boils down to what you mean by "skill". My most often used "skill" is communications. I communicate all day, every day. I write code which communicates to computers, and communicates to programmers. I write documentation for other developers across disciplines. I send email, I write notes in our Wiki, I write in our bug tracking tools. I communicate during meetings, I communicate in hallways and when working with co-workers. That means spelling and grammar skills, interpersonal skills, paying attention to body language and facial expressions, and more. These are skills many developers could improve to benefit their careers. After that, I'd say understanding logic and debugging code. I do that every day. Sometimes the logic is for building new rules and new systems, sometimes the logic is understanding how data flows to trigger a bug. Even if I'm not coding and am in meetings, I need to reason about what is being discussed and what it means to the thing I'm working on. After logical reasoning I'll hit the algebra skill, which is the math of dealing with general statements using symbols to represent values, and manipulating values through symbolic means. Nearly every line of code has variables being manipulated, functions being called, and other abstract symbols being used and manipulated. I use my skills in various programming languages, and I've used many different languages over the decades. This current project that means is C++ and a custom scripting language on the front end and Java in the back. I spend a large portion of most days using those language skills. This is ultimately a sub-item under communications. The programming languages are merely a way to communicate and encode the concepts and logic. Linear algebra is high up the, since a large amount of what I do involves spatial manipulations. However, I don't use it every day nor in all my code. I use calculus more than most others I know, mostly because I hate iterative methods. I tend to search for a directly computed solution where many other programmers prefer iteration and accumulation. Perhaps only a handful of times per week, but it is a very useful skill. Skills in network development and hunting network bugs (currently have four of them as I wait for my client to build...) skills in algorithms, skills in driving to get to and from work although I could use other transit modes, skills in typing so I can enter values quickly. Need more skills?
  • Advertisement