-
Notifications
You must be signed in to change notification settings - Fork 5
/
singleplayer_info.txt
92 lines (64 loc) · 4.04 KB
/
singleplayer_info.txt
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
Journey of Fear Info
====================
Table of Contents:
0) Contributors
1) Storyline
2) Gameplay
2.1 Open World
2.1.1 Overworld
2.1.2 Storyline
2.1.3 Dungeons
2.2 Experience
3) Code
3.1 Slick2D
3.2 Sprites, animations, and masks
4) Copyright
========================================================================================================================
0) Contributors
Shreyas (anubiann00b) - Programming - https://github.com/anubiann00b
Tarik (QuantumPhi) - Programming - https://github.com/QuantumPhi
David (ForgottenSprite) - Music + Sound - https://soundcloud.com/forgotten-sprite
Joshua (cesiumrabbit) - Art - No website.
Thanks to Daniel (MrSnrhms) and Brennan (Brennan-S) for help with programming.
1) Storyline
See storyline.txt for storyline related information (gasp).
2) Gameplay
2.1 Open World
In the game, you can choose what to do, namely kill monsters, do quests, or explore dungeons.
2.1.1 Overworld/Killing Monsters
In the overworld, you can explore and kill monsters. Trash mobs are interspersed with more difficult elite
enemies and occasionally boss enemies. All enemies will have random attributes drawn, which make them
significantly easier or harder.
2.1.2 Quests/Storyline
When doing quests, there are specific quest areas on the map. These are usually unique areas or pre
generated dungeons. The monsters will have different stat pools, and the dungeons will have different puzzle
pieces.
2.1.3 Dungeons
Dungeons are semi-randomly generated, and are tests of strategy and skill rather that action. They are
created with predetermined puzzle pieces which are stitched together. Dungeons strive to be like the early
Legend of Zelda games, where you can spend hours and miss a crucial detail vital to beating the dungeon.
However, since they are partially randomized, you can't always look it up. Dungeons also include powerful
boss monster at crucial points, as well as rooms of weaker enemies, just to keep you on your toes. These
fights are meant to be strategic, as facing a roomful of enemies is not generally fun, if it can be avoided.
Boss monsters are also meant to be strategic as well as difficult.
2.2 Leveling and Experience
One of the main goals of levelling is to reward time spent in game while preventing the player from outright
grinding. Items will probably have their own levels, and OOD (Out of Depth) monsters as well as trash mobs and
underlevel enemies will grant no experience.
3) Code
3.1 Slick2D
Slick2D is a (unsupported?) library built on LWJGL for 2D game development. Most people have moved on to LibGDX but
meh. Slick2D is actually really underestimated, sure I have to write my own collision detection, but it's still
pretty neat.
3.2 Sprites, animations, and masks
Sprites are the images that represent an object, in this case, the animations in each of the four directions, plus
the masks of that object. Masks are used for collision detection. For the player and other entities, they have
separate masks for each animation frame. This prevents collisions when the user sees no collision. However, attacks
have rectangular masks. This is because attack animations are generally less precise than the ones for movement.
There are currently 4 classes dealing with these, plus the inbuilt Slick animation class. ImageMask holds a
mask for a single image. AnimationMask holds 4 ImageMasks to cover an entire 4 frame animation. EntitySprite
holds 4 Animations and AnimationMasks to cover animations in all four directions.
4) Copyright
See LICENSE. tl;dr you are allowed to run, modify, and privately use this but you cannot distribute or sell and you must attribute
copyright to me in your version of the program.
========================================================================================================================