GithubHelp home page GithubHelp logo

maximatanasov / st Goto Github PK

View Code? Open in Web Editor NEW
5.0 5.0 2.0 462.49 MB

A 2D platformer built in C++, SDL2 and Lua.

Home Page: https://maximatanasov.github.io/ST/files.html

License: GNU General Public License v2.0

C++ 95.22% CMake 3.49% Lua 1.25% Shell 0.03%

st's People

Contributors

maximatanasov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

levibyte

st's Issues

Loading .ogg files from binaries sometimes fails

Likely a bug in Mix_LoadMus_RW() that causes the music to be improperly loaded which then causes Mix_PlayMusic() to either play only a part of the music or completely crash with a Segmentation Fault.
Something about this must be done in the ST_loaders projects. Other music files have not yet been tested.

Add support for text objects

While text rendering is supported in the game. There is currently no way to create text objects in the lua interface as a part of gameplay.

Circle CI Build

Currently Circle CI has issues with the dummy sound device and some tests that are required to be in a specific directory. This needs to be fixed.

Implement proper z-positions for entities

Currently entities are renderered in the order they are declared. Therefore, an additional z_pos attribute should be available when creating entities. Before rendering, entities should be sorted by their z_pos and texture (to ensure less texture/atlas rebinding).

Fix the setting of the volume

The user should be able to control the volume level for music/effect and the developer should have control over fade effects.

Improve text rendering

Text rendering should be optimized by packing glyph textures into a texture atlas (preferrably alongside regular textures).
In-game text requires a more complex resources system. Passing strings around in internal engine code should not be happening. Instead unique identifiers should be used and the text resolved from an index into a string cache.

Performance on Windows is abysmal

Even when running without the debugger, the framerate drops to unplayable levels when the player is close to the lights in the first scene. I don't know if this is a DirectX/OpenGL issue (or just the K2000M Quadro I'm running or it's drivers).

Redo the loading of the input configuration.

Have it be written in a lua script instead of a simple text file that has to be parsed. This will enabled more flexibility (such as using variable names with the keyPressed/keyReleased/keyHeld commands without needing the ----@key annotation above the variable declaration)

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.