158 votes
Accepted

Why are games built on cross-platform engines sometimes exclusive to Windows?

Technical Reasons: Game-code made platform specific: When some developers are making their games, they can sometime rely on platform specific functions. While the game engine might be able to build ...
user3797758's user avatar
  • 3,641
42 votes
Accepted

How to avoid hard coding in game engines

Data-driven coding Every thing you mention is something that can be specified in data. Why are you loading aspecificmap ? Because the game configuration says that ...
Sean Middleditch's user avatar
31 votes

Why are games built on cross-platform engines sometimes exclusive to Windows?

Because being available doesn't mean being free & instant. Supporting one more operating system, in its most simplistic form, means one more platform to provide technical support for. The more ...
starikcetin's user avatar
  • 5,275
26 votes
Accepted

Consistent cross platform procedural generation

The best resource I've found on this topic is Bruce Dawson's blog article "Floating-Point Determinism" It establishes that yes, in theory, you could get cross-platform determinism out of ...
DMGregory's user avatar
  • 134k
14 votes

Why are games built on cross-platform engines sometimes exclusive to Windows?

The other answers here are good, but here is one that wasn't mentioned. I'm having this problem right now - my team is about to release a game made in Unity for Windows/Mac. We've gotten lots of ...
Cody's user avatar
  • 241
11 votes

How to avoid hard coding in game engines

The same way you avoid hardcoding in general functions. You pass parameters and you keep your information in configuration files. In that situation, there is absolutely no difference in software ...
Vaillancourt's user avatar
  • 16.3k
8 votes
Accepted

Is Unity 2017 random number generator deterministic across platforms given the same initial seed?

While I haven't had time to do any extensive testing, initial research suggests that the random number generator used is deterministic across different platforms. The exact implementation used is: ...
Thomas Mathieson's user avatar
7 votes

Is Unity 2017 random number generator deterministic across platforms given the same initial seed?

Thomas answered the question as asked. The more important question is as follows: Is the Unity 2017 random number generator guaranteed to deliver the same numbers across all current and future ...
Peter's user avatar
  • 9,925
7 votes

Consistent cross platform procedural generation

What I would be trying to do is to generate on multiple levels, where things at one level could be calculated from the level above with integer math. For example, at the top level I might draw a bunch ...
James Hollis's user avatar
4 votes

Android game to iOS, go with an engine?

There is no simple way to convert your java code into Unity, unfortunately. You are going to have to convert the entire code base into either C# or Javascript. Even the way you do your scenes are ...
jgallant's user avatar
  • 8,414
4 votes
Accepted

ARMv7 vs FAT in Unity Android Build Settings (release multiple valid APKs)

you can publish different versions of your APK targeting different CPU architectures, with the same package name: Build an ARMv7 only package and an x86 only package with different version codes. ...
ph0b's user avatar
  • 156
4 votes

Is Unity 2017 random number generator deterministic across platforms given the same initial seed?

Using Unity 2017.2.0f3, UnityEngine.Random appears to give the same results across multiple platforms. Tested on Windows 10, macOS 10.12 Sierra, and Android 7. To test, I trimmed down a SeedFactory ...
Chris McFarland's user avatar
4 votes
Accepted

Patterns on preserving players progress across all player's devices

On each platform, keep the save game stored in a cloud storage system keyed to an id specific to that user (even before they’ve explicitly asked to save it in the cloud). For example, their Google ...
Ed Marty's user avatar
  • 5,229
3 votes

How to avoid hard coding in game engines

I like the other answers so I'm going to be a little bit contrary. ;) You can't avoid coding knowledge about your data into your engine. Wherever the information comes from, the engine must know to ...
dash-tom-bang's user avatar
3 votes
Accepted

Android game to iOS, go with an engine?

Libgdx is a free game library that supports java and can be deployed to Android and iOS. You will definitely be able to use a lot of your existing code and, depending on how you implemented your ...
spectacularbob's user avatar
3 votes
Accepted

How can Perlin Noise be modified to not tile?

It sounds like you already know the solution to your problem: replace the initial 256-entry table lookup with a hash/digest of the whole coordinate value, not just the low 8 bits. From there the only ...
DMGregory's user avatar
  • 134k
2 votes

SDL for 3D game programming?

If you can draw triangles, then you can technically create a 3d engine with it. However, this involves the same amount of math as you need to do OpenGL if not more. First, you need to define ...
Bálint's user avatar
  • 14.9k
2 votes

Using different shaders based on desktop or mobile?

You can also use shader compile directives in custom shaders to skip over expensive sections, resulting in a simpler look, which only triggers when on a mobile device. https://docs.unity3d.com/...
Draco18s no longer trusts SE's user avatar
2 votes

Using different shaders based on desktop or mobile?

It may lead to longer load times, but you could switch shaders in Awake based on the platform: ...
noone's user avatar
  • 96
2 votes

Consistent cross platform procedural generation

As others pointed out, if you want true determinism, then avoid floating point variables and use integer math instead. If you need a large universe, use 64bit integers. Their resolution is good enough ...
Philipp's user avatar
  • 119k
2 votes

Consistent cross platform procedural generation

Rather than designing your PCG around real number arithmetic and then trying to make it deterministic, it may be easier to start from this constraint and design around it. There are a wide variety of ...
kaya3's user avatar
  • 273
2 votes

Consistent cross platform procedural generation

Partly an answer, partly a followup: I found that while I can mostly just use fixed point, there were some circumstances where fixed just did not have the dynamic range, which left me looking for some ...
MadMan's user avatar
  • 743
2 votes

How to set up a cross-platform game project that can install standalone or via Steam?

From what I understand, the main thing you are asking is, if you had a standalone game, how to package it and make it usable from different platforms/operating systems. With that said, I assume you ...
Tom Tsagkatos's user avatar
1 vote
Accepted

Is there a way to run an Android Unity game in Windows?

The simple answer is No. When a game is compiled, it includes all assets for the platform it is compiled for only. This means the android version includes code of how to handle everything with ...
Tom Tsagkatos's user avatar
1 vote
Accepted

Cross-platform GLFW build with CMake

After a few hours of research and testing, I found a solution that works for me. In order to run my project on windows, the first thing you have to do is download glfw straight from the glfw homepage....
Dave's user avatar
  • 125
1 vote

Implementing a lexicon for a word-based game with C# or C++

If you need to search for words in a lexicon, then simply storing them pre-sorted and using a binary search algorithm can reduce the complexity to O(log2N), that's basically the best you can get. ...
Bálint's user avatar
  • 14.9k

Only top scored, non community-wiki answers of a minimum length are eligible