Why is it a bad idea to store methods in Entities and Components? (Along with some other Entity System questions.) This is a followup to this question, which I answered, but this one tackles with a much more specific subject. This answer helped me understand Entity Systems even better than the article. I've read the (yes, the) article about Entity Systems, and it told me the following Entities are just an id and an array of components (the articles says that storing entities in components isn't a good way of doing things, but doesn't provide an alternative). Components are pieces of data, that indicate what can be done with a certain entity. Systems are the "methods", they perform manipulation of data on entities. This seems really practical in many situations, but the part about components being just data classes is bothering me. For example, how could I implement my Vector2D class (Position) in an Entity System? The Vector2D class holds data x and y coordinates, but it also has methods, which are crucial to its usefulness and distinguish the class from just a two element array. Example methods are add(), rotate(point, r, angle), substract(), normalize(), and all other standard, useful, and absolutely needed methods that positions (which are instances of the Vector2D class) should have. If the component was just a data holder, it wouldn't be able to have these methods! One solution that could probably pop up would be to implement them inside systems, but that seems very counter intuitive. These methods are things that I want to perform now, have them be complete and ready to use. I don't want to wait for the MovementSystem to read some expensive set of messages that instruct it to perform a calculation on the position of an entity! And, the article very clearly states that only systems should have any functionality, and the only explanation for that, which I could find, was "to avoid OOP". First of all, I don't understand why should I refrain from using methods in entities and components. The memory overhead is practically the same, and when coupled with systems these should be very easy to implement and combine in interesting ways. The systems, for example, could only provide basic logic to entities components, which know the implementation themselves. If you ask me this is basically taking the goodies from both ES and OOP, something that can't be done according to the author of the article, but to me seems like a good practice. Think about it this way there are many different types of drawable objects in a game. Plain old images, animations (update(), getCurrentFrame(), etc), combinations of these primitive types, and all of them could simply provide a draw() method to the render system, which then doesn't need to care about how the sprite of an entity is implemented, only about the interface (draw) and the position. And then, I would only need an animation system which would call animation specific methods that have nothing to do with the rendering. And just one other thing... Is there really an alternative to arrays when it comes to storing components? I see no other place for components to be stored other than arrays inside an Entity class... Maybe, this is a better approach store components as simple properties of entities. For example, a position component would be glued to entity.position. The only other way would be to have some kind of a strange lookup table inside systems, that references different entities. But that seems very inefficient and more complicated to develop than simply storing components in the entity.


How do we coordinate which order the systems get processed within an ECS? If I knew all of the systems at compile time, I could order them myself. However, I intend on having user defined mods. This adds a level of complexity, in that I (as the framework developer) don't know which mods will be developed, or installed on a particular user's machine. I've thought about adding some sort of execution ordering within core code systemRegistrar.register(PhysicsSystem.class).before(RenderingSystem.class) within third party mod systemRegistrar.register(ModSystem.class).before(PhysicsSystem.class) I've thought about an incidental ordering using some sort of message or event bus within core code PhysicsSystem public void update() do physics y stuff eventBus.send(new PhysicsSystemUpdatedEvent()) RenderingSystem public void handle(PhysicsSystemUpdatedEvent event) do rendering stuff eventBus.send(new RenderingSystemUpdatedEvent()) But this blurs the line between what will happen, and what could happen. Another thought that came into my mind is that we can be a little bit dirty and not care too terribly much about what order the systems get executed in, because even if we render before the physics are applied, the next frame will then render the physics update that was made in the previous frame. It's consistent, but it blurs the line between what happens within a frame.


Entity Component System Physics Animation Matrix Calculation? The problem is how many times the matrices representing the bones (for animation and rendering) of an entity get calculated. If i have these components Position Skeleton (holds matrices for bones) Physics Animation When the physics get's updated, the position is changed to move the entity. This sends a message, that position has changed. The skeleton takes note and updates the matrices for the changed position (and potentially rotation). The animations are then updated in a separate system, the skeleton then gets updated and changed again. So essentially the matrices are being updated twice (unnecessarily) instead of just once. Am i going about this the wrong way? Is this just the price of having everything disjoint?


