# Ethan's Github

Welcome to my Github site. This is coded entirely in classic HTML/CSS and is the place to find out all about me and projects I have done or am currently doing.

## My Programming Languages

• C: I've been coding in this language since 2018. Mostly for school related projects. In this language I learned most of my essential skills in programming. Functional programming, abstract data types such as Linked Lists, Binary Search Trees, Stacks, etc. I learned about recursion, memory models, pointers, APIs, and more.

• C#: My personal favourite language. I have been using this one since 2019 and have done a lot with it. This language introduced me to object oriented programming and had me go much more in depth with APIs and documentation. I have made Windows Forms Apps with Visual Studio like the polynomial factorer, and I have programmed 3D video games with Unity using their API like the Telepuzzle game.

• Python: Starting in 2018 this was my introduction to programming. This language is particularly important to me because it is what made me appreciate the simplicity of C so much more. Of course this language is the easiest to code in, but the syntactic sugar gets a little to sweet for me somtimes. However I am proficient with python and made things like discord bots using the discord.py API.

• HTML/CSS/JS: These languages are actually my introduction to coding as a whole. I've technically been using these languages since 2016. I've just made some simple websites like this one here.

## My Projects

## Current: 1st Person 3D Platformer in Unity

This game is a passion project of my team and I. We started development in January 2022 and there is no planned release date as of yet. I am working as the project manager and programmer on the game. I have a friend helping me with some modeling, and another who works on the music. The game is a 1st person 3D platformer developed using the Unity engine with a large emphasis on movement, including walljumps and air-dashes. It will be very fast paced and great for speedrunning. The game also features beautiful outer space glowy aesthetics.

The game does not have a name yet and its too early in development to tell which platforms it will release on, but stay tuned for updates.

## Telepuzzle

I made this game in Unity in around 4 days of work for the Unity Developer Community Game Jam. The theme was teleportation so I made a puzzle game where you are in a level trying to get to a seemingly unobtainable exit. However, you have a gun that can teleport objects around the level to solve the puzzles or make your own way out. The game has a good handful of levels that should not take very long to complete and it features a timer system for speedrunning. It's really fun to play around with the physics and try to break the game.

You can download the game atitch.io or view the source code of my scripts inthis github repository.

## Discord Bot

This bot was written in python using the discord.py API. I made it for fun just to test out and learn some more about python as well as asyncronous coroutines in code. This bot can do things like add numbers, roll dice, direct message users, kick users (and create invites to bring them back), and even knows ping pong. I have actually created a discord bot in C# as well using the DSharpPlus API, but the code for that bot was unfortunately lost. But that one could join into voice channels and stuff.

The source code for this bot can be found inthis github repository.

## Polynomial Factorer

This Windows Forms App was coded using the C# .NET framework to help me with my math homework back in high school. You simply enter in the coefficients of your polynomial into the text box and the program will find the roots. This saved me so much time in math class because we would have to guess and check roots for higher-degree polynomials and that can take a while. Sure symbolab or wolfram alpha exists but I did not know this at the time and I learned a lot about OOP on my own coding this program.

The entire Visual Studio project for this can be found inthis github repository.