Jump to content
  • Advertisement
    1. Past hour
    2. just switch to javascript and webGL to save yerself a few years of headache - my 2 cents. all windows languages/compilers/source code/philosophies are inherently evil, error-prone and time consuming.
    3. Fertile Soil Productions

      Free CC0 3D Modular Assets

      Created a new website containing several 3D modular asset kits at fertilesoilproductions.com Sample images attached: View full story
    4. Fertile Soil Productions

      Free CC0 3D Modular Assets

      Created a new website containing several 3D modular asset kits at fertilesoilproductions.com Sample images attached:
    5. Today
    6. jbadams

      Hard sell and coercive tactics from Unity

      It seems they're now reaching out proactively with the following message: Hopefully the matter is properly resolved and won't be repeated.
    7. jbadams

      Hard sell and coercive tactics from Unity

      It's a very solid technology choice with a good ecosystem around it. I think there are certainly some other very strong contenders (Unreal, Game Maker for certain games, Godot is becoming more established and viable, numerous smaller engines), but unless you have unusual requirements or prefer doing your own low level work I certainly don't think you can go wrong with Unity as a small developer.
    8. devbyskc

      Hard sell and coercive tactics from Unity

      Thank your for sharing this news. I'm currently a hobbyist developer and have been learning and using Unity for a couple years. The reason I chose it was because of its user-friendly licensing, especially as a newbie to game development. I am working full-time overseas as a government contractor and don't have a lot of free-time. However I plan on retiring in another year and start making games full-time to supplement my pension. As noted in your article, I doubt seriously that I will make over the $100K limit. Maybe after a few years hopefully I will. If so, I would definitely upgrade to ensure compliance and additional benefits. As Scouting Ninja said, I am willing to give Unity the benefit of the doubt. It does seem that Unity's marketing department may not have fully vetted the system prior to implementation. As a hobbyist planning on "upgrading" my work, I would hope Unity does fix the problem and from their response they seem to have done so. I don't have plans to change my game engine even though I could easier than say an established small indie studio. But I like Unity, I like the support available, and I like how it works for me.
    9. jbadams

      Hard sell and coercive tactics from Unity

      Agreed. Would definitely be off putting to receive, but having seen the explanation I certainly wouldn't be making sweeping changes to my tech choices because of this. Hopefully they're proactive in contacting everyone who received the messages and not just those who made a fuss.
    10. I think I have a copy of that on the shelf, I'll see if the CD is still in it. It was probably five years ago when I went through it the last time, but I think it was compiling fine on VS 2010, maybe with some little tweaks.
    11. Wyrframe

      Custom size_t

      Is there a reason you need a target-platform-agnostic integer interpretation of a pointer to void? It doesn't even make sense to me for serialization/marshalling, since if you're using C++, you really should not be using void* for anything except interfacing to non-C++ code. The traditional "size-type" is just "whatever unsigned integer is most efficient for the CPU to operate upon". That can be all sorts of sizes, on all sorts of platforms.
    12. We should find out why you're working on a project for only a few weeks and quitting. Are you losing interest in the project itself? Are you finding too many obstacles that is causing progression to be too difficult? If this has been the trend throughout your 4 years, then you really have a rocky foundation and this will only be one of many more problems you're going to have day after day. If you don't want to continue wasting years of your time then I would suggest you start with baby steps and get to the point where you don't even need a book or tutorial to remake a certain game after learning how to do so. You also need to be using the proper tools on your way to success, otherwise I wouldn't even bother with programming and just look to another hobby. Dump VC++ 6 for starters, and pick up Visual Studio which is free. Are you able to make a 3D Pac-Man game within 30 days using DirectX without using any tutorials or book sources?
    13. Fertile Soil Productions

      Free CC0 3D Modular Assets

      Created a new website containing several 3D modular asset kits. My website: fertilesoilproductions.com Sample images attached:
    14. Scouting Ninja

      Hard sell and coercive tactics from Unity

      Probably just a bot that looks for a game mentioned X times in forums. Then when it believes the user is "popular" it sends the message. It is a side effect of Unity using the honor system. It is difficult for them to know who is making how much money and who is breaking the terms. However in the end this is just a minor inconvenience, when compared to lengthy submission and approval system some other engines use, this is nothing. Even Unreal's system, where you submit a form when publishing feels slow and painful. It hurts me on a personal level to admit that even Unreal has faults.
    15. 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.
    16. 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
    17. 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.
    18. I would work on a project for a few weeks then quit...
    19. 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.
    20. 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...
    21. Yesterday
    22. EddieK

      Tower Defense

      Album for Tower Defense
    23. 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
    24. 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.
    25. 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!
    26. 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.
  • 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!