Entity System and "composite" entities I'm new to the Entity Component System pattern and there's something I cannot figure out. Let's say I have the following entity Player Components Position x 0, y 0 , Health max 100, current 50 , Sprites ... When I render an entity that has a Health component I also would like to render a health bar above that entity. Do I treat the health bar as a new entity and attach it to the Player i.e., the Player becomes a composite of entities or it the Health bar should be part of the Health component, in which case how would it be rendered created? To illustrate what I'm trying to say Player ChildEntities Character Components Position x parent.x, y parent.y , Sprites parent... , HealthBar Components Position x parent.x, y parent.y , Health max parent.max, current parent.current , Components Position x 0, y 0 , Health max 100, current 50 Is there an idiomatic preferred way of doing this? Thanks.


Event Based Entity Componenty System So, I'm new to ECS. The concept is very interesting in contrast to traditional OOP and heavy inheritance. I'm working on a game right now that is open sourced, but does not actually have a game loop. It works by sending and receiving packets, and acting upon those received packets. In that case, what would I be looking at in this relationship between Systems and Components? Let's say I have an incoming Movement packet that is telling me to move Player A 5 units to the right. And let's say I have a lot of different types of packet types (let's say up to 100), each for different stuff, like maybe making a purchase at an NPC store. Another one for purchasing at a player store. Or maybe inviting and expelling players from a party. Or inviting and expelling players from a guild or alliance. At that point, I start getting a little confused. I can definitely see similarities in .. Adding Expelling people from a party, guild, alliance But each of those packets contain different information at their core. I'm tempted to write a component that Guilds, Alliances, and Parties can use (like AddRemoveMemberComponent), but the information coming in from the packet makes me hesitant. How would those components handle specifically? Maybe I'm just entangling myself in traditional inheritance, so it's hard for me to see the uniqueness of data. Would I have unique systems for explicitly handling Party, Guild, Alliance expulsions and invitations? And how would I dynamically know what to do with these different packets coming in (different packets for alliance, guild, party).


How should one component "trigger" another one in a component system? In my game I have a MoveComponent and a ClimbComponent. Some characters can only move around on one level, others are able to climb to the next floor. My intention is to have characters randomly be able to climb if the are about to bounce into a wall. How would I manage this? Should the ClimbComponent be added dynamically and also be removed again, or should random characters always have the ClimbComponent and it would be activated and deactivated dynamically?


What's the proper practice to organize relationship between components in an ECS pattern? I'm new to ECS concept and trying to refactor my app with an ECS manner. After reading some articles, I still don't get a sense about how to organize hierarchy for such pattern. My questions are Is a component allowed to have another component inside? For example I saw a RenderComponent that contains a Mesh inside. Is the mesh also a component or the raw data of it, which should be stored inside the RenderComponent? What happens when an instance of component needs to be shared by two entities? If an entity should be just an integer, how do you organize the relationship between entities? Should it have a parent child linked entity or should all these relationship be managed by the system? Thanks!


Where should complex state logic in an ECS reside? I've been using ECS for a while, at the moment I'm using my own, but it's pretty standard. Components are data only, Entities pretty much just a Map with some additional metadata and Systems that match combinations of components and contain the logic. You have combinations of components that result in the more general functionality. For example Position Graphics gives me some nice static background image. Position Graphics Physics gives me a entity that can move around etc etc This question is about the various options for implementing more specific game logic. But say I want to implement a Door. It has Position, Graphics and a Collidable Hull but it needs 2 states, open and closed. When its open it has texture A and its Collidable Hull is disabled, and when its closed it has texture B and its Collidable Hull is enabled. Lets say the state change should be triggered across some internal channel in the engine. What are the options for implementing this state change? Option 1 is to create Door component, with say 2 variables, door state and state change channel. I'd also need a door system that handled the logic to manipulate the components when it receive the open close message. Option 2 would be to create a FSM. The FSM is probably also a component with a corresponding FSM System. Logic and state would need to reside somewhere, possibly by sub classing the FSM or having a generic property map in the FSM and static logic functions for the Door defined elsewhere. There are more exotic alternatives to FSM's i.e. Actions Lists or Behaviour trees, but they are similar to option 2. What considerations are there for choosing a full component system over an more generic FSM type solution? What if I had 100 different game objects with different behaviours? Would you really expect 100 component system pairs for each one or would you try and create a more generalized solution? Are there any other options?


How to share Lua script between instances? I'm doing an agent based framework with C and Lua. I want to use Lua to code the Agent behaviour having an AgentClass class that have the name and source code and an AgentInstance class that have the lua State. I want to have a few AgentClass instances during execution but hundreds or thousands of AgentInstance objects. Is there any way to share the same lua script with different lua State? Or Is there a better way to get hundreds of agents without too much performance penalty? Options? Having compiled Lua code in AgentClass. Having lua State only on AgentClass, setting a self variable in every AgentInstance update. Other.


ECS System calling other systems I'm trying to build my first (2D) game with ECS but I always end up with some system calling other systems. Here's an example. There is a RegionSystem that manages RegionComponents. On each frame, this system loops through all the RegionComponents and checks if the player is inside any of them. When the player enters the water, the player's sprite must be changed from PLAYER RUNNING to PLAYER SIWMMING. When the player steps onto a teleporter, an animation will play around the player, he'll be rotating and a new level will be loaded. When the player steps into a hole, he will lose some health and will be repositioned in the level. So, first of all, it needs the coordinates of the player's body to check if it is in a region (check point in rectangle). Hence it will ask the RigidbodySystem to get the coordinates. Then if the player is inside a region, it will call PlayerSystem OnInsideRegion(regionInfo). In turn this function, PlayerSystem OnInsideRegion must react differently depending on the type of the region for the water case, it needs to call the SpriteSystem to change a sprite, the PlayerSystem to set a boolean (m inWater True ) and the RigidBodySystem to get the coordinates of the player's body for the teleporter case, it needs to call the LevelSystem and tell him to switch to another level on the next frame for the hole case, well, simply descrease the member m health of the player component, so no need to call another system here. I have the feeling this is a horrible design and does not fit the ECS architecture. I read that people use a message system where systems can subscribe and unsubscribe to particular type of message. But I also read that it can be tricky to react to them in a proper order.


How do I go about creating the "Watcher" component? Last weekend, I spent several hours writing a basic entity component model, in JavaScript. I was largely referencing the Ash Actionscript game engine. I successfully worked out how the systems, components, nodes, and entities all link up, but one thing that eludes me is how to implement the "watcher" that checks the entities for their components, creates nodes for them, adds those nodes to the various systems automatically, and watches for any changes in the components on an entity. I was a bit confused by the way it works, in Ash, and all of the posts and tutorials on the subject that I have read seem to forgo the details of that part of the implementation. Right now, I currently have the following Entity, which is assigned components. Engine, which keeps a track of the systems and entities. Node, which contains references to the components in an entity that we want the system to modify (I am currently creating these, manually, and adding it to the system). Component, which contains the data to be modified by the system. System, which operates on the nodes, which in turn change the data in the entity. I also have various other classes, dedicated to holding lists of the various objects. How do I go about creating the "Watcher" component?


Intersystem communication in a ECS game Apologies if this question has been answered before, but after relentless searching I couldn't find anything. As many, I've recently jumped on the ECS bandwagon, and I am currently killing some time by making a modest ECS game. The game is a somewhat simple 2D platform game. It is programmed in plain JS. The layout of the game is essentially as following The core of the game is the Engine, the Engine runs the game loop and holds an EventManager, responsible for raising events, and an EntityManager, responsible for containing all components of all entities. All logic is done by systems. The systems registers event handlers (i.e. member functions) with the EventHandler for specific EventTypes, which gets called when an event of that type is raised. For example this.eventManager.registerHandler(EventType.EVENT RENDER, this.render, null, this) I recently switched from calling all systems relevant functions explicitly in the Engine to this pattern. But over to my problem and question. For rendering I have a RenderSystem. This system contains references to several type of drawable animatable components which it, you guessed it, renders. Until recently, this system also contained a reference to another system, MapSystem, which spatially indexes all entities. The reason for this reference was to be able to call a function along the lines of mapSystem.search(frame bound) effectively pruning away all entities not needing to be rendered. So I have a couple of questions regarding this Is it very bad practice for systems to communicate directly? Something about it just doesn't smell right to me. I see how it might severely complicate your code if you have say 100 systems, and each system holds references to many of the other systems. Hello O(n 2). If I am not to hold inter system references, how do I perform communication like described above? My initial thoughts was to create an entity whose primary purpose were to hold the necessary information (i.e. all entities currently in the frame). Then let MapSystem write to and RenderSystem read from this entity. But this also seems to be rather unclean to me. Especially as MapSystems search function might be useful to call in many different contexts. Creating an entity per calling context doesn't really seem like a good way to go about it either. TL DR Is it bad for systems in a ECS game to communicate directly and hold references to each other?


User friendly scripting when using an ECS? I am currently creating a small hobby project to get back into game development, and I have decided to structure my entities using an ECS (Entity Component System). This implementation of an ECS is structured like so Entity In my case it's a unique int identifier that is used as a key to a list of components. Component Holds only data, e.g. the Position component holds an x and y coordinate, and the Movement component holds a speed and direction variable. System Handles components, e.g. it takes the Position and Movement components and adds the speed and direction to the position's x and y coordinates. This works fine, but now I wish to implement scripting into my games, in the form of a scripting language. In previous projects I've used an OOP implementation of game objects, which meant that scripting was pretty straight forwards. For example, a simple script could look something like this function start() local future entity moveTo(pos1) wait(future) local response entity showDialog(dialog1) if wait(response) 1 then local itemStack entity getInventory() removeItemByName("apple", 1) world getPlayer() getInventory() addItemStack(itemStack) else entity setBehavior(world getPlayer(), BEHAVIOR HOSTILE) end end However, when using an ECS, the entity itself does not have any functions like moveTo or getInventory, instead the above script written in ECS style would look something like this function start() local movement world getComponent(MOVEMENT, entity) movement moveTo(pos1) local position world getComponent(POSITION, entity) local future Future untilEquals(position.pos, pos1) wait(future) local dialogComp world getComponent(DIALOG, entity) local response dialogComp showDialog(dialog1) if wait(response) 1 then local entityInventory world getComponent(INVENTORY, entity) local playerInventory world getComponent(INVENTORY, world getPlayer()) local itemStack entityInventory removeItemByName("apple", 1) playerInventory addItemStack(itemStack) else local entityBehavior world getComponent(BEHAVIOR, entity) local playerBehavior world getComponent(BEHAVIOR, world getPlayer()) entityBehavior set(playerBehavior, BEHAVIOR HOSTILE) end end This is a lot more verbose compared to the OOP version, which is not desirable when the scripting is aimed towards mostly non programmers (players of the game). One solution would be to have some sort of wrapper object that encapsulates an Entity and supplies functions such as moveTo directly, and handles the rest internally, although such a solution seems sub optimal since it takes a lot of work to cover all the components, and every time a new component is added you would need to change the wrapper object with new functions. To all game developers that has implemented scripting in an ECS before how did you do it? The main focus here is usability for the end user, with as little "maintenance" cost as possible (preferably you don't need to change it every time you add a component).


