Xywzel's portfolio
This folder contains public part of my portfolio.
This page can be used as index to these files and contains short
introductions to files inside of it.
For more official record of what I have done in past, check my CV.
Web projects
Small projects with web technologies.
Fantasy Time Tracker
Fantasy Time Tracker is a game master's tool I developed for my personal
D&D campaign. It features python flask server that can share markdown formatted
files or custom pages filled with JSON data. There is included feature for
editing markdown in browser as well as functionality for tracking time with
fantasy calendar. The main point of the system was to be able to have linked
notes that I can view in nice format, but that can easily be edited as plain
text files and included in version control. This public version of the project
only includes few example files to demonstrate its features.
Future development is meant to include features to visualize the current time
and weather. Because the server is meant to be run on my own laptop, I haven't
bothered with user accounts so far, but adding way to have player viewable
version of the interface might be possible future development goal.
Github
FlappyBlock
FlappyBird clone with javascript and HTML5. Made to test input systems and drawing in web pages.
Uses Phaser framework and is based on Lessmilk tutorial.
This should work on mobile browsers as well, just tab screen instead of space.
Web page
Unity projects
This section contains small games made with Unity3D as hobby projects or as part of web courses.
Cult Simulator 2016
Game made on Finnish Game Jam 2016.
More information about game and team at Global Game Jam page.
Made with 4 person team in weekend, I created UI and system for detecting players stance.
Figured a lot better way to do it while writing this so lets see if I can get it updated.
Project page
Fear of Cubes
Three level first person shooter where you shoot cubes and
sometimes they shoot back. Made with minimal set of standard
unity assets as extension for course work in Coursera's
Introduction to game development course.
Game can be played on browser which supports Unity Web Player, for example Firefox on Windows desktops.
Download project files
Play on browser
Rolling Game
Simple game about ball who collects coins and is pursued by cubes.
Another study on what can be done with simple graphics and mechanics.
This was started as Coursera web course project, but second level evolved somewhat from the original concept.
For playing in the browser, same restrictions apply as above.
Download project file
Play on browser
Utility tools
These scripts were made to solve simple problems encountered in different everyday activities.
Baldur's Gate AutoRoller
This tool was build, because when I was last playing Baldur's Gate,
there was not simple way in Enchanted Edition to automate rolling of
your characters attributes without reading registers with third party closed
source program nor one that would work on Unix platforms.
It's zsh script which automates mouse input and screen reading to check
your total roll and repeat or store according to current largest total roll.
It requires quite a lot of manual teaching each time it's started, but fells
bit less like cheating because of that. Linux utility xdotool must be installed.
To run it, open the game in windowed mode and navigate to attribute rolling screen.
Then open terminal next to game window and run the script. The script will ask you
for certain button locations and your currently stored highest roll,
then continue to reroll until it gets total it has not gotten before on this run.
Each time this happens, you are asked to fill the current total roll, so the script
can learn correct hash for this numbers image. If the number is higher than currently stored,
it will be automatically stores and the program repeats. While there is at start lots of
input from user, the script needs less help as it goes on.
Download the script
Gardening Calculator
This tool was build to optimize Fire Emblem: Three Houses gardening minigame.
At the time, the mechanics of the system had been data mined, but despite that,
the recommendations on what to plant for specific gains where quite simplistic and
made assumptions about possessed seeds, that where difficult to match in game.
This python script allowed me to quickly find all possible combinations that matched
specified criteria, and thus optimize each planting without having hunt for rare seed.
In GitHub
Demos
Graphical demos, mostly made in Graffathon demo parties.
Mitä tapahtui viime yönä
Graffathon 2014 entry.
Made with processing, using mostly effect based interactions of internal colour storage in processing.
This leads to colours bleeding to surrounding pixels when "smoothing" filter is run over them.
Very ugly java code, but that's how you find weird effects.
Download
Work In Progress
Graffathon 2015 entry.
Made with clojure quil, which runs on processing.
This one uses few simple shader effects and most of the updates are purely functional.
There is also large random factor, so most effects look bit different each time.
Download
In GitHub
Best Demo Ever
Graffathon 2016 entry for the "Old School" competition.
Despite the name of the competition, this is a quite modern OpenGL shader ray tracer.
The Old School part was considered as more of a theme than technical restriction and was meant for the not-first-timers.
Despite the boisterous name, the shader code clearly had more ambitious scope than was completed. This demo likely
started my phase of spending 95% of time setting up development environment and trying to get the intro to run on
both my machine and the organizers machine.
In GitHub
Graphics
Programs made to examine specific concepts in computer graphics and tools to help in developing them.
Model and shader viewer
Program which can be used to quickly check obj-files and
OpenGL fragment and vertex shaders. This started as OpenGL learning project,
but once I got through basic tutorials I reshaped it to allow testing of shaders.
Currently supports one model and one set of shaders at time.
F1 prints available commands to console side of program.
Console is also used to display errors in compiling shaders or reading model files and to enter filenames.
This is still work in progress, so all features might not work that well and git version might have features that
are missing from compiled version.
Models and textures in this project are not my creations and should only be used with permission of original authors.
This release is only for personal educational use.
Windows executable
Source in github
If this got you interested about my skills and have work that needs doing, you should likely check this page:
Hiring me