I am a freelance developer from Vallejo, California with experience in a variety of programming disciplines. I'm a Full Stack developer, a UX/UI designer, a web3/Solidity developer, a game designer, a Database developer, and I can reverse engineer software from a variety of different platforms.
There is nothing I can't do! I love development and I love learning!
- Programming Languages: C, C++, C#, Pascal, Java, ActionScript, JavaScript, TypeScript, Solidity, Perl, PHP, Python
- Databases: MySQL/MariaDB, PostGres
- Libraries: ReactJS, NextJS, Tailwind, Win32 API, Ethers.js, Express.js, OpenGL, WebGL, Direct2D, DirectX 8
- Assembly Languages: 6502, 68000, x86, z80
- Other: HTML5, CSS3, Docker
- Ecco Text Generator A text generator built in NextJS that can create animated GIFs and images in the style of messages from Ecco the Dolphin.
- Immortal Player Characters Version 0 A website that interfaces with an Ethereum wrapper contract both of which I developed.
- MyIPC.io A React based dApp that decodes game characters from the Ethereum blockchain.
- Ecco the Dolphin Online A website built in React and Typescript that has an image gallery and articles.
Below are a sample of projects that I've built from scratch. Until I got into development professionally I preferred creating everything from the ground up.
- A Wiki (2008)
- A Social Network (2012)
- A Game Demo
- A Game Engine
- A Graphics Extraction Library (for the Ecco the Dolphin series)
- Password Encoders and Decoders (for the Ecco the Dolphin series)
My greatest programming achievement is EccoLib, a graphics extraction library for the Ecco the Dolphin series. To build this required dissassembling the games code and zeroing in on key components needed to decompress and reconstruct all the graphical data. My goal was to extract all the graphics from these wonderful games. To do this required:
- Learning 68000 assembly.
- Learning how to use tools for reverse engineering software (such as Radare2).
- Learning about the Sega Genesis's hardware including color, sprite and tile formats.
- Finding the decompression algorithms used for tiles and levels and porting them to C.
- Figuring out the formats for sprites, stage sprites, level chunks, level maps then exporting them to an image.