Categories
Uncategorised

Week 14/15/16

I have not managed to get as much as I wanted to completed for this project. There is still much more to finish. I did not manage to implement the key binds feature as a whole, but I have created a pull request so the other developer have the code I have worked on.

Below shows my pull request, which allows the other developers to check over my code and then merge these changes with the development branch.

Categories
Uncategorised

Week 11/12/13

Dynamically added keybinds have now been committed and are working as intended. I have used an Enum file to do this. See below of the setup I used in this Enum file.

In addition to this, I used the code below to read each Enum and convert it into a text field in the UI.

Categories
Uncategorised

Development Log

12/04 I was a bit confused at first as I wasn’t familliar with the project layout on the github repo. I worked out that the program was built using unity, so I started by installing that first.

12/04 I had installed the wrong version of unity for the project to start with, so I had to install twice over

12/04 Correct unity version now installed and I’ve anaged to open the project files

13/4 When buiding for Windows, i am getting the following error: Exception: C:\Program Files\Unity\Hub\Editor\2019.4.16f1\Editor\Data\il2cpp/build/deploy/net471/il2cpp.exe did not run properly!

13/4 found the bug here: https://forum.unity.com/threads/build-error-failed-running-il2cpp-exe.842587/

13/4 It looks like you might need to install with Windows 10 SDK. You can install that from the Visual Studio installer, via the C++ workload.

13/4 installed Windows 10 SDK through visual studio installer

13/4 Started work on InputSettingsWindow

13/4 Having trouble asserting the created script as a MonoBehaviour script

13/4 found this article here: https://answers.unity.com/questions/1079331/no-monobehavior-scripts-in-the-file-or-their-names.html

13/4 turns out there were some errors in my script

13/4 input settings GUI has the option “some values driven by contentsizefitter” which graphicssettingswindow doesn’t

13/4 resoled by adding min widht and heights to parent groups

13/4 committed fixed input window to github repo

13/4 decided to change this window to a dynamic layout using c#

Categories
Uncategorised

Topic 7: ‘FLOSS futures’

As computational techniques develop, what do you see changing in the community you are
contributing to? What future challenges and what ethical issues should you consider for a future to come?

Depending on the new features added to the game, I could see a large collection of changes to Deed Planner 2 (DP).

Skins

In Wurm Online, Skins are items which can be used to change an object’s appearance. For example, a statuette model can now become a dragon model. See below for images.

With these features being added monthly, I can see DP adopting these changes to support different models for certain objects in the planner. I can’t see this too difficult to implement, but I think some discussion with Wurm Online admin would be needed in order to get permission to use their supplied models. Or even a way to hook directly to their platform and add the models dynamically.

Dragon skin model
A Statuette
Normal model

Accessibility Features

In DP, there is currently a lot of improvement to be made with any accessibility features. With no features currently implemented, I think it would be beneficial to add implementations such as high contrast mode or text to speech.

High Contrast Mode

This could be a little far-fetched, as new icons would need to be created. Or some code would need to be written to convert the current icons to their high-contrast versions.

Text-To-Speech

I think this could be an easy addition to the program, with plugins available on Unity’s forums to do this already. All we would be required to do is load the plugin in, and setup for each icon in DP.

(Free) Runtime Text To Speech Plugin « Unity Coding – Unity3D (unitycoder.com)

Machine Learning

As computing is evolving, there is the ability to use AI or ML to predict user actions. DP could use this technology to create some predictive object placement.

Categories
Uncategorised

Topic 3: ‘community’

What strategies and methods did you find relevant when coming closer to the communities and
projects you are contributing to?

While communicating different challenges with the community, I found the use of in-game chat and the forums worked particularly well. This was as there was a large user-base that could give feedback almost instantly. I know that in a real-world scenario, feedback should not be instant. However, in this case, it was welcomed as it gave the project movement.

I found that communicating changes with Warlander, to see how they could best be implemented worked particularly well throughout. In addition, I became rather close to Warlander over the 4 month period.

Forums

