Code Monkey home page Code Monkey logo

btgame's People

Contributors

bowtie8904 avatar

Watchers

 avatar

btgame's Issues

Implement Loadable interface.

Implement an interface 'Loadable' with load() and extend Killable.

This will be used in the ObjectResourceLoader implementation.

IllegalStateException randomly when switching between scenes.

The ResourceLoader of scenes does sometimes throw an IllegalStateException during a scene change. This seems to be due to object still requesting resources during the current render iteration eventhough the scenes kill() has already been called in a separate thread.

Implement SoundSource.

A SoundSource is supposed to be a sound coming from a specific location. Its volume should adjust based on the distance to a given object.

Implement GameObject.

GameObject is supposed to be the super class of everything that is rendered/ticked in the game.

Implement GameObjectHandler.

GameObjectHandlers are supposed to forward tick and render method calls to their held GameObjects. Each Scene should hold at least one handler.

Shaky ObjectCamera movement

As soon as the ObjectCamera follows the player the player movement looks really shaky. Not sure is this is caused by the player or the camera.

Create multiline text boxes.

The current RenderableText implementations do only offer support for single line texts.

The goal is to have one or multiple classes that allow the creation of multiline (scrollable) text boxes.

It should also be optional to have different parts of the text in different colors and to display the text over time as if it was actively typed right now.

Rework KeyController.

It should be integrated into the game loop.

Usage should change to something like

if (KeyController.isKeyPressed(KeyEvent.VK_1))
{
// do stuff
}

Implement ObjectResourceLoader.

A subclass of the BaseResourceLoader which will trigger loading operations for given objects rather than read and load resources from a file itself.

Implement GameContainer.

GameContainer is supposed to be the core of the game. It will act be the canvas to draw on. Its tick and render methods will be called by the game loop and redirect those calls to the currently active Scene.

GameContainer should be scalable size wise. Whether the scaling of images and such should be performed by the GameContainer, the Scenes, or the GameObjects themselfs is to be determined.

Implement Scene.

Implement a Scene system. Scenes will be encapsulated parts of games, i. e. levels.

Scenes should have their own tick and render methods which will just be called by the main game.

Scenes should use ResourceLoaders to handle their resources.

Create dynamic textboxes.

Implement a textbox whichs dimensions can be set with units but whichs content does not matter. The goal is to be able to have texts that can be displayed in different languages without having to implement their positions individually.

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.