Skip to content

Getting Started: Developing DADA

jceddy edited this page Sep 11, 2019 · 3 revisions

In order to develop for Daily Arena Deck Advisor, you will need access to Visual Studio 2017, as well as some other software and plugins. The good news is that everything you need is available free of charge (as long as you are an indie developer)!

Download VS 2017 Community Edition

You can get VS 2017 Community Edition by first creating a Visual Studio Dev Essentials account at https://visualstudio.microsoft.com/dev-essentials/, opening the Downloads tab, selecting Visual Studio 2017, and then selecting Visual Studio Community 2017 (version 15.9).

Download VS 2017 Community Edition

Install VS 2017 Community Edition

Then let the installer do its thing...

Install VS 2017 Community Edition

Select Components

The next step of installing VS 2017 is to select the components you want to install. You can choose anything you think you might like to mess with in the future here, but for Daily Arena Deck Advisor development, the main thing is to select .NET Desktop Development, and all of the .NET Framework Development Tools options.

Select Components

Clone the Github Repo

Now that you have Visual Studio 2017 installed, it's time to create a local clone of the Daily Arena Deck Advisor repository on Github. To do that, select the Team Explorer tab on the right-most pane in Visual Studio, select Clone under Local Git Repositiories, enter the address of the DADA Github repository (https://github.com/jceddy/DailyArenaDeckAdvisor), select a location on your machine where you want to keep the local copy of the repository, and click Clone.

Clone the Github Repo

Install Wix Extension for VS 2017

Daily Arena Deck Advisor uses a tool called Wix to create and manage the installer program. In order to use this, you first need to install the Wix Extension for VS 2017, which you can download from https://marketplace.visualstudio.com/items?itemName=WixToolset.WixToolsetVisualStudio2017Extension.

Install Wix Extension for VS 2017

Install Wix Toolset

You will also need to install the Wix Toolset, which you can download here: https://wixtoolset.org/releases/

Install Wix Toolset

Test Build

Now that you've installed all of the required tools, open the Daily Arena Deck Advisor solution in VS 2017 and do a test build by selecting Build->Build Solution.

Test Build

Build Output

Information about the status of the build will be output to the Output pane. The Daily Arena Deck Advisor contains four projects (the installer, the launcher, the updater, and the actual application), so you should see four projects successfully built in the output.

Build Output

Sync with Github

At any time, you should be able to sync your local repository with the main repository on Github by selecting Sync under Synchronization in the Team Explorer pane.

Sync with Github

Commit Change

After changing one or more files in the Daily Arena Deck Advisor solution, you can commit the change to your local repository by right-clicking on any of the modified files in the Solution Explorer, and selecting Commit.

Commit Change

Add Comment and Commit All

Selecting Commit in the Solution Explorer, will bring you to a Changes pane, where you can commit them by selecting Commit All after providing a comment describing the changes being committed.

Add Comment and Commit All

Sync Changes

Once your changes are committed locally, click the Sync link to push them up to the main repository on Github.

Sync Changes

Push Commit

The Synchronization panel shows all local changes that you have not yet pushed to the repository on Github, as well as any changes that have been merged into the Github repository since the last time you synchronized with it. You can pull new changes to your local repository by clicking the Pull link under Incoming Commits, and you can push your changes to the remote Github repository by clicking the Push link under Outgoing Commits.

Push Commit

Commit Pushed

After pushing changes you can verify they were pushed correctly by opening/refreshing the main repository page on Github.

Commit Pushed