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
|
██████╗ ██████╗ ███╗ ██╗ ██████╗
██╔══██╗██╔═══██╗████╗ ██║██╔════╝
██████╔╝██║ ██║██╔██╗ ██║██║ ███╗
██╔═══╝ ██║ ██║██║╚██╗██║██║ ██║
██║ ╚██████╔╝██║ ╚████║╚██████╔╝
╚═╝ ╚═════╝ ╚═╝ ╚═══╝ ╚═════╝
===============================================================================
ABANDON ALL HOPE YE WHO ENTERS:
This project was create as a fun side-project to see if I could make a 2D
game. As it turns out, I can! Unfortunately the code in this is super
spaghetti, so be warned!
===============================================================================
Description:
This is a pong clone made in C using raylib as the main back bone of the code.
My goal with this project is:
1. Support as many platforms as possible. At the current time these are:
- Linux
- NetBSD
- FreeBSD
- Windows
- OpenBSD
- Mac OSX
- Haiku
- DragonflyBSD
The following platforms are not support, with the reasons why they aren't yet:
- Hurd (I'll fuckin do it for the memes, mark my words...)
- OpenIndiana (Premake5 doesn't link properly.)
2. Make a fun, simple game.
3. Improve my coding skills. If you have any
criticism of my code, go ahead and leave an issue! Pointing out mistakes
is the only way I can learn.
===============================================================================
Build with Tup:
1. Copy/Modify tup.config to your needs.
2. Run `tup`
3. Run ./install.sh
4. Done
Build without Tup:
Because I get all my CFLAGS and LDFLAGS from pkg-config, it should be
pretty portable.
1. Run ./build-$RELEASETYPE.sh (release if packaging, debug if debugging)
2. Run ./install.sh
3. Done.
Distributing:
This is complicated, and depends on your platform. On most systems, the best
way to redistribute binaries is to use a combination of ldd and awk.
Example:
mkdir -p libs/
for i in $(ldd ./Pong | awk '/usr\/lib/{print $3}');
do
cp $i libs/
done
The syntax you'll have to use depends on your system, OpenBSD for example
stores packages in /usr/local. Not to mention this method is unreliable on
many linux distributions due to /lib and /usr/lib being the same
directory. On Windows, the libraries should be in the same directory as
the executable.
From there, just simply tarball or zip up the game with the libraries.
===============================================================================
If you like my work and want to support me, consider donating to me on https://liberapay.com/Charadon/
|