Giter Club home page Giter Club logo

cellua-machine's Introduction

CelLua Machine

A fanmade version of Sam Hogan's Cell Machine, based heavily off the Mystic Mod, that adds a bunch of new cells and features.

Running

  1. Download a release, preferably the latest one, at https://github.com/KyYay/CelLua-Machine/releases
  2. Download and install LOVE at https://love2d.org
  3. Double-click the .love file (might not work on all OS, for more info see https://love2d.org/wiki/Getting_Started#Running_Games)

Sharing Levels

When you click the save button, the code for your level will simply be copied straight to your clipboard. If you use an app or website to share levels that has markdown, like Discord, use some method of supressing it, otherwise it's possible that the code will not be posted properly. The easiest way with Discord is to surround your code in two ` marks.

Compiling mods

  1. Create a zip file of the whole game directory (make sure the zip contains the files and not the folder OF the files)
  2. Rename the .zip to .love
    For more info see https://love2d.org/wiki/Game_Distribution#Create_a_.love-file

Basic Terminology

Semi-immovable - A cell that cannot be moved by pushing or pulling, but can still be moved by position-swapping cells like mirrors and gears. Gate cells are an example of this.

New Cells

Trash Cell - Deletes any cells that get pushed into it. Taken from the Mystic Mod.
image

One/Two/Three Directional - Can only be pushed towards the marked directions.
image image image

180° Rotator Cell - Rotates cells 180 degrees.
image

Mirror Cell - Swaps the cells that it's arrows point to.
image image

Puller Cell - Pulls cells. Does not push cells.
image

Diverger Cell - Any forces that come into the sides which the arrows point to get rotated 90° and teleported to the end of the diverger. This is a dangerous cell to play with, as it's very concept provides the possibility of infinite loops; I have done my best to prevent these, but if an infinite loop slips by, it will stop the loop and create a trash cell, for debugging purposes.
image image image image

Redirector Cell - Sets the rotation of the 4 cells it touches to it's own rotation. Wont affect other redirectors.
image

Gear Cell - Grabs the 8 cells nearby and rotates them 45 degrees around itself. Cells going from diagonally adjacent to orthogonally adjacent will have their rotation adjusted.
image image

Mold Cell - Upon being generated by a generator, the generated cell will disappear (but the forces from being cloned will still apply.)
image

Repulse Cell - Applies a pushing force in all 4 directions.
image

Weight Cell - This cell will effectively remove the force from one mover that is trying to push it. They will stack with each other.
image

Cross Generator Cell - Clones in two directions.
image

Strong Enemy Cell - An enemy cell that takes two hits to kill.
image

Freezer Cell - Stops adjacent cells from preforming their actions. Other cells will still treat them as normal. If a cell is moved next to it after it's subtick finishes, the cell will act normally.
image

Angled Generators - Generate at an angle. Rotation of the generated cell will be affected.
image image

Impulse Cell - Pulls cells 2 spaces away towards it. Can pull through trash cells and enemies.
image

Advancer Cell - Acts like a mover and puller combined. They are also, in a way, "smarter" than pullers, as if there is too much force going against them when they try to pull, they will just let go and only do the pushing.
image

Flipper Cell - Will effectively "flip" the 4 neighboring cells horizontally or vertically, depending on it's own rotation. "Flipping" includes turning clockwise cells into counter-clockwise cells, and vice versa.
image

Twist Generator Cell - Acts like a flipper and a generator combined.
image

Gate Cell - Act like conditional (and semi-immobile) generator cells. They take in cells on their left and right, sort of acting like a trash cell, and clone the cell behind them if the condition is satisfied.
From left to right: OR, AND, XOR, NOR, NAND, XNOR
image image image image image image

Ghost Cell - Acts like a wall cell that cannot be generated, similar to the level border in the Mystic Mod.
image

Bias Cell - Acts sort of like a frozen mover cell, it will add force to a mover that pushes with it and subtract force from a mover that pushes against it but never moves itself.
image

Replicator Cell - Basically a generator that generates the cell in front of it. Has a cross variant.
image image

Intaker Cell - Described by KyYay as "some unholy abomination of a trash cell, an impulse cell, and some sort of weird reverse generator". Basically sucks cells in and destroys them.
image

Shield Cell - Protects the cells around it from crashing into enemy cells, being crashed into by enemy cells, or being transformed into fungus.
image

Fungal Cell - Transforms any cells that get pushed into it into more fungus cells.
image

Forker Cell - Acts sort of like a diverger, but it's one-way and duplicates cells that come into it. Currently does not work with pulling, only pushing.
NOTE: These cells are very unstable if used in a nuke, and are very very likely to crash your game. You have been warned.
image image

Demolisher Cell - Acts like a trash cell, but when something is pushed into it, it also destroys the 4 cells around it (if they are destroyable).
image

Opposition Cell - Can be pushed in the direction of the blue arrow, and pulled in the direction of the pink arrow. Yellow line represents being able to be both pushed and pulled in both directions that the line points in, like a slide cell.
image image image

Super Repulsor Cell - Acts like a repulsor, but it will push cells infinitely until it either comes across an obstacle or realizes it's in an infinite loop.
image

Super Generator Cell - Generates the entire row of cells behind it. Will not generate if it gets in an infinite loop.
image

Double Rotator Cell - Acts like a cw rotator on two sides, and like a ccw rotator on the other two.
image

Driller Cell - Acts sort of like a mirror cell, but it swaps the cell it's pointing to with itself (or deletes itself if it tries to swap a trash or demolisher cell). Has no actual pushing or pulling force.
image

Current priority system (updating from left to right)
image
(Cross generators are like normal generators but are activated in two different subticks, and angled generators are updated after normal/cross generators)
(The same logic applies to replicators and the cross mirror)
(Twist generators update at the same time as normal generators)
(All types of gate cells update at the same time)

cellua-machine's People

Contributors

aqualxx avatar ionutparau avatar kyyay avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

cellua-machine's Issues

cell ideas: cross super generator

cross generator but its a super generator
also i like the game its fun i just do random stuff in the game and see what happens
brder suggestion: first, and option to select instead of a slider. 2. warp border. self explanitory. warps cells around edges.

stuff missing

i dont understand what i did wrong but three important files are missing, being love.dll, lua51.dll and SDL2.dll. is there something im forgetting here?

Suggestion

Add a "Templates" button that loads specific savegames, ill provide one that slow nukes the sandbox:
K2;5,;1g;0;(2d(2c(2d44)(2:4(2cgg44)(8_g<(5:1(2f(2c44)(2:4VVV44)(||)(||)(||)(r%4;

GUI Issues?

2022-09-10
I followed the instructions and downloaded the latest version, but I can't find anybody who has this same problem, let alone even having a recording of installing it. Can you help me? Thanks.

-S4ndst0ne

Time generator.

placing a time generator ID:147 ANYWHERE crashes with this error:(Error

main.lua:4918: attempt to index global 'c' (a nil value)

Traceback

[love "callbacks.lua"]:228: in function 'handler'
main.lua:4918: in function 'DoTimewarper'
main.lua:6774: in function 'torun'
main.lua:4620: in function main.lua:4603
main.lua:6947: in function 'DoTick'
main.lua:7061: in function 'update'
[love "callbacks.lua"]:162: in function <[love "callbacks.lua"]:144>
[C]: in function 'xpcall') Why does this happen?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.