In-Game

[10:48:41] When you click the on ground field of view thing, instead of putting your head at ‘wurmian height’ it puts it on the ground directly, so you’re like a mouse and not a player

[10:47:49] Well, my main one would be that 1. BRIDGES ARENT IN DEEDPLANNER 3.

[10:49:17] It can’t process the actual age of trees when you load it up, could be the export process from wurm thou for that one

Categories
Uncategorised

Topic 4: ‘versioning systems’

What are the source code management and version control platforms used in the
community of the project you are contributing to?

How do those fit and accommodate your project’s workflow?

When managing a code repository, it is good practice to use version control platforms (such as Github) when making changes to the working directory. We do this as it enables other people that could potentially be working on the project to know what the most recent changes are. In addition, a change (commit) can also be reverted if there is a major error in the system.

As well as these methods to manage source code, there are usually project management tools built within these platforms. These allow one to create wiki’s, assign issues to someone, create tasks for one another. If these are used, it becomes less confusing as switching between different platforms can be distracting.

In Deed Planner 2 (DP), Github is used as the version control platform. I think this is due to the trustworthiness of the platform itself and widespread knowing across the programming community.

Categories
Uncategorised

Topic 2: ‘open source collaboration’

How did different presentations and study cases on open and collaborative coding
projects inspired your approach to your contribution?

In the programming and development communities, there are many forms which can be used to contribute open sourced code. For example in it’s simplest form, http://editor.p5js.org, which can be used to write code and share public onto search engines such as Google or Yahoo.

In addition, there are methods (GitHub, BitBucket) which are mostly similar, using repositories and commits to track code changes across larger teams. In this way, separate storage areas (branches) can be created to track an individual’s code, or a Fork could be made which supplies a separate repository of code for a user to make changes on. This can be especially helpful when working on larger projects (commits). However, some issues can occur when a merge request happens (we call this a conflict). See below for more detail of this happening on GitHub:

See the source image

The method I went ahead with was using Github, this was as the project was already hosted here so I could simply fork the existing project. This allowed me to create a separate repository on my Github profile, as well as a separate branch. My changes were made to jack-dev. See below:

Categories
Uncategorised

Topic 5: ‘user testing and community feedback’

What methods can you make use of for testing your code and hear feedback on your contribution?

How do you communicate with your community and audience while developing work in progress or sharing the final outcome?)

Coding Six: Computational Communities and Professional Platforms Brief

As Wurm Online (WO) is played on by hundreds a day, some of the community may be interested in a development channel of Deed Planned 2 (DP). This application is relied upon for a majority of users, and feedback on development can be see here.

A method of generating user feedback from a non-coding community in WO can be to use the community spaces to release a development version of DP. These spaces could be the forums and an development channel on discord/internet relay client (methods of sending messages to one another, used by a mixture of the community).

In addition, these posts could also include user accessible debugging (logs, screenshots), which can be provided to the developers in the case of an error or bug. These errors could not only be minor, but also causing corrupt to a users many hours adding objects to the map.

DP2 currently supplies Alpha (development) version of the application, and users can respond to issues on the online forum. Below is the development channel which is listed on the GitHub repository.

Categories
Uncategorised

Week 9/10

Still working on the key binds feature. I have managed to convert a static input system, to a dynamic input system. This means that fields are added to the UI based on an Enum file. I did this as it makes adding new key binds extremely easy. I have not yet committed the change, but will do so very soon.

Categories
Uncategorised

Week 7/8

I had a bit of trouble setting up Unity with the correct version for the DeedPlanner project. For some reason it kept defaulting to the latest version. I had to manually change this in order to load up the project.

I started some work on the implementation of keybinds within the program, and also communicated these changes to Warlander to ask for advice. To do this, I made a fork of Warlander’s repository to my GitHub account. This was in order to be able to make pull requests to merge my content with theirs.

Initial Commit: Base implementation of Input settings purely in Unity · jackwright-ual/DeedPlanner-3@a5f5dde (github.com)

See below the conversation: