What's this?
Some of what I've done, sorted from most proudest to least proudest
Some of what I've done, sorted from most proudest to least proudest
Left Video: First publicly uploaded code demo. The comments say it's cool, because it was in 2020 Roblox.
Right Video: First playtest of the demo with the left video's commenters.
- Resource management: Programmed with intentions to not exceed Roblox's 50Kbps per client limit in a regular use case of ~10-20 players.
- Clientside processing of high compute features such as bullet physics, particle rendering, and fine animation details to reduce server's bandwidth / CPU use and provide smooth visuals.
- Event-driven programming to broadcast real-time visual updates with reasonable network load in a client/server environment.
- Object oriented designs to create encapsulated units of reusable code. Complex features should be easily implementable, and objects should be well modularized to increase debuggability.
- Server-side validations to limit a potential hacker's ability to ruin the game. Balancing the triad of useful security checks, reasonable performance, and good user experience.
credits: The core bullet physics are from EtiTheSpirit, and many 3D assets are from the public.
What's was this? I built and formerly hosted a humorous chatroom utility bot with AWS / GCP servers and MySQL databases using the Discord.Js API.
What did it do? It lets users vote against one another, where if a user reaches a number of votes, it mutes or kicks them from the server.
- I used MySQL on AWS to support settings editable by chatroom owners, and a method of collecting user data. I never hosted this version publicly due to lack of profitability, but I did host it for a school assignment.
Notable challenges...
- Hosting and Maintence: Trying to keep uptime and functionality despite deprecated APIs.
- Managing cloud costs: Reading cost reports and trimming unused resources.
- Memory leak: Keeping track of the votes that are occuring and ensuring they are deleted when they expire or are done. Undeleted votes would have piled up in RAM, eating memory until the next reboot.
- Protecting users: Not leaking keys (probably) and preventing odd use cases from manipulating vote counts.
Barebones full stack web development.
- Wrote PHP + SQL queries to register/login users and get/edit their information (depending on who was logged in).
- designed simple MySQL schemas and tables.
- Frontend + Backend collaboration: Put queried data into the front end's UI. Generally, I can expect to be given a skeleton front end and told to recycle it for the project's purposes. That's how I made this resume.
- Agile: Set goals and presented demonstrations of progress (or lack thereof) during standup meetings. Planned and executed next goals.
Credits: I did 80% of the PHP/MySQL. Others did 80% of Bootstrap's skeleton (front end).
Java 9 required!
- Creativity: I made a tool to paint those pixel art maps.
- Built strictly from basic Java libraries - no game engine.
- I made most of the following: physics, map building/map swapping, and displaying score/lives. Others made the skleton GUI, buttons, and improved my base code with features such as making the paddle move smoother.
credits: Base physics code are from this YouTube tutorial, which we majorly expanded upon.
- My Roblox projects were based off of and supercede this class, so this is at the bottom of my resume. This class is in my top 3 favorites in college. The concepts I learned here inspired my Roblox projects, and are a reminder to me of why I should keep learning.
- I sometimes helped other students complete these assignments and troubleshoot their code, and hosted class chatrooms in college for this purpose. I also ocassionally help other Roblox programmers.
It's in C++, but I've never implemented my own C++ class. A lot of it was boilerplate from our professor.