Jump to content
  • Advertisement
    1. Past hour
    2. jbadams

      Hard sell and coercive tactics from Unity

      It looks to me like an unfortunate incident with a couple of automated systems which may not have been ideally thought out or fully tested before deployment. The resulting messages are very unpleasant for developers -- especially as they seem very dishonest and accusatory due to the mishap -- but unfortunately these sort of things sometimes happen. Hopefully, the changes prevent anything from happening again - manual review of all future messages seems like a good approach that should help to reduce similar mistakes.
    3. Unity® software is one of the most popular options for beginning and established indie developers. With a great feature set and range of target platforms it’s a very attractive choice. The popularity of Unity® software is in no small part thanks to a very liberal free license tier which allows developers grossing less than $100k annual revenue to use the fully featured engine at no cost. While it’s reasonable to expect that Unity Technologies would try to attract developers on the free tier to upgrade to a Unity Plus or Unity Pro license, it would seem some developers have been the subject of dishonest hard sale tactics and even some coercion. We’ve spoken to several developers, and it seems there is a pattern to these aggressive sales tactics beginning with a message like the following: Nothing is particularly amiss here. The message is polite, not overly pushy, and simply invites discussion of an upgrade. Unfortunately, however, it seems this “cold call” style message is a little dishonest. Several of the developers we have spoken to have received this message despite no mention of their project on LinkedIn, and at least two are not even registered on the platform. The above message has then been followed up with a message suggesting developers are in violation of Unity® software licensing terms due to a higher revenue than the allowed $100k. Now, these aren’t big-name developers with highly successful projects receiving the messages. Some trivial investigation of the developers’ social accounts or websites would reveal they have not earned anywhere close to the limit. One developer Tweeted: Mike Berg of We Heart Games (who kindly provided the above images) had the following to say: At the time of writing, Unity Technologies has not responded to our request for comments, but have been in contact with some of the affected developers. Mike Berg has kindly shared part of his exchange, which you can view in full on Twitter, and we have included part of here: Hopefully, the follow up from Unity Technologies and reduction of automated processes prevents similar incidents from happening in future, though in at least some cases it seems it’s too late to win back customers who have received the messages and are now considering alternative options. The Unity logo and Unity product names are the property of Unity Technologies. View full story
    4. Unity® software is one of the most popular options for beginning and established indie developers. With a great feature set and range of target platforms it’s a very attractive choice. The popularity of Unity® software is in no small part thanks to a very liberal free license tier which allows developers grossing less than $100k annual revenue to use the fully featured engine at no cost. While it’s reasonable to expect that Unity Technologies would try to attract developers on the free tier to upgrade to a Unity Plus or Unity Pro license, it would seem some developers have been the subject of dishonest hard sale tactics and even some coercion. We’ve spoken to several developers, and it seems there is a pattern to these aggressive sales tactics beginning with a message like the following: Nothing is particularly amiss here. The message is polite, not overly pushy, and simply invites discussion of an upgrade. Unfortunately, however, it seems this “cold call” style message is a little dishonest. Several of the developers we have spoken to have received this message despite no mention of their project on LinkedIn, and at least two are not even registered on the platform. The above message has then been followed up with a message suggesting developers are in violation of Unity® software licensing terms due to a higher revenue than the allowed $100k. Now, these aren’t big-name developers with highly successful projects receiving the messages. Some trivial investigation of the developers’ social accounts or websites would reveal they have not earned anywhere close to the limit. One developer Tweeted: Mike Berg of We Heart Games (who kindly provided the above images) had the following to say: At the time of writing, Unity Technologies has not responded to our request for comments, but have been in contact with some of the affected developers. Mike Berg has kindly shared part of his exchange, which you can view in full on Twitter, and we have included part of here: Hopefully, the follow up from Unity Technologies and reduction of automated processes prevents similar incidents from happening in future, though in at least some cases it seems it’s too late to win back customers who have received the messages and are now considering alternative options. The Unity logo and Unity product names are the property of Unity Technologies.
    5. I would work on a project for a few weeks then quit...
    6. The second option is the closest to correct item but by tying components to specific systems you are breaking some of the intended utility of ecs. Of course this may fit your intended usage patterns but it doesn't work for some of the uses I've put my system to. Take the physics component as an example, I often want to access the physics component from many different systems. Some concrete examples: audio system uses the velocity for doppler effects, AI systems use velocity to calculate intercept vectors, rendering can use velocity for trails and particle emitters attached to the entity as the velocity to initialize new particles to. As to the idea of entities knowing about their components, from a singular point of view, they don't generally need it, but when you are doing things like querying the world for a list of entities around a point, filtering by what components exist on each entity is a good thing and then of course computing something based the components of the entities found is generally the goal of such a query. So, overall, you are loosing a lot by not having a generalized iteration system for your entities. The way I approached this is by having a core 'system' (otherwise known as the EntityManager) which owns all of the component containers. Any system added afterwards can then request an 'index' from the core system. I don't believe I have a single system in use that has an iterator which is a single component, I'm almost always interested in Transform and at least one other component. I.e. rendering generally needs transform and the renderable components, audio needs transform and audible components, etc. At the most simplistic, managing the indexes is actually fairly easy. An index is simply a vector of entity ID's. Every time you add/remove a component on an entity you look through all the indexes which exist and check if the index is watching for that component. Removing components is trivial, if the index contains the given entity and a component that index is watching is removed, just remove the entity from the index. Adding is a little more involved in terms that only if the component being added is the last component needed for the index to be interested in the entity do you add the entity to the index. Implemented in the simple way yields a usable ECS system without the limitations your two suggestions would introduce. I would highly suggest doing this in a correct manner the first time at least and then simplify later. The abilities you are loosing by not going with a full implementation could be critical to your ability to actually use such a system.
    7. Today
    8. My reply had a tint of sarcasm. I was just trying to see if the OP had any actual experience making real games which consists of a lot more than just having an idea and opening up VC++ 6. Even though it might come across as being harsh I'm genuinely trying to help like everyone else here. I honestly think the OP needs to really build up a strong foundation in game development and slowly take on something like DirectX, not go full blast into RTS games and Online FPS games without any foundation. Playing around with old tools and APIs doesn't make sense unless you're just curious and looking to dabble, but this isn't something you should be doing when you're starting out. I already figured out this was beyond the OP's scope. I've been at this long enough to know that if you're not able to take universal programming concepts, and apply them to a new API by reading the documentation, then you're running before you can even crawl. If I'm wrong then so be it, but sometimes people need the cold hard truth...
    9. Yesterday
    10. EddieK

      Tower Defense

      Album for Tower Defense
    11. Hi, I recently thought about size_t vs std::size_t and ended to the conclusion that std::size_t should be used if the code is c++. Is it a correct conclusion about the both ? I then was curious about Unreal Engine and saw this: template<typename T32BITS, typename T64BITS, int PointerSize> struct SelectIntPointerType { // nothing here are is it an error if the partial specializations fail }; template<typename T32BITS, typename T64BITS> struct SelectIntPointerType<T32BITS, T64BITS, 8> { typedef T64BITS TIntPointer; // select the 64 bit type }; template<typename T32BITS, typename T64BITS> struct SelectIntPointerType<T32BITS, T64BITS, 4> { typedef T32BITS TIntPointer; // select the 32 bit type }; typedef SelectIntPointerType<uint32, uint64, sizeof(void*)>::TIntPointer UPTRINT; typedef UPTRINT SIZE_T; Any thought about it ? Is it a good way and safe ? Thank you
    12. A) Quake was originally written as a software renderer for DOS. B) It's really old, C code. C) It has no bearing on an RTS that you claim to be making. He said a lot of them were unfinished, but didn't state how far along they were. I doubt in 4 years, while going to school many got more then a short ways in. Starting 100 game projects I could do in a single day. Getting them to a very early testing stage with programmer art is another thing completely.
    13. Nonamee Vektor

      Virtual Inheritance

      Hi! I was reading the documentation how to register classes with hierarchy, however i ran into problems while doing it. In my cpp project, i have two classes which cannot be changed: class IEntity { public: virtual int GetType(); }; class IPlayer : public virtual IEntity { public: virtual void DoThing(); }; Registering: template <class T> void RegisterBaseMembers(asIScriptEngine * engine, const char* type) { engine->RegisterObjectMethod(type, "int GetType()", asMETHOD(T, GetType), asCALL_THISCALL); } template <class T> void RegisterMembers(asIScriptEngine * engine, const char* type) { RegisterBaseMembers<T>(engine, type); engine->RegisterObjectMethod(type, "void DoThing()", asMETHOD(T, DoThing), asCALL_THISCALL); } //later RegisterBaseMembers<IEntity>(engine, "Entity"); RegisterMembers<IPlayer>(engine, "Player"); Errors: 'type cast': cannot convert from 'int (__cdecl IEntity::* )(void) const' to 'void (__cdecl IPlayer::* )(void)' 'asSMethodPtr<16>::Convert': no matching overloaded function found Seems like it works only if the inheritance is not public virtual, but the problem is, im not allowed to change the IEntity and IPlayer classes. Thanks!
    14. I went with each system (physics, movement, input, etc) having it's own container of components. My entities are just an ID and in debug mode have a std::bitset with each component type being transformed into a value between 0 and however many component types there are and checking off the correct place in the bitset for easy checking. No need for the entities to hold known components it has, really, at all and I plan to remove the bitset part of mine and make them pure ID's only. Physics knows it needs to know about movement components (so it can get the data, read-only) so it gets passed in a reference (pointer from a unique_ptr in my case) to each system it needs to know about. So my physics system basically sends a list of entity ID's to the movement system (since it knows what entities have physics) which gives it a list back of them (continuous in memory for cache-nice-ness). I've read dozens of articles on different ECS setups and I have yet to see a good reason for entities knowing about their components. You would think it would be useful, but you really have no real reason to ever query it. Even with my bitset setup, I only queried it for testing purposes and have not really used it in months. Hence me removing it soon.
    15. It is good to see that you aren't giving up. It is literally the first step on the long journey to becoming a developer. I have two tips that I wish I knew back when I started. 1.) Learn how to make Classes and Functions. These two programming concepts are designed to make programming easy, shorter and faster. 2.) Prototype in 2D. The thing you will see as you make games is that 2D and 3D work the same, but 3D looks more complex especially when it comes to math. However because 3D is just 2D with a extra dimension, you can often make code in 2D and just use it in 3D without needing to change much; except adding a extra float. The nice thing about working with a upcoming engine like Godot is that you will be among the pioneers. The documentation is sparse, yet as you gain experience you can help others. I expect we will be seeing a lot from the Godot engine in the next few years.
    16. Okay, the reason why I'm asking is because maybe you're taking the wrong approach to game programming if you don't have enough practical experience completing games. I've seen people with years of learning but they still cannot open up documentation and create games without books or tutorials. I also know people who have a few years, but they're able to create and finish projects at a faster pace as the concepts 'click' and they have amazing problem solving skills on-top of being very analytical. 100 game projects within only 4 years of programming and 2 years of GPU programming is very good so I'm very confused on how you're running into any problems understanding the API, or conforming to optimal programming practices and workflows. I guess there is nothing I can offer if you've accomplished such a mile-stone considering the amount of experience you would get from working on so many games. Best of luck with your project as it looks like you're going down the Quake source code route.
    17. I have circa 100 projects I have worked on, but a lot of them I have not completed because they are too big and going to school gets in the way. I did make a “complete” RTS engine with multiplayer and a map editor, but I am in the process of converting it to a modern os. I did this in C++ and DirectX. Previously, I made another engine with Java and OpenGL, buuuuut I had to factory reset my desktop and I completely lost the project because my computer was made unusable.
    18. Is this RTS your first game you're working on? Have you completed other games prior using any API?
    19. I’m in the process of making a RTS game... I already have the engine I made, I am just designing the game. I am stuck at the impass of artwork.
    20. Are there any free shader resources publicly available on the net? it used to be a lot, but all seems to be gone. thanks Jack
    21. Hi everyone!) Im creating soundtracklike music at the moment and i wonder if i can do it for some great game developers. Google lead me here and i want to ask:how do i start working with people and creatings soundtracks?.I`m going to do it for cheap,i`m looking for experience,not bags of money) Here are some examples of my work https://soundcloud.com/user-345467319 And are there any preconseptions which lead tp misunderstanding in the game industry?I ask,because i`m russian and Russia has not the best reputation i the world,so i sometimes run into unpleasant situations.Can it happen here? Thank you for your attention and your answers in advance!)
    22. Scouting Ninja

      Weird shoulder rotation

      The problem is very simple, you have too many possibilities. You need to reduce the amount of possible IK solutions. Constraints should be first. Human arms have limits that reduce possible movement. Second should be pole vector. This is some kind of best case solution, often targeted by the elbow or knee, that the solution should strive for. With pole vectors and constraints you will be set for basic animations like this.
    23. Yeah, I see that Godot is the answer, and I just saw a video that shows how collisions can be done with simple code. Watching more videos might reveal more.
    24. gaxio

      Weird shoulder rotation

      Yeah, I can't see anything in that video. Use screen capture software instead of your phone and turn the gizmos off. There's a giant camera gizmo covering his shoulders.
    25. Hey All, was hoping I could get some feedback on my game. This is my first attempt and first game to have created. My blog is here: If you would like access to the beta and have an iPad/iphone to give feedback let me know. Game is available on Apple IOS TestFlight. Thank you for taking the time it’s extremely appreciated
    26. A serious passion project with unique idea is what you are looking for? Then our project is the right one for you. Project name: Justicia - the rule of law Team size: 5 My skills: Team Manager, Marketing, Game Design, Programming Project length: about the end of 2019 Payment: Rev Share Role required: Programmer Skills we need: - Fervor - at least one (better two) years of experience with Unity C# Time required: approx. 4-5 hours per week What can we offer: --a game idea with real commercial potential - a very friendly team - a fair rev share (Rev Share Agreement if necessary) Game Idea: You want a game which is really intense and exciting in the puzzle genre and with a unique setting? Than the job as judge is exactly what you are looking for. You need to make hard moral choices and combine statements and proofs to draw your own conclusions and all of that in the tense setting of a dictatorship in a Mexico similar country. Forget about your fear and make your country a better place, whether you choose government or rebellion! Decide on the development of your country in the PC game JUSTICIA! (More information in our recent GDD: Goo.gl) Contact: stonepunsh.studio@gmail.com Apply until 24.07 6pm CET. You can find more information about the game on our unfinished website: Stonepunshstudio.wixsite.com Cheers Finn
    27. lawnjelly

      Texture tools

      Oo good catch, I'll have a look at that tomorrow!
    28. JoeJ

      Texture tools

      I liked this paper: https://hal.inria.fr/hal-01824773/file/HPN2018.pdf Did only look the images so i do not understand it , but maybe the histogram idea is useful here too...
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!