Git Product home page Git Product logo

Comments (3)

xbrukner avatar xbrukner commented on April 28, 2024

I believe there are things you could focus on when finding out who would use your software, and those are the advantages C++11 gives you. The theory behind this is that other frameworks (older) will not be in C++11 and therefore not as flexible as yours. So you can focus on someone who would build a new software (which may not only be games, what about 3D visualisations?) - and these people need clear examples on how to use it. Also, because the C++11 is yet to be widely used, you have time to do this while the other frameworks only catch up with features C++11 can give them.

Also, writing such examples (and tutorials) gives you some feedback on code you could improve.

from magnum.

mosra avatar mosra commented on April 28, 2024

Awesome ideas, thanks both :-)

Conventions and opinions

For me unconventional naming was mainly what scared me off many frameworks years ago (various SingletonControllerFactoryProvider-like things), I would rather not introduce new terminology if it is not absolutely necessary (we have already signal/slot connections and features in SceneGraph) and rather promote slightly different coding conventions (e.g. method chaining, "garbage collected" SceneGraph, various things unique to C++11) which will people get used to and then miss it in other frameworks.

Opinions - I think Design goals are a good start, although something more radical might be better :-)

Step-by-step learning with stub application

I like the idea about having "pre-packaged" stub application which can the user download, compile and then build upon. Native Client employs this idea and I think it works.

However I don't know what is the minimal set of features to include in the stub -- someone would want to just play with some postprocessing shader, someone wants to build a static scene, someone wants to do crazy offscreen image processing, someone wants it already ported to all platforms and integrated with that one physics engine... I think that at minimal it should contain some directory structure with all needed CMake files and main.cpp with barebone Application implementation with all the routine things already solved for the user. Solving trivial choices is very good point, thanks.

The tutorials are currently not written in step-by-step manner, but they are just explaining existing code. Will approach like "open this pre-made file, replace this line with this and see what happens" be better? This would be tedious to write and maintain for all tutorials and having it only in one doesn't cover all the remaining use cases.

Community

Yes! I think best would be to finish and polish a demo (Push the Box, probably), port it where possible (NaCl, Android, WebGL, native executables?) to show that this isn't just an academic project with no real use and then build at least some project website and publish it everywhere :-)

The website should contain link to live demo, feature list and some code examples showing how intuitively and easily it's done with C++11.

from magnum.

mosra avatar mosra commented on April 28, 2024

I think something useful is already done for now, let's close this so it doesn't creep here.

from magnum.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.