Dinothawr is a block pushing puzzle game on slippery surfaces. Our hero is a dinosaur whose friends are trapped in ice. Through puzzles it is your task to free the dinos from their ice prison.
C C++ Other
Latest commit 068de29 Mar 14, 2014 @agnesh agnesh Update README.md
Added Google Play link
Failed to load latest commit information.
android
audio
dinothawr Updated titlescreen Sep 21, 2013
ogg Build in Vorbis statically. Jul 15, 2013
pugixml
vorbis
.gitignore
LICENSE Add license. Sep 21, 2013
Makefile
README.md
bg_manager.cpp Add volume support. Aug 17, 2013
blit.hpp
font.cpp
font.hpp Added font centering and applied it to title screen text Jan 13, 2013
game.cpp
game.hpp
game_manager.cpp
libretro.cpp
libretro.h
link.T
render_target.cpp
rpng.cpp Update with new RPNG version. Jun 15, 2013
rpng.h
sfx_manager.cpp
surface.cpp Fix up std:: usage. Jul 14, 2013
surface.hpp
surface_cache.cpp
surface_cluster.cpp
test
tilemap.cpp
tilemap.hpp Allow player_offset_x, player_offset_y. Oct 1, 2012
utils.hpp (OSX/Clang) Compiles now - but doesn't link (C++11 compatibility Sep 23, 2013

README.md

Dinothawr

Dinothawr is a block pushing puzzle game on slippery surfaces. Our hero is a dinosaur whose friends are trapped in ice. Through puzzles it is your task to free the dinos from their ice prison.

Credits

  • Agnes Heyer (art, level design, some code)
  • Hans-Kristian Arntzen (programming, music, some level design)

Downloads (Android)

Android APK (Google Play, direct download, QR for direct download)

Downloads (Bundled Windows 32-bit/64-bit)

  • Dinothawr v1.0 (Windows 32-bit) here
  • Dinothawr v1.0 (Windows 64-bit) here

Downloads (Other)

  • Game files (link)
  • Libretro cores (Win32, Win64, Linux 64-bit) (link)

Playing the game in RetroArch

The game itself is a shared library and needs a libretro frontend (e.g. RetroArch) to run. To play Dinothawr, use the right libretro core, and dinothawr.game as a game ROM. An example command line would be:

retroarch -L dinothawr_libretro_linux_x86_64.so dinothawr/dinothawr.game

Controls (gamepad)

Dinothawrs gamepad control are mapped as shown here.

Controls (keyboard)

On PC build of RetroArch, the default keyboard binds are:

  • Z: Push
  • X: Toggle menu
  • S: Reset level
  • Arrow keys: Move around
  • Escape: Exit game

Platforms

Dinothawr supports a large number of platforms. We only provide bundled builds for Android. After release, we expect bundled builds to show up.

libretro/RetroArch

Dinothawr implements the libretro API, and uses e.g. RetroArch as a frontend. On Android, RetroArch is bundled, and is transparent to the user.

Building (Android)

Make sure latest SDKs and NDKs (r9) are installed.

Clone repo

git clone git://github.com/Themaister/Dinothawr.git
cd Dinothawr
export DINOTHAWR_TOP_FOLDER="$(pwd)"

Build native libretro library

cd android/eclipse/jni
ndk-build -j4

Build RetroArch native activity

git clone git://github.com/libretro/RetroArch.git
cd RetroArch
cd android/native/jni
ndk-build -j4

Copy RetroArch libraries to dinothawr

cd ../libs
cp -r armeabi-v7a x86 mips "$DINOTHAWR_TOP_FOLDER/android/eclipse/libs/"

Copy Dinothawr assets

cd "$DINOTHAWR_TOP_FOLDER"
mkdir -p android/eclipse/assets
cp -r dinothawr/* android/eclipse/assets/

Build Java frontend

Open Eclipse and import project from android/eclipse. You should see Dinothawr assets in assets/ folder, and various libraries in libs/. Try running the project on your device, and you should see Dinothawr.apk in android/eclipse/bin/.

Building (Linux, OSX, Windows)

Clone repo

git clone git://github.com/Themaister/Dinothawr.git
cd Dinothawr

Build libretro core

make -j4   # (on OSX, you might need make CC=clang CXX="clang++ -stdlib=libc++")

Run Dinothawr in RetroArch

retroarch -L dinothawr_libretro.so dinothawr/dinothawr.game

Customizing / Hacking

Dinothawr is fairly hackable. dinothawr.game is the game file itself. It is a simple XML file which points to all assets used by the game. Levels are organized in chapters. Levels themselves are created using the Tiled editor. If you want to try making your own levels, make sure you use the "plain XML" format for .tmx files and not the default zlib base64.

Level design guide (pdf)