GithubHelp home page GithubHelp logo

thebusybiscuit / slimefun-standalone Goto Github PK

View Code? Open in Web Editor NEW
23.0 20.0 14.0 97 KB

A standalone Game that is based on my Plugin "Slimefun 4". Maybe discontinued, I don't know... haven't worked on it for ages.

License: Creative Commons Attribution 4.0 International

game-development indiegame sandbox-game slimefun game

slimefun-standalone's Introduction

About this Repository

This Repository will contain open-sourced Assets from my standalone indie game such as Localization files, an Issue Tracker and whatever needs to be dropped into the hands of the community

If you are interested in this game, then feel free to give it a "Star" or "watch" it to receive notifications about changes to this Project.

If you want to contribute to this Project, feel free to make a Pull Request with your desired changes. More...

Help us with this Project!

Help us grow this game and opening it for a wider range of gamers all around the world. You can find all necessary info on how to translate this project right here: Language

About this Game

This game (working title: "Slimefun 5", no official name chosen yet) is a 2D Sandbox game that borrows many mechanics from my former Bukkit Plugin "Slimefun 4" and ports them into their own game.

Licensing

This game is licensed under "All Rights Reserved" and is NOT open-source. Some of the game's assets (such as Localization files) are uploaded into this Repository and released under the Creative Commons Attribution 4.0 License. Therefore all assets in this Repository are open-source but the game is not.

slimefun-standalone's People

Contributors

ajan-12 avatar andris155 avatar catzy44 avatar crston avatar cypher-net avatar huynhtancuong avatar john000708 avatar lmmb74 avatar mariniere avatar rafaelzaccaro avatar redemption198 avatar sosedik avatar starwishsama avatar thebusybiscuit avatar wqrld avatar

Stargazers

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

Watchers

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

slimefun-standalone's Issues

Entity System

Description

Need to write an Entity Framework that handles movable objects (in opposition to inmovable objects like blocks)

  • Entity Registry
  • Entity Renderer
  • Player
  • Items
  • Entity Health System
  • Enemies
  • Bind Entities to the current Chunk

Inventory System

Description

Need to make an Inventory System that works for Entities (probably exclusively on the Player Entity)
as well as Blocks (Chests)

  • Inventory Object
  • Inventory GUI
  • ItemStack Rendering
  • ItemStack Movement
  • ItemStack Tooltips
  • ItemStack Cursor
  • ItemStack Pickups
  • Open/Close
  • Support for Entity-bound Inventories
  • Support for Block-bound Inventories
  • Hotbar
  • Hotbar Selecting (Scroll or Number Keys)
  • Drop Item when Inventory is closed while an ItemStack is on the Cursor
  • Drag and Drop UI Element using the Label

Liquid Physics Engine

Description

Need to write a Physics Engine for handling Liquids like Water, Lava etc...

  • Liquid Flowing to empty blocks
  • Liquid being dragged by gravity
  • Liquid equalising with neighbour blocks on the same level

Honestly?
I have no freaking clue on how to do this one.

Light Engine fails to rebase Sunlight

Description

When breaking a Block at the edge of a Chunk, the Light Engine does not recalculate Light for an adjacent block in an adjacent Chunk.
Instead the current Chunk's light source is preferred, even though it is inferior to the appropriate light source.

Screenshots (if available)

4bc1c12fd080541616c834d02e474d47

Wrong light calculation seen on the left side, correct one visible in the own chunk on the right.

Dirty Marks

Description

Objects need to be able to be marked dirty, ready for being saved when a change occurs.
The following Objects (and their derivitaves) will need that:

  • Chunks / Blocks
  • Entities
  • Light Sources
  • Inventories

Maybe add an Interface for that?

  • Implement Dirty Interfaces

Make a Video about it and ask for help

Description

A reminder for me to record a Video showing this Project and asking my viewers to help.

  • Record Video
  • Record Audio
  • Edit Video
  • Render Video
  • Upload Video
  • Get contacted by awesome people who want to help
  • Conquer the worl... nevermind, wrong todo list.

Modding API

Description

Slimefun 5 is going to have a Modding API that will run on the same framework as the Scripting System proposed in #7
Still debating about the language, whether I may have to create my own programming language for this one.

Clumsy Player Movement

Description

The Player's movement is very glitchy and totally unstable.
Especially the jump mechanic often fails completely.

  • Proper 2D Physics Engine (3D -> 2D)
  • Force Accelerations having optimal values
  • Character Model bending and springing
  • Fix Raycasting

World Saving / Loading

Description

Worlds need to be saved in NBT formats.
I will need to plan on how many files a world needs to have.

  • Serialize Objects as Binary
  • Save as files
  • Load from files

Terminal Pumps

Description

Terminal Pumps are controller blocks for Pipes (follow up to #6 )
They can change routes via scripts that can be written/installed by Players.
Every Pipe Type has its own tab and script in the Terminal Pump
The Syntax shall look like this.

if (in.item == "generic_dirt") { out.channel = 1; }
else if (in.item is Type.Item.Ore) { out.channel = 2;}
else { out.channel = in.channel; }

May be changed in the future.
Going for a mix of JavaScript and C#

  • Script Syntax
  • Terminal Pump Block
  • Script Parser
  • Sorter
  • Channel Framework

Equipment System

Description

The right hand side of the Player Inventory is reserved for Equipment / Upgrades.

  • UI Integration
  • Tooltips
  • Shadow Rendering
  • Effect Handlers

Smeltery

Description

The Smeltery will be used to get Ingots from Ore.

What should be the heat source?
How do you feed it heat?
Should the GUI look like the Crafting Table #13

CGI & HLSL Procedual Terrain Sprites

Description

I should write a shader that generates cloudy waveforms as sprites with dust particles based on cordinates and color inputs.
Also: General migration to a custom lightpass shader, it proposes a fix for #1

Crafting System

Description

Need to add a Crafting System.
Open for Suggestions.

  • Recipe Registry
  • Recipe LUT
  • Recursive LUT
  • Scrollable Inventory Pane
  • Storage Pane
  • Inventory GUI
  • Crafting Mechanism
  • Search bar (optional)

Advanced Item Tooltips

Description

When you hold "Shift" you will be able to see more Info about an Item in its Tooltip.
Now I will just need to come up with stuff to show when that occurs XD

  • UI Component
  • Hotkey
  • Tooltip Handler Framework
  • Smart Positioning

Pipe System

Description

Need to implement Pipes that transport stuff around.

We need 4 types of pipes

  • Items
  • Liquids
  • Energy
  • Gas

Pipes shall have multiple tiers that have varying transport rates.
Pipes can coexist with blocks in the same space, between the shadow and render layer and become visible when you toggle your view mode using TAB.
All types of pipes can coexist in the same block as well.
Pipes are drawn onto the block with x increasing simultaneously with y (diagonal function).
Pipes have different channels that are determined with input and output pipes.

  • Channel Framework
  • Input Pipes
  • Output Pipes
  • Best Search Algorithm

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.