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.

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.

Image could not be loaded

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.

Image could not be loaded

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.

Image could not be loaded

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.

Image could not be loaded

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.

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.

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.

Image could not be loaded

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.

Image could not be loaded Image could not be loaded

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.

Image could not be loaded Image could not be loaded

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.

Image could not be loaded

If this got you interested about my skills and have work that needs doing, you should likely check this page: Hiring me