Polygon count target range for MMO being released in 2 years What would a realistic poly count target range be for NPC and player models in a 3D MMO that will be released in 2 years? What about poly count target range for the entire camera view (environment, NPC and player meshes)? I read in some places that one should not aim too low if the game will come out in a couple years because technology is always advancing. If you can give some mesh poly stats on what other current MMOs MMORPGs are running and future projections, that would be great. Thank you.


How to convert an octree to a polygon mesh? So if I have dynamic voxel terrain data stored in an octree representation what would be the best way to go about converting the octree to a polygon mesh which I can render with OpenGL? A lot of the meshing algorithms I have found online assume that voxel data is stored in a 3D Array however for the level of detail I am using storing chunk data in a massive array isn't really an option (chunk size 64x1024x64 with each block roughly 4bytes) split into several 64x64x64 small octrees, I could make the chunk size smaller but then that means more draw calls etc. Basic searches on google for 'meshing an octree' seem to bring up lots of research on doing the inverse (converting from meshes to SVOs). The problem with using these algorithms on the octree instead of the array is that the octree has a much slower access time not to mention the time cost of copying the data from the octree representation. I have considered the possibility of converting to an RLE or spatial hashing system but these two systems both have their drawbacks especially since I plan to use the same octree when I come to implement collision detection. I would guess that it would be best to traverse down the tree rather than iterating over it like an array, but some more ideas about how I could optimise this would be appreciated.


