Macoy Madson
d0819bd970
Added terrainGeneration module (WIP); added Doxyfile for easier doc generation
6 years ago
Macoy Madson
5c23df1dd0
Removed simplexnoise due to it being patented; replaced with base lib's opensimplex noise wrapper
6 years ago
Macoy Madson
9298d585d5
Added code and data licenses; started work on a terrain generation model
6 years ago
Macoy Madson
6f0c16d49b
Fairly large commit! RLEMs, cell unloading, ugly new terrain tile map…
& gen algorithm, improved Pool documentation, migration from old .maps to .rlems
6 years ago
Macoy Madson
727c2eac15
Fairly large commit! RLEMs, cell unloading, ugly new terrain tile map & gen algorithm, improved Pool documentation, migration from old .maps to .rlems
Added a new map format: .rlem, Run Length Encoded Map, which is inspired by Minecraft's map format. RLEMs allow large amounts of terrain to be stored in very little space. I had to reduce the number of tiles available to the world gen algorithm to support RLE (doesn't work well for continous values). The more tiles the world gen alg uses, the less RLE helps. The advantage of RLE is I can now store changes to Cell tiles without trying to come up with some fancy diff-based system to save space.
6 years ago
Macoy Madson
35aa529ef5
EventManager now uses double buffer to handle new events; world.update now takes request cells from events to update them
6 years ago
Macoy Madson
a5986dae62
Changed manhattan functions to abs instead of square; added EventManager; Pool now doubly linked
6 years ago
Macoy Madson
640feca789
Added RenderQueue through to ObjectProcessors; now using fixed timestep, which is more choppy than I hoped
6 years ago
Macoy Madson
e4aa26f6d3
Added InputState for input abstraction (I'm going to implement player object soon
6 years ago
Macoy Madson
e52fa2c23a
Added RenderQueue for layer rendering and ImageManager to load and manage sprites
6 years ago
Macoy Madson
08e8405da6
GoToResource now works; added moveTowards and getDistance to Coord
6 years ago
Macoy Madson
f41750aaed
useItemProcess and consumables now work!
6 years ago
Macoy Madson
e2507f82b6
Added basic item system; added cut-paste Process and NeedProcessor templates; started Hunger & UseItem
6 years ago
Macoy Madson
b7102e0304
Added pixels-based minimap
6 years ago
Macoy Madson
7ca1a6c202
Path now has no debug text
6 years ago
Macoy Madson
c5e0109fb4
Made varying simplex scales work in fastTerrain; Paths now managed through a central manager
6 years ago
Macoy Madson
b7ef6c3e78
Pathfinding now works; it still needs a lot of cleaning and a manager
6 years ago
Macoy Madson
40fd43146c
Fixed precision drop in Coord, premovement bounds now used in preventCollision funcs; collisions are working well
6 years ago
Macoy Madson
94587744ae
Made some modifications to preventObjectCollisions (nothing to report); fixed cell touched bug in far updates
6 years ago
Macoy Madson
ac1251c656
Experimented with agent-species stuff regarding updating; fixed relative bounds problem in moveObject()
6 years ago
Macoy Madson
0156248e3d
Updated comments in various places; Agents now pooled in Species; AgentProcessor now partly works
6 years ago
Macoy Madson
cbb8492592
Object->tile collisions now work! Objects require bounds < 32 to fit into tile holes
6 years ago
Macoy Madson
3d66143a02
Object-object collision now uses relative coordinates; collisions now work over cell borders
6 years ago
Macoy Madson
70bc6c4e55
Fixed unnecessary allocation in cell.generate; cells should be a lot faster to generate now
6 years ago
Macoy Madson
b21c4305b1
Added manhattan distance for collision detection; processor return codes now apply
6 years ago
Macoy Madson
f9a7af7a94
Collisions now work!
6 years ago
Macoy Madson
a366b588cd
Added collision skin/tolerance in moveObject; cleaned the data folder (migrated scripts)
6 years ago
Macoy Madson
512cb3f830
Fixed small bug in quadtree (empty() inverted); fixed collision query range
6 years ago
Macoy Madson
a145c38715
Cppchecked code and fixed some small things; added dead simple ugly day-night cycle
6 years ago
Macoy Madson
ffad0e999a
Experimented with large landmasses in terrainTest; camera and update is now smooth as silk!
6 years ago
Macoy Madson
37ac5a00f0
Cell unload delay now goes down as the pool fills; added DebugText
6 years ago
Macoy Madson
44ba5ceed4
Cells now unload when no active events have occurred (view nearby, objects in cell both are active events)
6 years ago
Macoy Madson
12602347b5
Added generic Pool class; World now uses pools for cells; dynamicTileMap now used; memory stays rock solid on cell gen
6 years ago
Macoy Madson
0fc3913e28
Added simple sine-based cold climate bands
6 years ago
Macoy Madson
1cebb4c068
Simplex noise now used for world generation. It's looking awesome!
6 years ago
Macoy Madson
75b3baad0d
Improved some documentation; added terrainTester and simplexnoise
6 years ago
Macoy Madson
915c3b673b
World now renders Cell layers separately
6 years ago
Macoy Madson
42368df090
QuadTree now deletes cells when they are empty; World now loads or generates cells whenever requested
6 years ago
Macoy Madson
426a3dc624
Objects can now move between cells; updates now have deltas (WIP = getting right deltas)
6 years ago
Macoy Madson
bc692c8049
Faraway cells now update until all extra time is consumed
6 years ago
Macoy Madson
0d32a81e55
World.getIntersectingCells now uses cached array; objects now update (WIP)
6 years ago
Macoy Madson
f70fc2a1ef
World.getIntersectingCells now works with any size (not just 2x2)
6 years ago
Macoy Madson
8ce8739d36
View clipping solved (subtraction on xy conflicted with add on wh)
6 years ago
Macoy Madson
b84a4ede68
Object onRender now works (still clipping bottom and right); added debug quadtree rendering
6 years ago
Macoy Madson
faba50604a
Position and type now set in ObjectManager.getNewObject(); ObjManager getObjectsInRange(); cell rendering now layered
6 years ago
Macoy Madson
90ff7a1922
QuadTree now reaches max depth and simply increases capacity (handles close objects well)
6 years ago
Macoy Madson
eb2f7acca5
ObjectManager.getObjectsOfType now ignores unused objects in the pool
6 years ago
Macoy Madson
ad9bed239b
Objects must now go through ObjectManagers to move; Cells now contain ObjectManagers
6 years ago
Macoy Madson
d299ea79c0
Object pools now work
6 years ago
Macoy Madson
f6217ba8cc
Added quadTree and object; ObjectManager is currently just quadtree testing
6 years ago