Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Kotlin port of ForeignGuyMike's Asteroids project with changes, additional features and improvements

License

NotificationsYou must be signed in to change notification settings

haxpor/asteroids

Repository files navigation

donate

asteroids

Kotlin port of ForeignGuyMike's Asteroids project with changes, additional features and improvements.

Gifs in Action

Gameplay on mobile

Captured on iOS (noted the degraded framerate for gif, it's smooth in real.)iOS gameplay gif

Controller support on Desktop

controller supporthigh score controller interaction

Video in Action

Click on image to watch video.

desktop gameplay videomobile gameplay video

Changes, Additional Features, and Improvements

Ported work included followings

  • Works with Desktop,iOS (via MOE) (as MOE support was removed in libgdx), and Android
  • Ported completely to Kotlin utilizing several of Kotlin language features
  • Mobile build with control (touchpad and etc) suitable for mobile
  • Controller support for desktop; but fixed to use Xbox360 layout. If you use another brand, you have to edit code for button mapping.
  • Continued with initial intention of the project by using non-texture for game object, only shape-based viaShapeRenderer. Only texture used are bitmap which is dynamically generated in run time from.ttf font file viaBitmapFont.
  • Avoid usingjava.awt.geom classes which areLine2D, andPoint2D classes which are not supported on Android by creating a wrapper class with functionality intended to be used in this project; just hold the data.
  • BBInput, andBBInputProcessor are iterated from previous projects (BlockBunny, andOMO) and refactored to represent much better class to handle input all across the game. It supports keyboard, mouse, and controllers
  • Performance improvements
    • Improved draw call over the same type of object but with multiple instances. SeeIBatchShapeRenderable andIBatchWraperShapeRenderable.
    • Object pools are used to avoid creating new object every time
    • Proper clearing native resource via callingdispose() properly

Notice

  • Better utilize more lambda functions of Kotlin when necessary through out the project especially inPlay
  • BBInput andBBInputProcessor handles all input from keyboard, mouse, and controller (with up to N players, set in source but this game is single player)
  • Properly handle to clear native resource via callingdispose()
  • Some screens check if game is running on mobile platform then dynamically add support for mobile interaction

License

MIT, Wasin Thonkaew

As ForeignGuyMike didn't mention or include any license to his project but generally publicize through video tutorial, so this project follows along with that intention, thus the decision to be MIT in this case.

About

Kotlin port of ForeignGuyMike's Asteroids project with changes, additional features and improvements

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp