czyzby / gdx-lml

:octocat: LibGDX utility libraries.
Apache License 2.0
160 stars 25 forks source link

Create alternative gdx-setup #20

Closed czyzby closed 8 years ago

czyzby commented 8 years ago

Since Autumn MVC is unlikely to make it to the third-party extensions and official gdx-setup does not support project templates (and isn't even written with LibGDX, which makes it awkward to extend), a separate setup tool would be nice. Especially since Dragome backend is being created and it should come with a proper setup tool.

General ideas:

czyzby commented 8 years ago

GUI prototype: gdx-setup

WimpyMistake commented 8 years ago

That looks awesome! Can't wait to see more of it.

Edit : what are the Shared and Server platforms? And i think you missed IOS. Edit 2 : now i know Shared and Server platform is for websocket project

czyzby commented 8 years ago

I think a lot of newcomers have problems setting up additional projects, like server (additional application within the same Gradle project) and shared (available for both client and server applications). While you're absolutely right - I will make it possible to use my web socket libraries - I'm also planning on adding template project using LibGDX sockets API.

iOS was omitted, because of RoboVM->MOE transition. When the backend becomes stable enough, I'll include it (same goes for Dragome).

czyzby commented 8 years ago

@kotcrab @WimpyMistake @jpsgamboa The new gdx-setup is currently able to generate simple projects LibGDX. Comparing to official application, these features are currently unsupported:

Additional features:

I'd love to hear suggestions about the GUI, possible third-party extensions and new templates. I'm already working on some more useful template projects, like ones using LML or LML-Vis.

To run the setup app:

git clone https://github.com/czyzby/gdx-lml.git
cd gdx-lml
git checkout gdx-setup
cd setup
gradle run
WimpyMistake commented 8 years ago

Great job! I have tested it and created few projects. Love how it re-populate last created form values and the favourites directory. Anyway, as per my first time experience, i believe it would be better if the setup shows generation progress (maybe some text or progress bar). And like listed above, Success Dialog after generation finished. As for templates, Autumn MVC off course and other gdx library that you have (kiwi, websocket etc). And if possible, provide templates that do something. Example, like the original official app, generated project does display badlogic logo (although its not doing much). In term of UX, i feel that you should use different font colors to distinguish between info and error text. For example, "Project Name cannot be empty" stays as red while "See gdx-pay for cross platform in-app purchasing" to other color (white should be enough)

czyzby commented 8 years ago

Anyway, as per my first time experience, i believe it would be better if the setup shows generation progress (maybe some text or progress bar).

It would go from 0 to 100% in a fraction of second, as it currently takes about a second to generate a new project, 99% of which is the dialog fading time. : P

However, I do plan on adding text area with Gradle logs once optional Gradle wrapper is included.

In term of UX, i feel that you should use different font colors to distinguish between info and error text.

You're right. Errors and links will stay red-ish, info messages will be white.

And if possible, provide templates that do something.

I started with the easy stuff, obviously (for "pros"). Already included simple Scene2D demo. I'll start adding some new templates - for my libraries in particular - but to be honest, this is where I'd love some contributions. I don't feel qualified to showcase all third-party extensions, for example, and I'm pretty sure there are already some nice template project that could be easily converted to gdx-setup format.

czyzby commented 8 years ago

Moved to https://github.com/czyzby/gdx-setup/

czyzby commented 8 years ago

gdx-setup branch was deleted. To check application's current status, see the new, separate repository.