How to make low poly ground look better I'm working in Unity and have created some low poly meshes using blender. Currently, the meshes look good, but the ground seems very lacking. I am not sure how to make it feel natural or even look good in general. Here is a current image The ground needs to remain mostly flat due to the game placing flat objects on the top of the plane and the image shows the exact camera angle we are using. But, as you can see in the image, the ground is extremely lacking and it doesn't look like a ground but instead just a flat background color. I've tried textures but it does not look good with the trees and low poly design. How can I make the ground look better?


Load destructible mesh at runtime Using the tutorial Components and Collision as a guide, to dynamically load a SphereShape the following is done AClass AClass() Create USphereComponent USphereComponent sphere NULL sphere CreateDefaultSubobject lt USphereComponent gt (TEXT("Root")) sphere gt InitSphereRadius(1.0f) sphere gt SetCollisionProfileName(TEXT("PhysicsActor")) sphere gt SetSimulatePhysics(true) sphere gt WakeRigidBody() Create UStaticMeshComponent UStaticMeshComponent mesh NULL mesh CreateDefaultSubobject lt UStaticMeshComponent gt (TEXT("Mesh")) mesh gt SetupAttachment(RootComponent) Load asset from filesystem define ASSET TEXT(" Game MobileStarterContent Shapes Shape Sphere.Shape Sphere") static ConstructorHelpers FObjectFinder lt UStaticMesh gt asset(ASSET) undef ASSET if (asset.Succeeded()) mesh gt SetStaticMesh(asset.Object) RootComponent sphere Now, when I try the same set of steps, but this time for an Actor that has a UDestructibleComponent instead of a USphereComponent AClass AClass() Create our UDestructibleComponent UDestructibleComponent destructible NULL destructible CreateDefaultSubobject lt UDestructibleComponent gt (TEXT("Root")) destructible gt SetCollisionEnabled(ECollisionEnabled PhysicsOnly) destructible gt SetSimulatePhysics(true) destructible gt SetEnableGravity(false) destructible gt WakeRigidBody(NAME None) Load asset from filesystem define ASSET TEXT(" Game MobileStarterContent Shapes Shape Cube DM") static ConstructorHelpers FObjectFinder lt UDestructibleMesh gt asset(ASSET) undef ASSET if (asset.Succeeded()) UE LOG(LogTemp, Warning, TEXT("It worked!")) RootComponent destructible I receive the following errors ConstructorHelpers.h 105 20 error cannot initialize a parameter of type 'UObject ' with an lvalue of type 'UDestructibleMesh ' ValidateObject( Object, PathName, ObjectToFind ) ConstructorHelpers.h 29 19 error incomplete type 'UDestructibleMesh' named in nested name specifier UClass Class T StaticClass() I've also tried adding .Shape Cube DM to the end of the string, similar to how the first asset was imported, but no luck. What is the correct way to load a DestructibleMesh from the filesystem and apply it to the UDestructibleComponent?


