Developer Benefits

hypersurge edited this page May 28, 2015 · 2 revisions

Why Might awe6 be Useful?

Here are some at-a-glance benefits towards developing games using frameworks, and the benefits to making awe6 your framework of choice:

Why are Game Frameworks Useful?

  • Common, consistent language. Multiple people, multiple projects, multiple disciplines all using the same words.
  • Benefit from the expertise of others. By using a stable, proven codebase many pitfalls can be totally avoided and complex concepts adopted (even without understanding).
  • Avoid reinventing the wheel. Adoption of abstracts allows a developer to concentrate on the concrete, and "get the job done" quicker.
  • Focus on the fun. Many games developers would rather concentrate their efforts on the "fluff" than the "crunch".
  • Code reuse. By using a framework separation of concerns is encouraged, allowing code to be modular and reusable.
  • Frameworks = easier = faster = maintainable = teachable = better value.

Ok Sold, But Why awe6?

  • Designed to relieve pain. This framework was developed by senior developers with tens of thousands of hours of professional games development team experience for one purpose - to build great games easily.
  • Versatility / adaptable architecture - this framework was designed for games of any type.
  • Top down approach. By addressing game design using Inversion Of Control focus is on flow, relationships and reuse (rather than spaghetti).
  • Talk in plain language. A game is described as a collection of scenes which allow entities to interact with one another and their respective agendas.
  • More design patterns than we'd care to list. They're pretty much all in here (except Singleton!), doing the job they need to do without ego.
  • Ready-to-run boilerplate. Fully Agile methodology friendly out of the tin ... every project starts from a working, compilable game ... iterate until "complete".
  • Follows strict and mature conventions leading to development benefits such as Solid.
  • Future proof. Platform agnostic declarative interfaces means this framework is concerned with what (constant), not how (flux).
  • Leverages the great work of others. Encourages the inclusion of the "best tool for the job" (e.g. physics, rendering etc) via third party libraries rather than provide one-stop-shop lesser alternatives.
  • Proven and deployed. Millions of gamers have enjoyed games made with awe6, you can be sure it is robust.
  • This framework is just the beginning. Designed to drive IDEs, commercial component channels, dynamically loaded libraries and multi platform targets, the awe6 story is just beginning.

Community Framework (e.g. awe6 under MIT license) vs Developing Proprietary Framework?

  • Usefulness. Community projects are by definition "useful" else they wouldn't exist (there is no other motivation).
  • Demonstrable quality control / "Linus' Law". Community projects are open to public scrutiny, therefore anything that can be considered "wrong", will be identified and likely addressed.
  • Compatibility. Permissive licenses allow code to be used in almost all circumstances. Proprietary tends towards restriction or risks incompatibility. Saves time, reduces risk.
  • Customization. Use what you need, in part or in full. Modify to suit. Return your contributions back to the project as you see fit. Saves time, increases opportunities.
  • Freedom. Lock-in and proprietary technology limits future options (or makes them subject to vendor mercy) - adopting sharealike returns focus to the best solution.
  • Propagation. Community adoption and voluntary co-development opportunities become almost impossible with proprietary.
  • Accepts reality. Any client side proprietary code can be decompiled - there are no secrets so embrace the positive benefits of sharealike.
  • "Free" software is not anti-commercial, but highly evolved commercialism with the emphasis on value. Sell these virtues for real money as unique selling points!
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.