CWE Accessibility & Casual Development

Discussions About CyanWorlds.com Engine Client & Plugin
User avatar
JWPlatt
Member
Posts: 1137
Joined: Sun Dec 07, 2008 7:32 pm
Location: Everywhere, all at once

CWE Accessibility & Casual Development

Post by JWPlatt »

This was going to be an email to just a few people but the subject matter really applies to community involvement in the development of CWE. So upon considering that the intent of my concern is really about the community, I'll post it here. I have spelled out the mystical acronyms to be more friendly for the casual reader.

Hi all,

If there is one daunting thing that stops me from trying to do anything with the CWE code, it is the fact that I can't click on a Visual Studio (VS) Solution and work entirely in the Integrated Development Environment (IDE) without going to the VS or Operating System (OS) Command Line Interface (CLI). From my point of view (sorry, rarifed), command lines suck, especially where there's any need for scripting or typing a whole slew of command lines (essentially a script) that feed OS utilities that often have arcane names and even more arcane command structures and options. Take "gimp," for example, the *nix "GNU Image Manipulation Program" that is actually not the derogatory term that some twisted *nix coder came up with as a "creative" play on words. Arcanery - enough said. A non-integrated environment such as a CLI makes projects elite and inaccessible to people who could otherwise be able to contribute with code because the learning curve just to get there is so much steeper. That's why I love SourceTree, the repository Graphical User Interface (GUI); it's the kind of thing that lets coders code without also taking time out to learn the CLI and being a repository engineer. It should "just work" without all that. I want to be able to navigate and work in the IDE and click compile to produce the plug-in, client, and MOSS - or at least the client. I've used VS extensively for .NET and Unity3d projects and never once in over ten years have I had to learn or go to the command line. I use Build events because they are in the IDE. For the H'uru folks, I don't even know whether CMake is available under an IDE that is equivalent to VS. Eclipse? I assume CMake is traditionally used with a "manual" CLI. I've never looked into it, and the big reason for that is I don't have time to learn totally new systems just to contribute to a hobby. But I might have time to drop into an IDE where I could simply concentrate purely on code without all that other learning.

Is there any hope of getting to that point? Not just for me, but for anyone who doesn't want to spend days finding and following documentation and pages of instructions on how to build and execute a shard, but is pretty handy with code?

Thanks,
JW
Perfect speed is being there.
Christian Walther
Member
Posts: 317
Joined: Sat Dec 13, 2008 10:54 am

Re: CWE Accessibility & Casual Development

Post by Christian Walther »

We are at that point. Have been for a long time.

For the H-uru/Plasma client: CMake has a GUI on Windows and produces solutions for the IDE of your choice among Visual Studio 2010, 2012 and 2013 (not sure about the latter two, I use 2010, but I think others use them). No need to touch a command line that I remember.

If you’d rather work on CWE-ou with Visual Studio 2003, that should work too if you can live with having local modifications in your projects for the few preprocessor defines that we set externally in the command-line build system (or possibly launch the IDE using a batch file that sets the CL environment variable, I haven’t tried that).

For MOSS, to my knowledge nobody has produced projects for any IDE, but that could certainly be done if those who want it are willing to put in the effort.
User avatar
JWPlatt
Member
Posts: 1137
Joined: Sun Dec 07, 2008 7:32 pm
Location: Everywhere, all at once

Re: CWE Accessibility & Casual Development

Post by JWPlatt »

It's funny that I would not know this, though I admit my work on this project has been mostly at the organizational level rather than code development. My assumptions were that it is much harder to compile the plugin/client than a download, open solution, and click. Maybe we need to push awareness that it's not as hard as imagined. But one thing I am guided by in my impression is that the phrase "command prompt" appears twice in a complex setup on our wiki page:
http://wiki.openuru.org/index.php?title ... _MSVC_2003

Do our documented methods and push to the community need an update?

The CMake Editors wiki page describes the use of Eclipse and Visual Studio 2010 with plugins.
http://www.cmake.org/Wiki/CMake_Editors_Support

I use VS 2010, but also have 2005 and 2008 installed. Our wiki instructions describe 2003, but if I recall correctly, work has been done for compilation under newer versions and there is a short section for VS 2010 on the above MSVC 2003 OU wiki page with a note from you that it should be moved to its own 2010 page someday.
Perfect speed is being there.
Christian Walther
Member
Posts: 317
Joined: Sat Dec 13, 2008 10:54 am

Re: CWE Accessibility & Casual Development

Post by Christian Walther »

JWPlatt wrote:But one thing I am guided by in my impression is that the phrase "command prompt" appears twice in a complex setup on our wiki page:
http://wiki.openuru.org/index.php?title ... _MSVC_2003
Oops, yeah, I forgot that setting up all the prerequisite libraries and stuff for CWE-ou is a hassle. That might indeed involve some command line use. (That’s one of the two occurrences of “command prompt” on that wiki page. The other is what you should also be able to do in the IDE.) It’s a one-time step though – I forgot because it was years ago that I did it.

(For H-uru/Plasma, you can download all the open-source stuff prebuilt in a zip file that you just expand and tell CMake where it is. Something like that could probably be provided for CWE-ou too if someone felt like doing it.)

