Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 12 Mar 2005
Offline Last Active Today, 04:22 PM

#5177356 Is Unreal Engine 4 easier than Unity for mobile game development by an artist...

Posted by frob on 31 August 2014 - 11:13 PM

I cant afford unity and free version wont work for android/ios deployment

Unity Basic includes support for Android and iOS. (You still need a mac for iOS thanks to Apple's rules, but that isn't Unity's fault.)
There are very few features that are restricted in Unity Basic (the free version) for most hobby game development. There is a bit of eye candy like some advanced water shaders and self-shadowing, there are a few features that you might find useful like dynamically-modified pathfinding (e.g. pathfinding that takes into account moving platforms or fallen trees) and a few similar items.  Even then, there are people on the Unity Store that have written those chunks of functionality if you don't want to pay for the engine.

I am looking through unreal forums and there are a lot of complaints

Unreal can also handle quite a few games, such as the Infinity Blade series. Yes you are limited a bit in the free version in what you can do, but again, as a hobby developer, it is unlikely you are going to push the harder limits of the system. People online like to complain about a lot of things even when it has no merit. Even if their complaints have merit, consider that they paid $0 for it, and that lots of people are able to use the $0 system to build a lot of good hobby games. If you want to do something you can't do with the $0 system, spend the small amount of money to get the more advanced version.
Looking over your posts, I think the issue is a lack of understanding on your part, or getting stuck with "analysis paralysis".
BOTH engines are quite capable of building advanced software and games, even on mobile devices.
BOTH engines are free for mobile development, until you reach the point where you are making enough money every year that you could afford to employ one or two people. Then you need to pay for it. After you start earning that much ($100,000 for Unity, $50,000 for Unreal) you need to start paying them. Before you are raking in money you don't need to pay them anything.
Download both, try them both out, decide what you enjoy best. Do not buy either version yet. As a hobby developer you could likely develop and release ten or twenty hobby games before you ever come close to the mandatory price points.

#5177024 Is Unreal Engine 4 easier than Unity for mobile game development by an artist...

Posted by frob on 30 August 2014 - 01:27 AM

In addition to all the other good stuff above, "easiest for me?" and "best for me?" style of questions are really not that useful.


They are available free. Download both.  Try them out. Decide for yourself. Remove one of them when you've decided, or leave it on if you want.


You may decide that one color scheme makes things easier on your eyes, or that the engine layout is easier for you, or that some other factor makes one of them particularly better or worse for your specific needs.


From a technical standpoint, both engines are very powerful and capable of developing prototype-style work very quickly. In both product polishing the work up to commercial standards is a lot more effort than getting your first level somewhat playable.

#5176952 What kind of toy would you want?

Posted by frob on 29 August 2014 - 12:02 PM

In addition to that video, it is something many different design sites and design blogs cover in depth.


Portal is an amazing game from a design perspective.  if you watched the Extra Credits video link above, you can see it has a lot of depth with an extremely narrow mechanic.


In fact, it has ONE major mechanic: You can connect two points in space. 


Both the first and second games were entirely based on experiments on that single mechanic.  Reconnect where things fall.  Reconnect where things slide. Reconnect where bullets go. 



The OP's second option, having lots of tiny mechanics, is less good for design.  While it does add combinatorial depth, the tradeoff is fairly shallow. When you have n choices it gives you 2^n combinations. Or, if order of your combinations matter, it gives !n combinations.


Say you've got ten options, that means the player must understand and choose between either a thousand different interactions if order doesn't matter, or choose between over three million different interactions if order does matter. Complexity grows incredibly fast, the depth gained probably grows far more slowly.

#5176950 What kind of toy would you want?

Posted by frob on 29 August 2014 - 11:47 AM

Small number of simple mechanics used in many different ways.


Probably relevant: Extra Credits discussing depth vs complexity

#5176756 Include file not found in GCC, due to path size?

Posted by frob on 28 August 2014 - 03:18 PM

Yup, replace those bad boys.


In the C language the use of \ in an #include is undefined behavior. (See C99 for several character sequences that are illegal or undefined.)


In C++ the processing is completely implementation defined. Specifically, "The appearance of either of the characters ’ or \ or of either of the character sequences /* or // in a q-char-sequence or an h-char-sequence is conditionally supported with implementation-defined semantics" with a footnote that "Thus, a sequence of characters that resembles an escape sequence might result in an error, be interpreted as the character corresponding to the escape sequence, or have a completely different meaning, depending on the implementation."


Even though you can normally encode character strings, the preprocessor include directive is handled differently.


Try #include "\u0066\u0069\u006c\u0065\u002e\u0068" and see what happens.  It could look for something called "file.h", it could look for file u0068 five directories deep, or it could do something else entirely.

#5176733 Legality question concerning a program and cars

Posted by frob on 28 August 2014 - 01:19 PM

No wonder there aren't very good simulation racing games. So much trouble to get everything together lol. Thanks for the information game dev-ers; i just blindly started the project and didn't give too much thought to what i would need to make the program legal. I think i should work on something out of pure creativity hahah



You can make fun games that way. The problem is that it is hard to make realistic games that way.


If you want cars that are just cars, you can do that without problem. Make your cars unrelated to those in the physical world but look cool. You can make up whatever you want that isn't similar to real life. Build up all kinds of fake brands, fake vehicles, fake performance stats. Make a fun game.


Most players don't really go for that. It works for cart racing; people get attached to the Flame Runner, Dolphin Dasher, or the Bit Bike. People know those aren't real vehicles, they also know the worlds aren't real and there aren't really any consequences for being wrong.  


In these fictional worlds it doesn't matter if the supposedly 150cc carts are flying around tight corners at effectively hundreds of miles per hour, or if they can brake and stop on a dime. Fake worlds, fake cars, fake physics. It is all about fun.



If you want cars that are accurate to specific specs, like the Ford Fusion stock car, or the Dodge Charger stock car, then the car manufacturers have a strong interest in ensuring that not only do their products appear in a favorable way, but also that their behavior and characteristics are accurately portrayed. Brand teams would hate it if your in-game Camero was able to outclass the in-game Bugatti Veyron, or if your in-game classic 1970 Torino could beat an in-game 2014 Shelby GT500 that has almost double the horsepower.  Ensuring everything is consistent and satisfies all the brands means spending effort and resources validating and verifying the details, it means branding gets involved. It means legal departments get involved. It means product licensing gets involved. 


And that means lots of money and lots of real-world accuracy if you want to use any real-world brands.



For most people, real life racing is boring. There are some exciting crashes and a few intense moments near the end, but for most people watching cars drive in a circle for six, seven, or even ten hours is not particularly entertaining.

#5176578 Question: Coding Conventions

Posted by frob on 27 August 2014 - 09:10 PM



I prefer reverse pyramidal structure.  Put the most important stuff (for the consumer) at the top. Put the less important implementation details at the bottom.


That means public stuff on top. Since the constructor is arguably the most important of the public stuff, it usually goes first.  Things like private constructors belong down below the public stuff.

#5176128 Strange Visual Studio Release Mode Behavior

Posted by frob on 25 August 2014 - 10:28 PM

A full rebuild might help if something is corrupt between different libraries.

I second the 'probably uninitialized' situation.

Of course, it might not be that object that is uninitialized. Something else could be uninitialized, which in turn causes something else to stomp on it.

While it is harder to diagnose, you can still use a debugger in release build. I'd go with some breakpoints when you think you initialized it (verifying it by stepping through the dissassembly window) and some memory breakpoints on the object itself to see if someone else is stomping on it.

#5176109 Distance formula in c++

Posted by frob on 25 August 2014 - 06:11 PM

Note that std::hypot() is not a trivial function since it must deal with a bunch of complications and edge cases that don't usually exist in games. Denormalized numbers are usually an error in game environments, as are INF and NAN situations.

A frustrating thing about several of the standard library algorithms is their general purpose nature. They must handle a bunch of conditions that are rare, unlikely, or probably errors in games.

All the big implementations of std::hypot involve multiple branches with some of them taking rather slow steps to solve the equation.

Really, go look at what they do. As long as your numbers aren't crazy big, aren't crazy small, and are not exceptional with INF or NAN, you can do so much better with just a simple naive version.

Generally you won't need to handle the edge cases and simply need a comparison of 2D (dx*dx+dy*dy) or 3D (dx*dx+dy*dy+dz*dz), or if you need the actual distance taking sqrt(). Even these plain functions can outperform std::hypot since they don't require the branching, rounding needs, and special error handling.

If performance is a concern or if you are keeping your vector inside one of the extended SIMD registers for a math library, there are several algorithms that can give even better performance on these oft-used functions. No need to reinvent the wheel when there are so many good Euclidean distance functions already out there.

#5176002 where to start...

Posted by frob on 25 August 2014 - 08:42 AM

Moving to the "Breaking In" forum.


i want to become a game programmer . so please tell me where do i start to...?? and what kinds of thing i've to learn..??

You might want to read all of Tom Sloper's game industry FAQs, as well as the Breaking In forum FAQ (which largely references Tom's amazing collection).
As pointed out in several of those articles (I forget the numbers and don't see them immediately) there is no one thing to do that will lead you to your goal.  Everybody has their own personal path.
We cannot tell you "Do these three steps and you'll be a professional game developer," because there are no steps that will always do it.
Most (but not all) go to college and get a degree, much like yours.  A computer science degree teaches many necessary things and will also make surviving the HR filtering easier.
Many (but not all) build their own hobby games. 
Many (but not all) participate in competitions and challenges to improve their talents.
Many (but not all) will have their own personal study into topics related to game development.
Many (but not all) will move to game development hubs to increase their chances of getting a job in the field.
Many (but not all) will attend game industry events, including local SIGDA and IGDA meetings, to gain contacts and experience.
Many (but not all) will participate in forums about game development.
Many (but not all) will apply to lots of jobs in the game industry.
Many (but not all) will find a job inside the game industry.
Unfortunately, some will appear to do everything 'right', they'll build a portfolio, they'll gain all the education and experience they can on their own, they'll move to a game development hub, they'll apply to every single game studio and continue applying, they'll network directly with the developers at several studios, they'll work their social network, they'll attend all the local game development meetings and get on the mailing lists and tell everyone they want a game development job .... and still struggle for years to break in.  Those people are very rare, but they do exist.
For now you are in school. Getting your education should be your predominant concern.  You can grow additional contacts within the game industry which will make it easier to get a job once your degree is complete. You can work on side projects related to games and participate in game development contests and build up a portfolio of hobby projects. When your degree is complete you can move to a city with many game development studios. 
Until your degree is done, make education your primary focus. All the other things are secondary.

#5175917 UK Universities

Posted by frob on 24 August 2014 - 09:13 PM

Generally university studies are not job training. The education teaches a lot of necessary skills and a broad (yet shallow) introduction to many topics you will need.


Often you are expected to learn the languages on your own.

#5175911 How would I start a 2d mmorpg

Posted by frob on 24 August 2014 - 08:36 PM

I'd suggest going to the forum's FAQ


Items #0, 1, 3, 8, 28, 29, should all be especially useful. You'll note the links in SotL's post are also in those answers. The rest of the forum FAQ is good too, although some of the links are broken and a few of the answers are dated.

#5175907 Line vs Triangle collision in 3D

Posted by frob on 24 August 2014 - 08:27 PM

Source: ...

The page seems clear enough. That is one function that serves as a part of the algorithm to detect the existence of the intersection. 


You need the rest of the function from the web site for it to work.


Math-wise, in that segment they are using the sign of the dot product of planar intersections to see if is on the inside slabs representing the boundaries of the triangle. It has some drawbacks, notably the inability to see exactly where it happens. 


I'd stick with the Moller-Trumbore algorithm presented on that site; it is a fairly common algorithm.  Or just go with the already implemented C# version on the CodePlex link given earlier.

#5175757 Line vs Triangle collision in 3D

Posted by frob on 24 August 2014 - 01:22 AM

Yes i had that in school and i even have done line vs triangles collusions long time ago, but i have successfully forgot all of it and now doing something very different. I guess i was hopping to get a done function that i could just copy paste, this may sound kind of selfish but i don't realy have any choice here, got like two days to finish this program, therefor no time to do it right.

Assuming then that you aren't in school, there are quite a few linear algebra libraries that can handle it.  Or if you're just stuck on the problem for your job, a codeplex project might be more useful.

#5175747 Line vs Triangle collision in 3D

Posted by frob on 23 August 2014 - 11:17 PM

What level of education do you have?  


The math tends to look scary if you haven't seen it before. It isn't really that bad.


Line/plane intersection is a basic formula taught in high school algebra. I'm not sure what age that is in your country, around here that is age 16 or so mathematics. We also learned about taking barycentric coordinates in middle-school trigonometry by about age 14, although I didn't learn it under that name.


By the time you get to college studies, this is one of the early topics they review during linear algebra, which is the study of manipulating lines and coordinates in space. Linear algebra is often a second or third year college course. Linear algebra is really the basis of 3D simulations, so unless you either self-educate on the subject or reach that level of college math in school, it will likely remain beyond you until you do reach that level.