Week 3 Dev Log (23/10/2022 – 30/10/2022)


Overview Of This Week

This week, I was introduced to the phaser JavaScript framework. With this introduction, I was set a deadline until the 25th of November to create a video game and scientifically test the game mechanics that I will eventually implement into this game. My main focus this week was to plan the mechanics that I would implement into this game with a tool called “Trello”. I also tried to complete my extra challenges that I set for this week.

Trello

I used Trello for planning this week. It is a tool that creates a set of lists for the user. I made 9 different tasks with detailed descriptions to make sure that the whole process of making my video game is coherent. I colour coded different tasks depending on which point I want handle them. Green would mean that I have completed the current task; Amber means that it would be an ongoing process throughout the creation of my video game. Red would mean that it would be conducted last. This week of planning has really helped my structure what my game will be and most likely make me quicker in completing it instead of not planning at all. The link to my Trello is below:

https://trello.com/invite/b/obDnHEBb/ATTId8c6cf8d56de65ced60ca97991b7600a4F2D2272/game-dev-bsc1a-2d-game-prototyping

An image example of this week of planning is shown below:

1st half of trello planning
2nd half of trello planning

Each of the squares can be clicked on to expand on the description within. An example will be shown below:

Description within

extra challenges or important things from last week I have learnt

Last week, I wanted to learn how to instantiate classes and how to use them effectively as well as trying to implement easing functions into JavaScript.

Classes in javaScript

I learnt how to create a class as well as how to instantiate it. A class is created by typing “class” followed by an identifier name with the code encased in curly brackets. The example will be shown below:

class Class1

{

}

To instantiate a class, it needs to be created via a variable declaration. An example will be shown below:

let myClass1 = new Class1();

Through repeated testing of classes, I realised that a class cannot hold functions or variables but methods and properties. These data types are created similar but without putting function or let/var before an identifier. An example of a method will be below:

   myMethod()

    {

    }

An example of a property being created:

propertyCreated = 21;

To reference a property in a class has to be referenced with a “this.”. Example will be below:

this.propertyCreated

A class can also have a constructer that can be called every time a class is instantiated. An example will be shown below:

class Class1

{

constructer()

{

}

}

Implementing easing functions in JavaScript

Unfortunately, the time spent learning the functionalities of the phaser framework as well as planning for my video game project have withheld me from fully implementing an easing function with JavaScript this week. My aim for next week will be to complete this task.

Extra Things I Have Learnt Or Problems I Have Solved This Week

Classes in javaScript

  • Through a bit of experimentation with the classes and past experience with other coding languages, I found out how to pass arguments through a constructor within JavaScript. Similar to a method or function, the arguments will be defined within brackets. e.g

constructer(myNumberPassed)

{

}

This argument can be then used within the constructer. However, instantiating the class will be different. Example will be shown below:

let myClass = new ExampleClass(passingVariable);

Plans For next week

Coding Project: Zombie Killer Boom Boom

My main focus will be implementing my plans from this week into code. The game will most likely be a fantasy-focused endless bullet hell game with magic to shoot at zombies until the player dies. My main goals are set: I will use the Phaser demo for inspiration on how to layout my code; familiarise myself with the Phaser framework and do this whilst implementing key game mechanics.

Extra Challenges Or Important Things I Need To Learn For Next Week

  • Since I didn’t have time to complete my easing functions in JavaScript this week, this will be my top priority for next week

Leave a Reply

Your email address will not be published.