Stick Biome revisited

Standard

Remember Stick Biome? Now I have achieved some improvements about this map and I’d like to show you the current status:

Pasted image at 2017_10_26 04_26 PM.png

I adjusted the sticks so that they won’t touch each other. But when we increase the density they have to overlap with each other too much.

Screenshot_4.png

So I need to adjust the range of the density. Also, diagonal sticks will be added. But I think the current status fixed the map’s crunchy and complex status and created an ordered and an interesting result.

Advertisements

Update: Round Rooms Map!

Standard

In this week I’ve fixed an important bug. Round Rooms map was broken for an unknown reason and strangely it was working in the older versions of ProDnD. But somehow it was changed and the rooms were not connecting with each other. And no one even noticed until a couple of updates later.

Screenshot_3

What was broken?

I decided to look at the older codes and maybe I could figure it out the reason, that’s why I downloaded the old GitHub repo (It took forever to download).

I put the newer and older codes in a difference checker and all the changes were little indentation fixes or added new methods that don’t have anything with the problem.

Then I had to get my hands dirty and navigate through some scripts that could use some refactoring. I spent about two days trying to find the cause of the problem.

THE FIX

Ladies and gentlemen… lo and behold! The problem was fixed by altering a single line. The code bit that connects the rooms in the map needed access to the cells of these rooms. As you can guess it’s difficult to connect things if you don’t even know where those things are, to begin with. This inability to access the much-needed cells stemmed from a change to this method. The reason the method didn’t work because the name of the variable that holds the cells is changed and that change didn’t apply to the whole code. And the other methods responsible for creating roads didn’t recognize the new name, so it failed.

pasted-image-at-2017_10_20-01_08-pm.png

And now it is working as intended.

What did I learn? Get your hands dirty. Debug the hell out of it. Notice the details because those devilish bugs lurk in the details. I really don’t like to dwell on the details but this problem taught me to be patient and look carefully.

Working on Stick Biome

Standard

This week is well spent on the creative process. I was assigned to fix the maps of ProDnD and this week’s selected map is Stick Biome! Stick Biome consist of horizontal and vertical sticks, randomly placed on the map. But it delivers a poor playability, so I brainstormed some ideas with pen & paper (and tablet).

The current Stick Biome map looks like this:

stick_biome

And these are my initial sketches:

First I thought of sticks more structured and cleaner. But I thought maybe I could use patterns (+ and F shapes).

Figure 1. First attempts of finding the right one.

 

Figure 2. Bridges versus patterns

I ended up using shapes that are not stick and added more circles, fluid figures.

Pasted image at 2017_10_18 02_47 PM

Figure 3. Tablet sketches (with more non-stick figures)

I recieved feedbacks about not drawing them on a tablet instead of good ol’ pen and paper. Also, the tablet sketches seem off, looks more crumbled and which one is which number is not clear. And the fatal error was this: I was getting away from the stick idea. Instead of creating circles and rectangles, I had to stick with the stick biome (pun not intended)

So I sketched one more time and I was determined to use more sticks and rectangle-ish figures. The end result was this:

Jpeg

Figure 4. Almost there…

Then my supervisor told me that 1-2 and 8 were on the right track. We singled these three out because they improved on the existing stick generator and did that in a KISS (keep it simple stupid) manner… So in the final result, we decided to add Diagonal sticks as well as Overlap Percentage parameters to determine whether there should be diagonal sticks and also to determine sticks should overlap with each other or not.

Diagonal sticks are determined with a yes-no parameter (you can see them in the second row). Overlap Percentage determines the sticks’ overall overlap status, should there be more crossed lines or sparse, lonely lines. 😦

WhatsApp Image 2017-10-18 at 17.34.25

Figure 5. Done!

So this concludes this week. I learned to pay attention and let my imagination run wild within the rules. Also, good ol’ pen and paper is your friend, always. Take notes, everyone!

See you in next week!

Update: Rocky Hill Map Generator

Standard

In this week, I was given a big task: fixing the map generators of ProDnD. This week I picked Rocky Hill map for the job.

noise filter test

I added Smoothness Filter parameter in order to apply a filter that makes the map look crumbly or smoothy. Also, I adjusted the range of the Noise parameter, in order to have consistent maps (when it goes higher the map gets darker and no visible figure is created)

First Week!

Standard

The first week, first impressions, first assignments, lots of lessons. A smooth transition to the work life, getting used to the project and the workflow… And I am excited to write what I’ve learned. 

My assignment is to get my hands dirty with the generators featured in the ProDnD app. Some maps in the app needed visual reworks (more playability, more visually appeal) and I learned a few things while I work on them..

-Extension Methods-

Extension methods are used for adding methods to the types that are created already, without modifying/recompiling the type.

This process is used with the basic map object in the generator code. Say, we need to define a new kind of filter type. Since we are dealing with procedurally generated maps, we use noises to manage the randomity, then apply filters to make it look better. And when we introduce a new filter we want to add it without touching to the Map class that we are going to use. With this tool, we can add this without a fuss.

First, we define a new class for the filter. Then we define the new method to be added.


public static class FilterNoise {

     public static void FilterNoise(this Map map)

     {

        //do stuff. . .
     }

}

You should define a static class and static methods. Also, should use “this” keyword in the parameter field. It tells the compiler that it is an extension method for the Map class.

Screenshot_1

And ta-dah! You can call the method like this:

map.FilterNoise();

 

Hello world!

Standard

First post!

Hello! I’m Eylul, a fresh CS graduate, and an aspiring game developer. I’ll be sharing my experiences on this blog from now on.

This week was my first week at Gray Lake Studios, a game development studios based in Netherlands.

My position at GLS is my first official job in the games industry, besides my internship at No-Pact. These few days are my orientation days and I’ve been learning quite a bit already.

My first week is about getting used to the job and starting to work on the studio’s most ambitious project, ProDnD.

The app can be used for DnD sessions, for generating maps according to a setting, placing events and sharing them with everyone. It is an interesting project to start with, and I am eager to share what I’ve learned.

I  will (hopefully) update this blog every week, so stay tuned!