summaryrefslogtreecommitdiffhomepage
path: root/Readme.mdown
blob: 8fb160207032a50896bdea40b8d5a4cfc614f3d0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# Welcome to my little Github Corner


Welcome :D, here is a shortlist of some projects I am proud of as well as links for trying out the ones that can run on the web.

These are grouped into "Project Types" and within each group they are sorted by an arbitrary "Favorite to Good"

Also checkout my itch page for screenshots, games, and playable demos:
https://tradam.itch.io

## Table of Contents
<!-- vim-markdown-toc GFM -->

* [***Systems, Libraries, and Tools***](#systems-libraries-and-tools)
	* [**FelFlame** - *Modular Ruby/Raylib Game Engine*](#felflame---modular-rubyraylib-game-engine)
	* [**FelECS** - *Pure Ruby Entity Component System*](#felecs---pure-ruby-entity-component-system)
	* [**FelBind** - *C to mruby Automatic Binding Generator*](#felbind---c-to-mruby-automatic-binding-generator)
	* [**Justicar** - *Ruby Based Static Website Generator*](#justicar---ruby-based-static-website-generator)
* [***Games and Demos***](#games-and-demos)
	* [🏆 **Orc: Arena of Time** - *Top Down Innovative Obstacle Course*](#-orc-arena-of-time---top-down-innovative-obstacle-course)
	* [**Zig CHIP8** - *CHIP8 Emulator Implemented With Zig*](#zig-chip8---chip8-emulator-implemented-with-zig)
	* [**SteelWings** - *Free Roam Shoot-em-up*](#steelwings---free-roam-shoot-em-up)
	* [**Winter One** - *Scrolling Shoot-em-up*](#winter-one---scrolling-shoot-em-up)
	* [**Optimal Direction** - *Racing*](#optimal-direction---racing)
	* [**Card Slide Concept** - *Card Arena Concept*](#card-slide-concept---card-arena-concept)
	* [**Arbitrary Polygon Collision** - *Collision Detection Demo*](#arbitrary-polygon-collision---collision-detection-demo)
	* [**Almost Pong** - *A Twist On Pong*](#almost-pong---a-twist-on-pong)

<!-- vim-markdown-toc -->

---

## ***Systems, Libraries, and Tools***

### **FelFlame** - *Modular Ruby/Raylib Game Engine*
[**Github**](https://github.com/realtradam/FelFlameEngine)

FelFlame Engine is a modular "library-style" Ruby game engine. It consists of a core set of libraries(mruby + Raylib) which you can freely add your own mruby or C libraries on top of to be compiled into a single game or interpreter. Currently it exports to Windows, Web and Linux.

### **FelECS** - *Pure Ruby Entity Component System*
[**Github**](https://github.com/realtradam/FelECS)

FelECS is an ECS framework for developing games in the Ruby language. FelECS has been designed from the ground up with these three ideas in mind:

1. **Engine Agnostic:** FelECS has been designed to be rendering engine agnostic as long as the target rendering engine is written in Ruby. This means that this framework can be dropped into existing rendering engines such as [Ruby2D](http://www.ruby2d.com) or [DRGTK](https://dragonruby.org/toolkit/game).
2. **Easily Extensible:** FelECS has been designed such that extensions to its capabilities can be easily added. Extensions such as rendering engine wrappers, premade systems, premade components, etcetera can be easily added on and distributed.
3. **Principle of (My) Least Astonishment:** I want to develop games using a language and framework I love and makes sense to me, inspired by the [Philosophy of the creator of Ruby](https://en.wikipedia.org/wiki/Ruby_(programming_language)#Philosophy).

### **FelBind** - *C to mruby Automatic Binding Generator*
[**Github**](https://github.com/realtradam/FelBind)

A binding generator which allows programmers to easily program with C libraries in Ruby. This tool can be used in conjunction with FelFlame Engine to easily extend the functionality of your games.  
Simply give the generator the header files of your chosen C library and it will scan it and generate the appropriate bindings of any functions that are supported.

### **Justicar** - *Ruby Based Static Website Generator*
[**Github**](https://github.com/realtradam/Justicar)

This static site generator utilizes [Opal](https://opalrb.com) so that HTML, CSS, and Javascript can all be written in Ruby instead.  
One can build websites using a regular file directory structure but also has a powerful templating system which allows developers to intelligently create and format many pages at once.

[👉 return to top](#welcome-to-my-little-github-corner)

---

## ***Games and Demos***

### 🏆 **Orc: Arena of Time** - *Top Down Innovative Obstacle Course*
[**Play Here**](https://tradam.itch.io/orc-arena-of-time) / [**Github**](https://github.com/realtradam/orc-arena-of-time)

Help Orc the orc maneuver through the Arena of Time and reach the end!

Won the [Raylib 5K Gamejam](https://itch.io/jam/raylib-5k-gamejam/results/enjoyment-is-the-game-enjoyable-to-play) in *First Place* against 40 other entrants! I'm really proud of this project, give it a shot :D

### **Zig CHIP8** - *CHIP8 Emulator Implemented With Zig*
[**Github**](https://github.com/realtradam/zig-chip-8)

Using the Zig programming language, I implemented a working CHIP8 Emulator. I also added in a few custom self-made shaders in GLSL to give it that retro CRT vibe.

### **SteelWings** - *Free Roam Shoot-em-up*
[**Play Here**](https://argo.itch.io/steelwings) / [**Github**](https://github.com/realtradam/SteelWings)  

A small little shoot-em-up where you fly around and shoot enemies that have varying AI!  
My first bigger project where I was able use and test FelECS, this project was done by me and a friend.

### **Winter One** - *Scrolling Shoot-em-up*
[**Play Here**](https://tradam.itch.io/winter-one)  

Simple scrolling shooter that was created using the Godot game engine.  
The first project where I cooperated with a teammate.

### **Optimal Direction** - *Racing*
[**Play Here**](https://tradam.itch.io/optimal-direction) / [**Github**](https://github.com/realtradam/optimal-direction)  

An old abandoned prototype. I worked on this project on and off for more then a year before abandoning it because of a much too large scope at the time. I learned a lot about setting reasonable expectations for projects.  
Regardless I have uploaded this game as it still has some fun driving mechanics for what it is.

### **Card Slide Concept** - *Card Arena Concept*
[**Play Here**](https://tradam.itch.io/card-slide-prototype) / [**Github**](https://github.com/realtradam/card-slide-concept)  

Inspired by the [card sliding effect](https://cdn.discordapp.com/attachments/611458387200180257/972393170564427786/2022-05-03_12-12-36.mp4) created by [Stacklands](https://store.steampowered.com/app/1948280/Stacklands/) I decided to recreate it myself from scratch to great effect!

### **Arbitrary Polygon Collision** - *Collision Detection Demo*
[**Play Here**](https://tradam.itch.io/arbitrary-polygon-collision-demo) / [**Github**](https://github.com/realtradam/arbitrary-polygon-collision)  

My implementation of the [Separating Axis Theorem](https://en.wikipedia.org/wiki/Hyperplane_separation_theorem#Use_in_collision_detection) to resolve collisions of arbitrary convex polygons. I made it in Ruby as I couldn't find an existing implementation of it in this language. Neat stuff!

### **Almost Pong** - *A Twist On Pong*
[**Play Here**](https://tradam.itch.io/almost-pong) / [**Github**](https://github.com/realtradam/almost-pong)  

A remake of [Almost Pong](https://www.lessmilk.com/almost-pong/). I wanted to see how fast I could remake a simple game using my custom workflow(the answer is pretty fast, only took not too much longer then one hour).

[👉 return to top](#welcome-to-my-little-github-corner)

---