I also forgot about the VS 2010 projects in CWE-ou. If I recall correctly, there’s no command-line script for the client build there at all, the projects work in the IDE as-is. I haven’t used them in a while though, so I can’t rule out some bitrot. Prerequisites however are the same hassle.

Really, if you’re after ease of development, H-uru/Plasma is the way to go. It has lots of improvements in that regard that we can’t make to CWE-ou, which needs to stay compatible with Cyan’s antiquated build environment.
JWPlatt wrote:The CMake Editors wiki page describes the use of Eclipse and Visual Studio 2010 with plugins.
http://www.cmake.org/Wiki/CMake_Editors_Support
That page seems to be mostly about editing CMake files, which you don’t need to do unless you add new source files, add libraries, or the like. And even if you do, a plain text editor works just fine for that if you’re not coding complex configuration routines.
User avatar
Mac_Fife
Member
Posts: 1239
Joined: Fri Dec 19, 2008 12:38 am
Location: Scotland
Contact:

Re: CWE Accessibility & Casual Development

Post by Mac_Fife »

Like Christian, it's some time since I did all the prerequisite library building etc. so I don't remember much about it now. Doing the libssl/libeay stuff I do recall being a bit of a CLI guddle (I wrote up some notes on that) - not hard, just a guddle, and I agree it could put people off. But it was a one time thing and since then I've been building in the VS2010 GUI with the solution files - there were a couple of libs, I think, that I had to tweak the solutions for to get them to build, but that was it.
Mac_Fife
OpenUru.org wiki wrangler
User avatar
Hoikas
Member
Posts: 344
Joined: Fri Jun 03, 2011 8:38 pm

Re: CWE Accessibility & Casual Development

Post by Hoikas »

We fixed this problem approximately three days after the source drop... :?
Image
User avatar
JWPlatt
Member
Posts: 1137
Joined: Sun Dec 07, 2008 7:32 pm
Location: Everywhere, all at once

Re: CWE Accessibility & Casual Development

Post by JWPlatt »

I think we need to make it better known to the community how easy it can be - I hope - to point and click to contribute code to the community. There exist good developers who really can't be bothered with the time it takes to learn the arcanery of command lines for Windows, Linux, Mercurial, Git, and their development IDE of choice. But they understand an API, are expert with most languages, can use any IDE, and are quick to learn the structure of existing apps - all without going beneath the GUI. Besides the obvious issue of content to make MOULa more interesting to players new and old, we need to lose the secret handshake - the barrier - to casual development, or at least the thought that there is one. That means "download and code" without leaving the familiar graphical environment.
Perfect speed is being there.
Christian Walther
Member
Posts: 317
Joined: Sat Dec 13, 2008 10:54 am

Re: CWE Accessibility & Casual Development

Post by Christian Walther »

I have edited http://guildofwriters.org/wiki/CWE:Getting_Started to mention Git GUIs such as SourceTree as an alternative to the command-line interface.

Anything else? Maybe an introduction explaining the differences between CWE-ou and H-uru/Plasma on the OU wiki?
User avatar
JWPlatt
Member
Posts: 1137
Joined: Sun Dec 07, 2008 7:32 pm
Location: Everywhere, all at once

Re: CWE Accessibility & Casual Development

Post by JWPlatt »

That's a good start, thanks. To be honest, there probably needs to be some separation in the text between developer types: instructions for those who don't like command lines listed first, and then instructions for those who do instead of requiring folks to pay attention to context within the same sentence and paragraph to extract what they need to know. For instance, sending folks off somewhere else to do more reading is an instant turn-off, referring to "If you're not familiar with Git, you might want to read up on it thanks to some of Github's excellent articles." Why would they want to be familiar with Git? The sentence in that position implies they have to be familiar with Git to write code. They don't, really. Git has a reputation. Git is scary. But folks can use SourceTree and have nearly no knowledge of Git beyond what to click on in the GUI. In SourceTree, "Git" is just another word for community storage, code sharing and collaborative projects - and that's all we need to know with the few very basic concepts of commit, push, pull, and staging changes.

I'm really speaking of a top-down approach to "download and code" that should start from the home page of an open source project website. The best ones are graphical (of course) and don't make you read or click a lot before you understand within a minute the nature of the project, the licence, what language is used for development, and how to download and start coding and contributing. There are quite a few good project sites around as examples that I have looked at. When I get a chance I'd like to move OU along to something in that regard while at the same time mapping out the community within this presentation so visitors know exactly where to go, such as the GoW, for what they need. While avoiding command lines entirely, of course. ;)
Perfect speed is being there.
User avatar
Luna
Member
Posts: 11
Joined: Sat Apr 09, 2011 2:37 pm

Re: CWE Accessibility & Casual Development

Post by Luna »

With the github client for mac and windows you can already directly clone the repository from the github website. With sourcetree it isn't that much harder.
Cmake is also easy to setup and use with the GUI.

The problem is not the build setup, it is the ugly mess that resembles the code base. But that isn't that much different in other projects, large code projects are never easy to get into.
Post Reply

Return to “CyanWorlds.com Engine - Client & Plugin”