Intoduction

Welcome to the main page of MTDEF!

We show here a list of the history of MTDEF and what the planned plans are.

Is some information unclear? Click the book for the wiki or the i for the information page


History of MTDEF

TODO: Fully working matrix

Creation of a fully working matrix useble for WebGL and neural networks

Added functionalitys:
• All matrix calculations

Is being worked on by Rens van Walstijn

TODO: Fully working canvas

Create and modify a canvas to requested aspect ratio (dynamic or static) or full screen.

New functionalitys:
• Canvas static aspect ratio
• Canvas dynamic aspect ratio
• Canvas fullscreen

Is being worked on by Rens van Walstijn

Added basic matrix

Create and modify a matrix with basic calculations

New functionalitys:
• Matrix

Achieved by Rens van Walstijn

Added random function

Request a random number between 0 and 1 or within a reqested range

New functionalitys:
• Random number

Achieved by Rens van Walstijn

Update LICENSE


License update from GNU v3 to GNU v2.1


Achieved by Rens van Walstijn

File architecture adjustment

Classic functionality of mtdef

Fixed functionalitys:
• Logical architecture

New functionalitys:
• Canvas entity

Achieved by Rens van Walstijn

MTDEF core

Classic functionality of mtdef

Fixed functionalitys:
• Update [crashed if not added]
• Start [crashed if not added]

New functionalitys:
• Importing js files
• ES version check

Achieved by Rens van Walstijn

Entity



The core of every entity that will come in the future

Achieved by Rens van Walstijn

Utilities

Handy utilities

New functionalitys:
• Array
• Casing
• Aspect
• HTML

Achieved by Rens van Walstijn

Objects

Classic functionality objects

Added functionalitys:
• Vector, Vector2, Vector3

New functionalitys:
• Point
• Size
• Aspect

Achieved by Rens van Walstijn

Core system


The core of every system that will come in the future


Achieved by Rens van Walstijn

Readd key input

Classic keys can be used again

Added functionality:
• Keyboard input

Achieved by Rens van Walstijn

Redo to Game engine

One object that is your game. Look like phaser.

Unremoved functionalitys:
• Update function
• Start function
• Browser data

The other functionalitys where removed due to the core:
The mtdef core became the 2D render system. This is not the purpose of a system. When we try to implement a design pattern (ECS).

Redo by Rens van Walstijn

Render object rotation

Objects can be rotated again.

Added functionalitys:
• Object rotation

Achieved by Rens van Walstijn

Render objects

Program own mtdef 2D draw objects

Added functionalitys:
• Object drawing
• Object creating

Achieved by Rens van Walstijn

Canvas system

Programmer friendly canvas handling

Changed functionalitys:
• Canvas using

Achieved by Rens van Walstijn

Render system

Programmer friendly rendering

Changed functionalitys:
• Rendering images.
• Image caching.

Achieved by Rens van Walstijn

Redo to framework

One object that is your game. Look like phaser.

Changed functionalitys:
• Setting up game
• Calling all functionalitys (other call path)

Redo by Rens van Walstijn

Canvas background color

Render canvas with a background color

Added functionality:
• Canvas background coloring

Achieved by Rens van Walstijn

Draw line

Added line function to draw a line.

Added functionality:
• Line drawing
• Stroke styling

Achieved by Rens van Walstijn

DOM Element

Global functions to request DOM elements

Added functionalitys:
• GetClass(class); from document.getElementsByClassName(class);

Achieved by Rens van Walstijn

Math

Global functions to do Math

Added functionalitys:
• Dist caluclates distance between 2 points
• Hypot is used by Dist function to de the calculation.
• Map Re-maps a number from one range to another.

Achieved by Rens van Walstijn

DOM Element

Global functions to request DOM elements

Added functionalitys:
• GetTags(tag); from document.getElementsByTagName(tag);
• GetQuery(name); from document.querySelector(name);

Achieved by Rens van Walstijn

Draw objects

Removed circle & rectangle classes (outdated)

Removed functionalitys:
• Circle & Rectangle drawing

Downgrade by Rens van Walstijn

RayCast 2D

Raycast collision

Added functionality:
• RayCasting 2D

Achieved by Rens van Walstijn

Box collision

Simple box collision

Added functionality:
• Box collision

Achieved by Rens van Walstijn

Rect collision

Simple rect collision

Added functionality:
• Rect collision

Achieved by Rens van Walstijn

Mouse input

Add mouse input

Added functionalitys:
• Mouse movement
• Mouse clicks

Achieved by Rens van Walstijn

Render enabling

Enabling & Disabling to be rendered

Added functionality:
• Render Enabling & Disabling

Achieved by Rens van Walstijn

Image rotation

Images can be rotated now

Added functionality:
• Image rotation

Achieved by Rens van Walstijn

Line collision

Simple line collision

Added functionality:
• Line collision

Achieved by Rens van Walstijn

Render issue#003 fix

An issue by rendering Images

Fixed functionality:
• Image rendering

Achieved by Rens van Walstijn

Scenes & Layers

Added scenes and layer systems

Added functionalitys:
• Scenes, Layers
• Image redering

Achieved by Rens van Walstijn

Debug issue#002 fix

An issue with the font of the Debugger

Fixed functionality:
• Screen debugger

Achieved by Rens van Walstijn

Debug

Added debiugging in screen with console.

Added functionality:
• Debugger

Achieved by Rens van Walstijn

Input issue#001 fix

An issue by using multiple keys on one frame not working

Fixed / Added functionality:
• Multiple key inputs at one frame

Achieved by Rens van Walstijn

Input add up & down arrow

The use of the uparrow & downarrow keys added.

Added functionalitys:
• UpArrow & DownArrow keyCodes

Achieved by Rens van Walstijn

Input issue#000 fix

An issue by using keyCodes left & right not working

Fixed functionalitys:
• Left & Right keyCodes

Achieved by Rens van Walstijn

Github



Pushed online to Github

Achieved by Rens van Walstijn

Input

A class that looks for the pressed key by name

Added functionalitys:
• GetKey, GetKeyDown, GetKeyUp
• Keyboard keyCodes

Achieved by Rens van Walstijn

Vector3

Added vector 3

Added functionality:
• Vector 3

Achieved by Rens van Walstijn

Vector2

Added vector 2

Added functionality:
• Vector 2

Achieved by Rens van Walstijn

Browser Data

A class that collects browser data.

Added functionalitys:
• Canvas sizing fullscreen
• private MTDEF loop to update browser
• GetId(id); from document.getElementById(id);

Achieved by Rens van Walstijn

Draw objects

Added circle & rectangle classes

Added functionalitys:
• Circle & Rectangle drawing

Achieved by Rens van Walstijn

Canvas Size

A canvas class that handles the size of the canvas

Added functionality:
• Canvas sizing

Achieved by Rens van Walstijn

Start

A function to start your project

Added functionality:
• Start function


Achieved by Rens van Walstijn

Creation

Creation of the library mtdef.js

Functionality:
• Update function

Created by Rens van Walstijn