How can I produce 3D environments for VR from HDRI images? I have a question regarding to the HDRI maps as many some of you have a bit of experience in this field especially for Oculus Rift platform! I've been trying to achieve a 3D landscape from this HDRI map. (Also I highly recommend this website for others )!) I even decided to render in Maya few images from the orthographic perspective but unfortunately still no luck. See the results here on YouTube. Is there any other method to reconstruct 3D models just from images and use them to create environment?


How do I implement real time mesh deformation, with regards to environmental damage? I would like to be able to add the following feature to my tech demo at the moment bullets hit the walls, little pieces fly out of them, as well as decals appearing on the walls. Computing power is good enough, now, so that many games have destructible environments. I would like bullets to shatter small surface segments off the wall, ideally the segments that fly off would directly relate to the hole that is left, though I don't even know if this is how it's done in commercial games. How is this done? Are there simply a number of different meshes that are swapped out as, and when, objects are hit? I assumed that this would not be an accurate enough solution. Is real time mesh deformation feasible. and if so, how is it done?


Swapping limbs between meshes I'm trying to achieve what was done in the game impossible creatures. I will have a skeleton to which I will apply different meshes to i.e. torso mesh, leg mesh, etc. I would also like these meshes to be skinned together at the joints so that it looks like an animal and not like a robot. Any ideas as to how I go about achieving this?


