@TheKraken7 said:Okay so the new launcher will no longer need to copy the entire instance folder in order to save separate configurations. Internally we can dynamically resolve a list of the enabled mods for the selected configurations and pass the paths to the the Forge Mod Loader. There are a few more things I am considering, but this is the basic idea.
See this https://github.com/MinecraftForge/FML/wiki/New-JSON-Modlist-format
@TheKraken7 said:Okay so while I am working on finalizing the mod management and launch process code, I am also putting together the login system on the UI. This is quite simply because it needs to be done regardless and I'm sick of typing my credentials into the code files directly in order to test things haha.
I think it will look much nicer if we show the login stuff on a customized view. This is because it gives us more space to include necessary details and just generally looks nicer. I am playing with an early concept, and need help with the design.
This is by no means a final design, it's just a way of showing the concept. I placed a semi-transparent background over the main launcher content to draw focus on the login box. If the transparency doesn't look good I can change it to a solid background. Alternatively, we could use one of our renders as the background image.
In the center of the frame we will put the login stuff. What I currently have is likely to change dramatically, as I really want a new, solid design.
Here is a concept I think may look good, pulled this off google.
I am trying to put a WesterosCraft feel to the login view but my tests just arent doing it for me. Hopefully you guys can help me out with a design.
Tagging these users because they are designers [user]3296719[/user] and [user]9497028[/user]
@pizzainacup said:I would stay away from renders on the backgrounds for the most part. Yea, [user]carc[/user] or [user]red[/user] we could really use some help in this department!
@TheKraken7 said:Okay so as I mentioned previously I'm going to use FML's modList format to store separate configurations. This will enable us to have a single instance for each server, simply specifiying which mod to load with the client. I am thinking ahead as to ways we can do this and still preserve "further modability", that being allowing users to utilize our launcher and add extra client mods not included in our distribution index. I've come up with a system that I think should suffice. For each server configuration we will have two files stored {serverid}.json and {serverid}-user.json. I am thinking of storing these in the directory {basePath}/mods/{serverid}.
The first file will be what is maintained and updated by the launcher. Each time the launcher patches and downloads the latest mods from the distribution index, that file will be deleted and regenerated in order to delete any outdated mods and to list the latest ones. Also, if a mod from the distro is enabled/disabled from the UI, that file will be updated to reflect the changes.
The second file (appended with -user), will be a file untouched by the launcher. If a user wishes to load additional mods ontop of those we specify they can download them and provide a reference them in that file. That file will list the configuration's main file as the "parent" so that our mods are loaded with it. In the future (after an initial release) I am hoping to add a new UI section where users can easily add "custom" mods without having to much editing of the configs themselves. Our goal with this launcher may not be to support custom mods, but I think having an avenue open to future support is for the best.
Here is an example view:
The file references are formatted as so {group}:{artifact}:{version}. For example, on windows "com.westeroscraft:westerosblocks:3.0.0-beta-71" becomes com\westeroscraft\westerosblocks\3.0.0-beta-71\westerosblocks-3.0.0-beta-71.jar. These files will be found {basePath}/modstore as shown in the image. If you have a better name for the mod storage folder than modstore, let me know. It's just a name I came up with quickly.
To load the client with the specified mods we should only need to pass the argument --modListFile {path/to/config/here}
I am still looking into how this system will work with LiteLoader. I will update this post when I figure out how to implement litemods.
@TheKraken7 said:In addition to what I posted above, it would be great if we could get together in Discord soon for a meeting on the UI design. The original design is mostly fine, but as I mentioned a few posts ago some things need to be changes/improved to fit better with the functionality of the launcher. There have been a few designs floating around, namely my proposals, the designs [user]9497028[/user] is working on, and some changes proposed by my friend who has joined the launcher team for UI development. With all of this going on, we still don't have a solid final design and we really need to start on that soon since the July goal is just a month away.
Ideally I'd like to get together with some of the designers and probably some admins/mods so we can solidify the design. From there I'd like to have some new concept images made so that the UI can be built as close to the agreed upon design as possible. It can be hard and time consuming to work from a mental image haha.
[user]3345286[/user] would you be able to set this up? We need to get moving on this UI, and a final design would help a lot
@TheKraken7 said:Okay so at sometime tomorrow afternoon (eastern US time), I will be meeting with others on the launcher team, I hope that anyone willing to assist with the situation I mentioned above can join us.
In addition to that, I expect to be going to Europe on or around the 16th of July, being gone for about 2-3 weeks. I don't want to take off and not be around to fix any outstanding bugs, so I really want to have an initial release done at least 10 days before that, so let's say July 6th. That can be done fairly easily if this project gets more community support (particularly in the UI design department, as the lack of a proper final design is killing further progress). If that doesn't happen and we aren't in a good place by the 6th, the release will probably have to be pushed back into August.
If we are ready for release at about the same time I leave, the release can still take place I would just advise against it unless someone is on standby to patch any issues discovered.
@TheKraken7 said:Hey everyone, I have some quick updates. I'm currently working on resolving the mod loading stuff. I have the process completely worked out for forge mods, the only issue is that LiteLoader and FML are two different animals. I am considering options on how to approach the implementation of LiteLoader to have it work in a similar and fluid way. So far I am considering three options, however these are all using LiteLoader as a library and passing it to the LauncherWrapper as a tweak class. I've seen in various places that liteloader can also be loaded as a forge mod although I don't know how that works completely. I've spent a number of hours studying the first method to become familar with the launch process, hence why I currently have three options. I will run some tests having liteloader as a forge mod simply so I can cover all my bases. Once I have this stuff finalized I'll make a post with the specifics. In the meantime, if any other coder is interested in discussing this with me so we can find the best way to implement liteloader, I'd love to exchange ideas.
Other than that, I've messaged pizza with a list of some things that definately need to be included/fixed in a final UI design. I'll post that here so people can take a look aswell.
TheKraken7 said:Just so you know a few of my concerns with the current one I'll briefly list them.
• The original login area will not work, as it attempts to put too much into such a small space. When transitioning from the "login" to "logged in" views, it's hard to match the sizes as much more content is displayed in the former than the latter. In addition to that several things are left out. Specifically the "logged in" view, and where we will have a profile selector for users to switch accounts or login to a new one. Another thing is that we should have links like "forgot password" and "register/buy minecraft" which redirect you to Mojang's sites. There should additionally be some sort of disclaimer on the login area that says something along the lines of "We are not affiliated with Mojang AB or Microsoft" and then something additional which reassures users we arent stealing their login data.
• The news page should not be directly loaded anymore. I've mentioned before that we can give this launcher a more native look and feel if we embed the news articles by constructing our own news area. The content of the news articles will be provided by a RSS feed, which the enjin news module has. You can see that here http://www.westeroscraft.com/api/rss.php?preset_id=12700544
• There are no progress bars on the original design and I have no idea where to put them. Are we going for the same type of thing as the current launcher where we have multiple progress bars, or shall we settle for only one? Should the progress bars be hid away on some tab or should it be always present? Personally, I would prefer it to be always present. The fundamental purpose of the launcher is to download the game and mods for you, so it seems natural.
• The settings menu design provided before is very barebones and frankly I'm not a huge fan of it. It seems crammed into one small area and the design isn't very modern. For example, take a look at how discord displays its settings menu. That's much nicer to look at and navigate. We need to come up with a new layout for ours.
• The mod selection view has no design currently. This is the part of the UI where users can select which mods to enable/disable if we list them as optional on the distribution index. I plan on having this be a more prevalent feature of this launcher because we can do some cool things by providing "extra mods" to the index and having them disabled by default. As an example, many people want to use shaders on the server but it's a MASSIVE headache to install them by yourself. Instead, we can simply put the shaders mod on our index and disable it by default. Therefore if a user wants to enable shaders they can go to this part of the UI and click a checkbox next to "shaders" (or something fancier than a checkbox, we still need the design xD). From there, shaders is enabled and it took them no time to setup, a direct contrast to our current launcher where if you want shaders you better be ready to build our modpack fresh on the vanilla launcher to coerce optifine into loading it.
• We have no idea how the animations on the launcher should look. As a very basic example, how should the buttons look when they are hovered over? When they are clicked? The current design does not give insight into this, among other things. Ideally we should know how each aspect should look when it's interacted with.
• Server selection area on the current design will not work. When I first got the design last fall I did not know how we save server configurations so I thought it would be fine. It's actually not, and I'll explain it plainly so you can see the issue. The launcher has no control over which servers are showed, it looks to our distribution index for instructions. Each server listed there is displayed by the launcher. The current design has only enough space for two server configurations. If a third is sent to the launcher, where would it go? If only one is on the launcher, there will be a large gap. We need an area that can display an indefinate number of servers. This can be done in a number of ways. The most basic would be a dropdown menu in which the options are the servers. This wouldn't look good unless we have a very formatted dropdown, hence why we need some designs for it.
• I would also like to employ a more elegant way of handling crashes and errors. For example, instead of not working maybe we can show some sort of popup menu saying "An error has occurred" and then go on to list further options. Perhaps we could detect known errors that cause crashes and display help specific to those errors. The only thing is, we need some UI designs for how this could be possible.
• This isn't a necessity, but it's an aesthetic thing that we can implement. In the bottom left of the laucher the mojang statuses are displayed. We only have room for so many there though. I would like to only show the really relevant ones there, such as auth and sesstions, maybe another if it fits and looks good. The others I'd like to put onto some sort of display box. This would be similar in style to the display box on the website when you click on the "Status" tab on the navbar. Ideally it would darken everything else and show a nice formatted box with the rest of the mojang statuses. Again this isn't necessary, but it would be nice.
• That's basically it, but there are other non-essential things to consider. For example we could spruce up the social media buttons, possibly add some area for our discord so that we can get that more active, reduce wasted space, etc.
As far as I'm concerned, these things should be addressed on a final design. Other things can be changed as per the designer's discretion, but these are musts.
@InfinityMe123 said:I guess the design-issue is still relevant?
I made some tests of the website's starter page the other day and just remembered that they might actually come in handy here. The design is rather far from the current version, a bit more modern, elegant and sleek (I hope) though the content is pretty much the same (and please don't scrutinise the fact that I probably got the year of founding wrong).
If you like what you see I'd be happy to help with some simple designs for the launcher. I'm by no means a professional, but I know my way around InDesign and other Adobe Software (Ai, Ae, Pr, Ps, Lr).
-Fin
@TheKraken7 said:I really like those designs! Of course they were made for the website and we will need to consider several aspects of it, however the format really looks good. It's reminiscent of modern launchers like the League of Legends and Blizzard launchers. If you would be willing to get into discord, we could discuss the design further along with [user]NewEnglandRed[/user] .
@pizzainacup said:infinity those designs make me feel things. can you code websites my dude
@InfinityMe123 said:Unfortunately I don't know the first thing about webdesign (aside from the design part). I'd be more than happy to provide designs and templates and perhaps even some suggestions to UI (which could definitely be more intuitive), but beyond that I'm afraid I'm rather useless.
Perhaps someone else would be able to do the coding, while I work on design?
@pizzainacup said:ill keep my eyes open. i love your design for both the launcher and website. looks very slick!
if anyones reading this thread and is interested in maybe redesigning the front page, please message me
@TheKraken7 said:[user]InfinityMe123[/user] Don't worry about the coding, I can handle most of that. Designers are what we especially need. Even if we had an unlimited amount of coders, nothing would get done because we need a UI to work on. The top issue at the moment is getting out a new, complete design. From there we can talk about implementing it in code.
@TheKraken7 said:Quick status update on this.
Most of the development work is halted at the moment as we wait for the new designs. Due to this delay, the launcher probably won't be ready for release by the new season. Might be sometime in August depending on when we get the designs.
@TheKraken7 said:Alright so while we wait for the new designs, I decided to organize this project a bit more. I've setup a Trello board which will be used to track progress and give detailed information on outstanding tasks. I'm going to post some of the essential design information there so that it can be easily accessed by designers. All designers and coders working on this should be able to access it. If you don't have access to the Trello and you should, please PM me.
https://trello.com/b/DtkABCcq/westeroscraft-launcher
In addition to that I made a dedicated channel on discord where the project can be discussed. We used to just use the #code channel, but some of the important information was getting drowned out by other code projects. The new channel is #launcherdev.
That's about it. I will be working over the next couple of days to get the Trello board loaded with the latest and current information.
@TheKraken7 said:On Sunday (7/16) I'll be going on vacation for two weeks. I hope that when I get back the designs will be complete. August will most likely be the last month I can work on this project intently. I have a larger courseload the coming semester, therefore I doubt I'll be able to put much work in besides some things here and there on weekends. Should the designs end up being complete any later than the middle of August this will likely end up being pushed back to January.
I'll be around until Saturday evening to discuss anything related to this project or anything else. I'll be back on July 31st.