1
0
mirror of https://github.com/tobspr/shapez.io.git synced 2025-12-17 12:11:51 +00:00
Commit Graph

46 Commits

Author SHA1 Message Date
dgs4349
a80ae03b68 Merge branch 'master' of https://github.com/tobspr/shapez.io into master 2021-06-24 13:47:39 -04:00
tobspr
931c8a5821
Puzzle DLC (#1172)
* Puzzle mode (#1135)

* Add mode button to main menu

* [WIP] Add mode menu. Add factory-based gameMode creation

* Add savefile migration, serialize, deserialize

* Add hidden HUD elements, zone, and zoom, boundary constraints

* Clean up lint issues

* Add building, HUD exclusion, building exclusion, and refactor

- [WIP] Add ConstantProducer building that combines ConstantSignal
and ItemProducer functionality. Currently using temp assets.
- Add pre-placement check to the zone
- Use Rectangles for zone and boundary
- Simplify zone drawing
- Account for exclusion in savegame data
- [WIP] Add puzzle play and edit buttons in puzzle mode menu

* [WIP] Add building, component, and systems for producing and
accepting user-specified items and checking goal criteria

* Add ingame puzzle mode UI elements

- Add minimal menus in puzzle mode for back, next navigation
- Add lower menu for changing zone dimenensions

Co-authored-by: Greg Considine <gconsidine@users.noreply.github.com>

* Performance optimizations (#1154)

* 1.3.1 preparations

* Minor fixes, update translations

* Fix achievements not working

* Lots of belt optimizations, ~15% performance boost

* Puzzle mode, part 1

* Puzzle mode, part 2

* Fix missing import

* Puzzle mode, part 3

* Fix typo

* Puzzle mode, part 4

* Puzzle Mode fixes: Correct zone restrictions and more (#1155)

* Hide Puzzle Editor Controls in regular game mode, fix typo

* Disallow shrinking zone if there are buildings

* Fix multi-tile buildings for shrinking

* Puzzle mode, Refactor hud

* Puzzle mode

* Fixed typo in latest puzzle commit (#1156)

* Allow completing puzzles

* Puzzle mode, almost done

* Bump version to 1.4.0

* Fixes

* [puzzle] Prevent pipette cheats (miners, emitters) (#1158)

* Puzzle mode, almost done

* Allow clearing belts with 'B'

* Multiple users for the puzzle dlc

* Bump api key

* Minor adjustments

* Update

* Minor fixes

* Fix throughput

* Fix belts

* Minor puzzle adjustments

* New difficulty

* Minor puzzle improvements

* Fix belt path

* Update translations

* Added a button to return to the menu after a puzzle is completed (#1170)

* added another button to return to the menu

* improved menu return

* fixed continue button to not go back to menu

* [Puzzle] Added ability to lock buildings in the puzzle editor! (#1164)

* initial test

* tried to get it to work

* added icon

* added test exclusion

* reverted css

* completed flow for building locking

* added lock option

* finalized look and changed locked building to same sprite

* removed unused art

* added clearing every goal acceptor on lock to prevent creating impossible puzzles

* heavily improved validation and prevented autocompletion

* validation only checks every 100 ticks to improve performance

* validation only checks every 100 ticks to improve performance

* removed clearing goal acceptors as it isn't needed because of validation

* Add soundtrack, puzzle dlc fixes

Co-authored-by: Greg Considine <gconsidine@users.noreply.github.com>
Co-authored-by: dengr1065 <dengr1065@gmail.com>
Co-authored-by: Sense101 <67970865+Sense101@users.noreply.github.com>
2021-05-23 16:32:05 +02:00
dgs4349
77e0160661 Merge branch 'master' of https://github.com/tobspr/shapez.io into master 2021-04-16 12:19:47 -04:00
Greg Considine
26b842494f
Achievements (#1087)
* [WIP] Add boilerplate for achievement implementation

* Add config.local.template.js and rm cached copy of config.local.js

* [WIP] Implement painting, cutting, rotating achievements (to log only)

* [WIP] Refactor achievements, jsdoc fixes, add npm script

- Refactor achievements to make use of Signals
- Move implemented achievement interfaces to appropriate
platform folders (SteamAchievements in currently in use
in browser wrapper for testing)
- Fix invalid jsdocs
- Add dev-standalone script to package.json scripts

* Add steam/greenworks IPC calls and optional private-artifact dependency

* Include private artifacts in standalone builds

* Uncomment appid include

* [WIP] Add steam overlay fix, add hash to artifact dependency

* Update electron, greenworks. Add task to add local config if not present

* Add more achievements, refactor achievement code

* Add receiver flexibility and more achievements
- Add check to see if necessary to create achievement and add receiver
- Add remove receiver functionality when achievement is unlocked

* Add achievements and accommodations for switching states
- Fix startup code to avoid clobbering achievements on state switch
- Add a few more achievements

* Add achievements, ids. Update names, keys for consistency

* Add play time achievements

* [WIP] Add more achievements

* Add more achievements. Add bulk achievement check signal

* [WIP] Add achievements. Start savefile migration

* Add achievements. Add savefile migration

* Remove superfluous achievement stat

* Update lock files, fix merge conflict
2021-03-10 07:33:39 +01:00
tobspr
aa2b64eae5 Fix items overlapping sometimes, fix constant signal being editable 2020-12-09 10:41:49 +01:00
tobspr
01733c48a3 Prevent items from being rendered on each other when a belt stalls, closes #1000 2020-12-07 19:24:39 +01:00
dgs4349
6b643f66d4 fixed weird asset issues we had in our fork 2020-10-09 17:37:07 -04:00
tobspr
8260edb373 Get rid of some todos / fixmes 2020-10-08 19:47:27 +02:00
tobspr
26cd38b68c Refactor filters to make them not stall if one output is blocked 2020-09-19 19:30:04 +02:00
tobspr
47443058e0 Add potato mode 2020-09-19 10:34:46 +02:00
tobspr
746f4935ad Improve item ejector system 2020-09-18 18:32:53 +02:00
tobspr
b8f27aec44 Proper belt underlays for splitters 2020-09-18 18:18:38 +02:00
tobspr
238b08d4d1 Make shapes truthy 2020-08-29 11:08:30 +02:00
tobspr
b210db2361 Revert item filter behaviour 2020-08-29 10:45:38 +02:00
tobspr
bb739c80fa Rework quad painter and filter, rework logic gates 2020-08-29 09:35:14 +02:00
tobspr
b2880700e8 Huge rendering performance improvements and minor other changes, lots of refactorings 2020-08-15 22:32:55 +02:00
tobspr
7b40292be3 Start to optimize rendering 2020-08-15 19:43:03 +02:00
tobspr
fd7ae79971 Fix hub not accepting items 2020-08-13 21:06:54 +02:00
tobspr
f44563fc05 Add item filter 2020-08-13 20:30:43 +02:00
tobspr
20718ca05c Fix tslint 2020-08-11 13:29:47 +02:00
tobspr
93975df4d5 Get rid of item ejector / acceptor layers and new wires buildings for now 2020-08-10 21:24:58 +02:00
tobspr
6f28aff78f Vastly improve belt performance 2020-08-10 15:02:14 +02:00
tobspr
a77911263d Implement concept of energy consumption 2020-07-02 17:43:47 +02:00
tobspr
722c8ef836 Start to rework the graphics for the wires layer, make wires cooler than belts 2020-06-30 12:38:20 +02:00
tobspr
0967d5114c Initial take on wires 2020-06-28 19:34:10 +02:00
tobspr
5dab3508cd Improve tunnel performance by caching receivers 2020-06-27 11:39:32 +02:00
tobspr
2e266f5f21 Get rid of 'builtins' file since its useless and causes performance issues 2020-06-27 10:51:52 +02:00
tobspr
419401b9be Improve performance by getting rid of instanceof 2020-06-27 10:38:11 +02:00
tobspr
c844dd4798 Improve performance by only updating belt ejectors on the end of paths 2020-06-27 09:52:26 +02:00
tobspr
e594b6a4a7 Add belt rendering (very slow for now) 2020-06-26 17:28:19 +02:00
tobspr
182b62d604 Add method to debug changed areas 2020-06-25 12:42:48 +02:00
tobspr
6677ff0a44 Initial take on wires 2020-06-24 22:23:10 +02:00
tobspr
9789468c2d Improve performance by caching area of changed ejectors 2020-06-24 20:25:43 +02:00
Phlosioneer
eb182d6e94 Fix lint issues 2020-06-16 22:48:29 -04:00
Phlosioneer
aef96cff6e Optimize ejector cache for common case
This commit optimizes the ejector cache for clicking and dragging belts,
or adding/removing a building. It's a big performance improvement for
large maps; on average, it only has to visit 60 slots per update,
compared to 20,000+ slots.
2020-06-16 21:50:16 -04:00
Phlosioneer
36cf28029e Remove ejector cache; use slot caches instead
This is a small refactoring that removes the main ejector cache. The
cache is now tracked by slots and ejector components.

It avoids a large array allocation and many small object allocations,
but adds many small array allocations. It's net neutral for performance.
2020-06-16 21:11:26 -04:00
tobspr
cda24ceb04 Refactor item acceptor system for huge performance improvement 2020-06-14 14:37:13 +02:00
tobspr
ffd011ac45 Preparations for the trailer 2020-05-30 17:50:29 +02:00
tobspr
1577ebe48c Add storage building 2020-05-20 15:51:06 +02:00
tobspr
14edac0f93 Fix wrong belt stats 2020-05-18 23:58:30 +02:00
tobspr
2c48cb72aa Major performance improvements 2020-05-18 17:40:20 +02:00
tobspr
ca0e17f3dd Support dynamic tick rates 2020-05-18 12:53:01 +02:00
tobspr
d58d15ef8c Add building speed infos to all buildings 2020-05-17 15:32:19 +02:00
tobspr
13c6fc7598 Multiple improvements 2020-05-17 10:07:20 +02:00
Tobias Springer
eb46b45c9a Minor fixes 2020-05-10 17:51:54 +02:00
Tobias Springer
93c6ea683d Initial commit 2020-05-09 16:45:23 +02:00