GithubHelp home page GithubHelp logo

hartl3y94 / metahome Goto Github PK

View Code? Open in Web Editor NEW

This project forked from darltrash/metahome

0.0 0.0 0.0 678 KB

metahome: a game about nothing.

License: zlib License

Zig 9.32% Python 0.07% Shell 0.04% C 80.20% GLSL 0.02% Objective-C 10.34%

metahome's Introduction

[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fdarltrash%2Fmetahome.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fdarltrash%2Fmetahome?ref=badge_shield)

m e t a h o m e

an experimental game about experimentation in games, a journey into my mind.

this game is still nothing but a tech demo right now, but the engine currently supports:
  - tile-based maps encoded with MSGPACK (and a LDTK to MSGPACK map conversor)
  - tile-based rendering of tiles in a tileset
  - tileset loading and overall (limited) filesystem abilities
  - basic font rendering (thanks sokol)

things i need to add:
  - collision handler (and grid based movement!)
  - audio thingies
  - tracker music format support
  - entity handler
  - dialog handler
  - KOOL SHADURZ (VERY COOL)
  - packing every single asset onto the binary itself (hard)

things i may add:
  - GLES2 support (and thus, also native wayland support)
  - gamepad support
  - a level editor made in GTK4 (ooor imgui, that is also a posibility)


HOW TO RUN:
  you will need: 
    - [LINUX*] the xorg development libraries
    - [LINUX*] the alsa development libraries
    - preferabily a gl3+ compatible gpu
    - zig master 0.8.0
    - python 3 (i hate this dependency)
    - the python msgpack and json libraries (i also hate these, screw python)
    - a little bit of patience
  
  - first clone this repo
  - build the maps with "compile.py"
  - build the debug binary with "zig build run"
  - uhh, profit, i guess!
  
  If it shows up some weird error message like "hEY FAiLeD to INitIalizE Gl cOntEXt XD"
  then, you may need to try this out in a newer GPU or use ./run.sh and sacrifice performance.

  note: with "LINUX*" i refeer to the linux kernel and possibly some *BSD kernels like freebsd
  
  note: I have no idea of the outcome of this program or anything related to it and i am not responsible for that.
  i havent tested it on anything but linux, so if you do, please leave me an issue or something :)


HOW TO EXPORT (DOESNT WORKS AS INTENDED, WIP):
  you will need:
    - everything stated in the HOW TO RUN section

  - first clone this repo
  - build the release binary with "pack.sh"
  - now you should have a binary named "metahome" :)

  if it shows up the same stupid error, run metahome this way:
  LIBGL_ALWAYS_SOFTWARE=1 ./metahome

  again, consider running this on a newer gpu because this method will slow down
  things by a lot because it forces software rendering (which is normally slower than hardware rendering)
  

DEVELOPMENT PHILOSOPHY:
  i have been struggling with ADHD for a long while and i wanted to follow a programming philosophy 
  i call "first trashcode, then refine", which means that this code is utter garbage and it's like 
  that in purpose, so before anyone points something like "HEY U HAEV A CODEIGN PORBELM" out,
  consider that this is nothing but a DEMO of what's coming up next (which will also be open source).

  in resume: this code is garbage and i will fix it later, deal with it.

  
LICENSE:
  Copyright (c) Nelson "darltrash" Lopez 2021
  Check LICENSE and ASSETSLICENSE.


[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fdarltrash%2Fmetahome.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fdarltrash%2Fmetahome?ref=badge_large)

metahome's People

Contributors

darltrash avatar fossabot 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.