matrix to transform unit cube to space defined by 8 arbitrary points I asked a question relating to similar to this already, but I think this is a clearer objective of what Im trying to achieve.. or whether its possible at all! Im trying to find a transformation (matrix ideally) which would transform the 8 points of a 3d unit cube to 8 arbitrary points in space. The 8 target points have no known structure. e.g My gut feeling is that a matrix is unable to provide this xform since the cube faces vertices can be concave.. but are there any other methods of transformation? Thanks!


Angle between two planes I have two triangles in 3d space which share 1 edge and I would like to determine if the angle between their normal vectors is "uphill" or "downhill". In other words, if you set one flat, would the angle between them be acute (uphill) or obtuse (downhill). Hopefully that makes sense. So far I have the normal vectors of each triangle and have calculated the angle between the two triangles, however this angle is always 90 degrees. Vector3 v1 triangle1.Normal Vector3 v2 triangle2.Normal float cosAngle Vector3.Dot(v1, v2) (v1.magnitude v2.magnitude) float degAngle Mathf.Acos(cosAngle) Mathf.Rad2Deg Is there a trick I am missing that lets me determine which direction this angle is in?


How to fix a crowbar mesh deformation problem I am having a problem exporting my model to Garry's Mod. Every time i compile the model in crowbar it comes out deformed like this when the model is really suppose to look like this how do I fix this is there something wrong with the collision? I am also ready to provide whatever files information are needed to solve this problem. I should also mention that the mesh has multiple objects from each sphere that are joined but not connected. I went to the arqade for this at first but they said it was offtopic and that I should come here instead.


Market as a single game or as a studio? I'm creating an RPG with a theme of a hero that must restore peace to a world fallen to evil forces. It serves as an educational tool. I'm creating a promotional website for it and using other online social tools for marketing. I only have one focus to make this game as great as possible for people to learn. I've seen some companies that market themselves as their product name, like DuoLingo, and some that market as the studio, such as Strawberry Games. I don't have a game studio and have simply been marketing (FB page, website URL, etc) as the game's name, Lexicana's Destiny. Does it really matter which way I market it? If so, why?


Novice Mobile Game Developers Publishing on our own or Publisher? So we are almost done with our first indie game, developed on Android. We believe that the game has potential, our graphics guy is damn good so we have some good eye candy in our game. Now we are thinking what should be our starting step? We can purchase the Google Play account and launch it on our own, but we aren't sure if we'd be able to advertise it well and get something big out of it. Or we can contact a publisher, and talk about some deal. Which one is better? What are the pros and cons of both, considering this is only our first game and we intend to make a lot more. Also considering that we're only students yet, currently in our senior year. We would love to generate some revenue out of it. What are the best ways of contacting publishers? How do we approach them and deal with them? Many thanks for your kind help!


How do you market assets that are niche but that those people definitely want? I just got done canvasing surveying developers, and it is clear that there is a market for a few niche categories of audio assets that I suspected would be useful to them. While the overall category of assets is commonly desired, it can only be broken down into separate categories, which individually are completely niche due to the wide variety of games nowadays. How can a niche but useful asset be effectively marketed to (mostly indie) game developers? It is known that there are people out there who want it, but the likelihood of a completely random individual wanting it is low. So if the asset was created, and there was low competition among asset producers for it, how could one ensure at least some of those people find it (without actually cold calling them)? I would explain in more detail, but I don't want to come off as though I'm trying to advertise anything here.


Allowing a secondary market for online content Many games with an online component, allow players to buy various kinds of content. As far as I know, none of them allow a secondary market where players resell purchased content to other players. Presumably this is because the developers think disallowing the secondary market will get them more sales. However, there seems to be a widely held school of thought regarding Magic the Gathering (the nonelectronic card game) that the existence of a secondary market actually increases revenue by encouraging people to buy more cards in the hope of being able to resell them. Whether that theory is true or false, the mere fact that many people believe it, should encourage at least some video game developers to try allowing a secondary market. Given the existence of a reasonably widely held theory that this is a good idea, why is it that no video game developers whatsoever allow a secondary market?


