GithubHelp home page GithubHelp logo

jder / cozy Goto Github PK

View Code? Open in Web Editor NEW

This project forked from speveril/cozy

1.0 2.0 0.0 259.2 MB

A generic 2d game engine.

Home Page: https://cozyengine.com/

License: Other

HTML 83.35% TypeScript 4.19% JavaScript 11.87% CSS 0.59%

cozy's Introduction

Cozy

A generic 2d game engine.

https://cozyengine.com/

Cozy is a game engine built on web technologies. The development environment, and games that are exported to run on Windows or MacOS, run under the Electron runtime -- https://github.com/atom/electron. Games exported for the web should work in Chrome, at least, and over time we'll try to make sure support gets better.

Current technologies

Development Focus

Cozy is most appropriate for 2d, retro-style games. Theoretically you could build a 3d game within it, but that's much more hypothetical than it would be practical. For the foreseeable future, Cozy's focus as an engine is ease and speed of development, with "good enough" performance.

I personally have a lot of games I want to make at some point or have been working on for a while. I keep trying other engines and finding something distasteful about them; I figured if I made my own at least I couldn't blame anyone else. I chose to build it with the tools that I am most familiar with and so afford me the most pleasant working environment, and since I'm a professional web developer, the main basis of the engine are web technologies.

The engine's initial development was driven entirely by my needs of it. If you are using the engine and have a use-case that I'm not meeting, we should talk -- maybe there's something I haven't thought of which would be great, or something I'm already planning that I could shuffle forward on the roadmap. I'd also love other contributors to step in and add things they want to see, even if it's something I don't personally need!

Getting Started

We don't have a pre-built release of Cozy yet. To work with Cozy, you'll need to have NPM installed and put up with some rough edges for now.

After cloning the repository, run npm install to get everything set up, and then run npm start to start the project manager. Once I get pre-built releases going, this will no longer be necessary. Quality of life stuff like that is high on the priority list.

One of the biggest missing pieces of Cozy right now is documentation. I like to think things are reasonably sensible, but they're probably not! Good luck. Fixing this is pretty high up there too.

Whether you use a pre-built release or work from source, exported games will end up as an .exe or .app bundle; your players will not need NPM installed.

Kits

The core of Cozy is meant to be a straight-forward, generic game engine. It lets you put sprites on the screen, play sounds, handle input, etc. Games are more than this, though! So Cozy is built to have pluggable gameplay bits, or "kits", that implement game-genre specific functionality so you don't have to write it all yourself.

Right now there's only one kit, and it's not on github yet: RPGKit. It's intended to help in making jRPGs and other top-down adventure games. I have other kits in mind, but have not started development on them yet.

Examples

A game engine without any examples isn't worth much. There are some example games here: https://github.com/speveril/cozy-examples

Clone that repository onto your local machine, and then within Cozy's UI hit the "Add a Game Library" button (it's a + icon at the top left), and choose the place you cloned the examples into. They should now show up in your interface for you to play.

SimpleQuest

There is another example as well! SimpleQuest was built with Cozy as a way to shake out any problems with the engine by building a game end-to-end. It also formed the basis of the RPGKit code.

http://speveril.itch.io/simplequest

Once I have cleaned it up a bit more, I will be releasing the source for SimpleQuest as well, along with RPGKit.

Who is responsible for this mess

Shamus Peveril -- architect, lead (only) developer, example maker

cozy's People

Contributors

speveril avatar

Stargazers

 avatar

Watchers

 avatar James Cloos avatar

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.