A spiritual successor to Miniclip's Ores, made in C++ with SDL 2.0.
Disclaimer: the background and the boat textures are copyrighted placeholders, not included on this repository.
In March of 2016, I was challenged by Miniclip to implement a clone of their classic game Ores. After a few days, Poison Strike came into being.
I had quite a bit of fun tackling this project, here are some technical details about it:
- It is fully integrated with Tiled Map Editor's TMX files. Each screen of the game corresponds to an xml file completely editable on Tiled, including every game object, from the background to the UI.
- It is also integrated with TexturePacker, a tool for compiling textures into an atlas. The atlas' accompanying xml is parsed by the game, and each texture is mapped to the game object parsed from Tiled, via two custom properties (defined on tiled) called AtlasID and TextureID, associated with each game object.
- Some of the textures had an incorrect sRGB profile, and SDL didn't like that, so I created an MS-DOS batch file which removes the invalid profile from the textures, via PNGCrush.
- Some of the design patterns on this project: a State Machine for navigating the game, an Object Factory for creating the game objects, a Service Locator for low coupling, a Command Pattern for mapping actions to the UI.
- Most of the sounds were generated on Bfxr (this part was fun).
- I edited the sprite placeholders on Gimp (this part was even more fun, and I spent more time doing this than I'd want to admit).
- Finally, the game has an unintended easter egg, which I left in because I ended up liking it: since the titles for each screen are made out of boxes, the player can wreak havoc on the title by clicking (and consequently destroying) the boxes.
- For managing the parallel builds on different operating systems, I used a simple Dropbox folder, to synchronize the Visual Studio and Xcode projects in real time, between my PC and Macbook.
- Finally, on the Windows version, "Visual C++ Redistributable for Visual Studio x86" is statically linked, so the user does not need to have the libraries previously installed.
- C++14-compatible compiler
- SDL 2.0
- SDL_image 2.0
- SDL_mixer 2.0
.
├── SDLSandbox # Main project, for Visual Studio 2015 on Windows
├── OSX # Secondary project, for Xcode on OSX. Links to SDLSandbox's source and assets.
├── LICENSE
└── README.md
- 0.1.0
- Initial Release (version submitted to Miniclip)
- Email: newita@gmail.com
- Github: @kyuuzou
- LinkedIn: @nelson-rodrigues-ba4ab263
- Portfolio: http://kyuandcaffeine.com
Copyright © 2016 Nelson Rodrigues.
This project is licensed under the MIT License.
@Farious took on this challenge as well! Check it out: Farious' GemBreaker