Best free advertising for Facebook strategy game I have written a game for Facebook. I think the game is fun to play, although the graphic presentation is primitive since I am not a graphic artist web designer I am the only Facebook user playing the game at this time. It does not appear to appeal to FB's demographic audience who seem to prefer less complex and less challenging games. Does anyone have any ideas on how I could get the word out about my game to the proper audience while spending very little or no money?


Do I have to ask for permission to use real company logos for advertising props in the world in my sports game? I'm making a simple turn based Android ball flicking soccer game and I was thinking of creating a theme in a sports game, like soccer for example, usually had advertisement banner on walls and a bit realistic but cartoony. It is usually encountered in most sports based game in any gaming platform. I have a question regarding this topic. Is it required to ask a permission to used some recognized ad banner designed walls (e.g. Adidas, Samsung, McDonalds, etc.) to be used as props for the game field like this one for example?


Is a game's world wide visibility in app stores affected by the publisher's country of residence? I've noticed on Apple Store (and I assume on Google Playstore too) I find different games and apps in France than in the US. Does this mean if my company resides in a small country and I register my game in this country, it'll only be shown to users of my country? Or is it just a matter of some settings and I can decide to be shown all around the world, for instance for American users (which is a larger market than my country), same as game producers living there? Does a game developer's country of residence influence how many downloads world wide he can reach at all? My question is about Apple Store and Google Playstore, but answers for other platforms are welcome too.


Why don't top selling mobile games have localization? For example Plants vs Zombies 2, Angry Birds, Bad Piggies, Candy Crush Saga, Temple Run 2 and so on. These games are available in English only. These companies have huge resources why don't they localize their games?


Where to find passive advertisements? Imagine a soccer game. While the player is playing a match, he is seeing the billboards all the time. I want to include that kind of advertisements in my game (obviouly, making profit). Just a brand logo, not a banner the user has to click. Does this even exist? Is there any AdMob like which allows this kind of advertisement?


How can I promote my game? I am a beginning indie developer, and I want to get the word out about my game. What sites can I go to to ask about reviews of my game, and where might I be able to talk about and get feedback on my game from players?


Where to promote your indie game? Possible Duplicate Where to advertise my game? Let's say I have developed a game and I want to "get it out there". What I have in mind is open source, non commercial games. What websites do you know of where you can promote your newly developed game, rather than simply posting it on your blog?


Where to find market research info on adventure games? Looks like adventure games are on the rise again. There were several great releases in 2012, including brilliant and highly acclaimed Walking Dead from TellTale. Is there a market research that proves the new rise of adventure games? Bonus points for revenue estimates and such. I'm particularly interested in mobile games segment, but everything else is of interest as well.


Whats the best way to publish and promote an app by myself? My first little casual action android game is nearly finished. Its my first one and i dont expect any sucess. But nevertheless i want to try to publish and market it by myself. But what can i do without any bugdet? How do i attract and reach people ? Are there any tricks ? How did you published and promoted your first app game ? And what is your experience with self publishing marketing ?


How can I acquire marketing and sales data for games? I need to evaluate a marketing perspective for a videogame in order to predict its income, sold units, etc. Since this sounds like quite a bit of an impossible task, I thought I could collect some statistic for similar games in order to have an idea. Is there a way which I could figure out selling statistics about games on specific platform? For example collect statistic for game xyz available on Steam platform or game abc available on HumbleBundle. I think that could be a good practice to achieve this goal. EDIT recently was published SteamSpy, which offers a lot of statistics about games on Steam platform.


Marketing a game with limited budget I am building a decent multiplayer iOS Android card based game. While this game is played with regular old 52 cards deck, it does have unique rules and game play. That makes it little hard to market since no one is precisely looking to play initially. I have been researching quite a bit about game marketing and most recommendations are to build out fan following which is also quite hard and time consuming (taking away from building game). I have some indie marketing budget ( 5k) I set aside to help gain some traction. While I understand that this not my strengths, what are the best ways to invest it into the game?