<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;"><div><font face="arial" size="2">Hi Stefan,</font></div><div><font face="arial" size="2"><br></font></div><div><font face="arial" size="2">I am a QML mentor for KDE games in year's season of GSoC. </font></div><div><font face="arial" size="2">Thanks for your comments. I can't agree with you more with the approach you mentioned.</font></div><div><font face="arial" size="2"><br></font></div><div><font face="arial" size="2">> This can realistically be achieved only by </font></div><div><font face="arial" size="2">> reusing the existing UI-independent parts of the </font></div><div><font face="arial" size="2">> code (what one typically calls "business</font></div><div><font face="arial" size="2">> logic", or "game logic" in this case) as much as possible.</font></div><div><font face="arial" size="2"><br></font></div><div><font
face="arial" size="2">Agreed. So indentifying resusable code is going to be the first task for the students after they are familiar with the existing code.</font></div><div><font face="arial" size="2"><br></font></div><div><font face="arial" size="2">> Ideally, the resulting application code can be built both for the</font></div><div><font face="arial" size="2">> desktop (with the traditional QtWidgets-based interface) and for</font></div><div><font face="arial" size="2">> mobile (with the QML interface), just by toggling a switch in CMake.</font></div><div><font face="arial" size="2">> This will make maintenance much easier.</font></div><div><font face="arial" size="2"><br></font></div><div><font face="arial" size="2">This is an ideal situation. But do you suggest that the QML UI should only be used on mobile devices? QML interface could be pretty cool to be played on the desktop too!</font></div><div><font face="arial"
size="2"><br></font></div><div><font face="arial" size="2">Also for the mobile version - special care needs to be taken for screen resolutions and memory management. Students should bear this in mind should they want to support mobile versions for their games.</font></div><div><font face="arial" size="2"><br></font></div><div><font face="arial" size="2">> Number 2 sounds good. It does not make sense to rewrite the game</font></div><div><font face="arial" size="2">> logic, which is essentially the same regardless of the user interface</font></div><div><font face="arial" size="2">> technology. The exception is that logic code might need some</font></div><div><font face="arial" size="2">> adaptation in order to provide the interfaces which QML wants.</font></div><div><font face="arial" size="2"><br></font></div><div><font face="arial" size="2">Agreed! Is it ok if new logic (if any) is written in javascript / Qt C++? I feel, either one should be
fine but I would prefer keeping all "game logic" in C++ since it's already in C++ and using javascript for UI related logic like view-switching, state changes, animations, etc.</font></div><div><font face="arial" size="2"><br></font></div><div><font face="arial" size="2">> However, I want to explicitly encourage QML students to first strive</font></div><div><font face="arial" size="2">> for an interface that works well for the specific game. When this goal</font></div><div><font face="arial" size="2">> has been achieved, we have a solid basis from which we can determine</font></div><div><font face="arial" size="2">> which parts of this interface can be generalized for use in other</font></div><div><font face="arial" size="2">> games.</font></div><div><font face="arial" size="2"><br></font></div><div><font face="arial" size="2">> On the other hand, I arrived at a usable</font></div><div><font face="arial" size="2">> prototype for
such a component in only one hour using QML/Qt Quick.</font></div><div><font face="arial" size="2"><br></font></div><div><font face="arial" size="2">It makes sense to have a set of resuable QML "game" or even general QML components ready after this activity. But agreed, students should concentrate on the QML interface to work with the game first. However while doing so it makes sense for them to carefully craft all the QML UI components so that they can be easily reused.</font></div><div><font face="arial" size="2"><br></font></div><div><font face="arial" size="2">Cheerio,</font></div><div><font face="arial" size="2">Pankaj.</font></div></td></tr></table>