• Register

I've spent years in the games industry and worked on several major titles (Little Big Planet, Black & White, Shadowman, Crime Killer) as well as some less well known titles. Lately I've concentrated more on AI games programming and have built up a collection of interesting tech. I've decided to try going it alone as an independent developer; linking up with others to create small, fun gaming experiences with some clever AI under the hood.

RSS My Blogs  (0 - 10 of 17)

Volunteers Required!

Ludopus Blog
Are you willing to be a tester? I need people with any sort of Android device to test Solo Hero. To volunteer send me your email address as a private message (or email me at ludopusuk@gmail.com) and I'll enrol you in the testing program and send you a download link. It's vital that I do some closed testing both to identify and eliminate bugs in the game but also to check it's set at the right level of difficulty. Thanks in advance for your help. Martin @ Ludopussolo hero title 6 Jun

Hi Everyone,

I've almost completed programming on the iOS conversion of Solo Hero now. When I began the second phase of the conversion I only planned to deploy the original game interface. Midway through however I decided to add the "Rush" game interface; a feature I've not added to the paid-for Android app yet.

The "Rush" interface is a joystick + buttons combo more in keeping with a classic approach to arcade gaming whereas the original Solo Hero game interface was a point-and-click style touch interface more in keeping with RTS games like "Age of Empires". I'll be releasing an update to the Android version with both interfaces at the same time as I release the iOS version. This allows the player to play Solo Hero in two ways and I've made the Unlocks, Medals & High-scores separate for each interface.

Level 5 contains all the elements you'll see in Solo Hero - Zombies, Civilian rescue, Birds , Rivals, Lurkers, Grenades & also a range of pickups to help you along the way. All levels afterward just pile it on more and more; building up to a final frenzy.

The video also has the latest mixes of the ambient music loops I composed myself. I've opted to only have three with each one representing a third of the player's health bar. This is the first commercial music I have composed myself and, although I don't think it's quite professional quality, I'm pretty happy with the result. I'll extend the main theme a bit so it's not so repetitive if I can find just a bit more inspiration :)

What's left to do on the iOS version. All the features are there now although I may need to tweak a few things after test-feedback. I have a list of about 10 identified bugs to fix; these are gameplay & interface related.


Solo Hero iOS - Work-in-Progress 27/04/2016 - Indie DB

Thanks for reading!

Best wishes,

Martin @ Ludopus

Hi Everyone,

I've been back working on Solo Hero iOS for about 3 weeks now and I've got a WIP video to show you all. I'm still working almost exclusively on the full original paid-app version of the game. Still to do - A few gameplay issues, a few minor technical bugs and some alignment issues on the screen layouts.

Alongside that I'm only about 50% done composing the replacement ambient music loops. Solo Hero has a set of four ambient tracks which correspond to the four quarters of the players health bar. The idea being that the music can become more urgent/panicky as the player loses health and less urgrent/panicky if some health is restored. When I first wrote the game I hadn't thought of this idea so I didn't ask the composer of the theme tune and audio fx, Tom Barker, to produce any ambient loops. Later, after I'd added the feature, Tom wasn't available to create something in keeping with the original tune. I decided to find some free music loops but wasn't completely happy even with the best set. Nothing to do with quality of the loops just that they didn't quite fit the idea I had in mind.

I do a bit of music composition and playing as a hobby but I've never been confident enough to try and produce something commercially. Although I still don't think my work will match up to Tom's or any other professional or even semi-professional composer I've decied to give it a try. I hope it won't matter too much if it's not quite top quality since each piece doesn't need to be very long and because it's background music rather than the main focus. NB the user can mute the ambient music and I could in future add alternative sets of ambient loops so it's not like anyone will be stuck with my tunes :)

The main inspiration for creating a switchable music system is my love of the quirky music of Captain Beefheat & his Magic Band; particularly the Magnus Opus that is "Trout Mask Replica". Although I can't enmesh convergerce & divergence of tempos,keys and time signitures in the same way that album does. I'm trying to make use of those elements to creating diversity between the tracks. At the moment I'm very happy with the extremes (full and low health) but not with the middle two quartile loops. You can hear parts of these loops playing in the background of the video.


Solo Hero iOS - Work-in-Progress - Indie DB

Thanks for reading!

Best wishes,

Martin @ Ludopus




Hi Everyone,

I spent about 3 months last year converting my game engine to iOS and then converting the game code from the Java code of the Android versions to Objective C for iOS. The conversion stalled when I ran out of spare funds for hardware.

I'm now working again on the conversions of Solo Hero and Space Hippies for iOS. I have both games running on an iPad but I'm concentrating mostly on Solo Hero for now.

As far as the engine code goes -

Rendering is now about 95% complete. I have a few rendering primitives (line/circle/textured circle) to implement. Although the rendering methods on Android OpenGL and iOS OpenGL are broadly similar I have found it neccessary to implement different methods in some cases. I have a few tweaks on the rendering states too. I added a few graphical features to Solo Hero last year after I'd done the conversion work so I'll have to add those once the existing rendering code is complete.

Audio code is running 100% as far as I can tell. I'm using OpenAL which is new to me for this project and I'd not managed to get any audio working before I abandoned the conversions last year. When I started looking at audio methods again last week it quickly became clear that OpenAL was the best solution for what I am trying to achieve and once I'd settled on it the programming was very straight-forward. I've got some work to do on the samples but that's polish and doesn't IMO count as audio programming :)

Touch code is running 100% but there was at least one case where it failed to detect a touch release. This can wait till testing. This was much harder to implement that for Android. What I've done essentially emulates how Android handles the touch screen before feeding the result into the Objective C version of the Android touch-handling code.

File I/O is running 100%. This was relatively simple to implement; just a case of learning about the apps "sandbox" file system. I only store the high-scores and a small number of settings so it only involves the maintenance of a <5k data file.

And on the game side -

The game is running but there are several gameplay bugs and the screen layouts need reworking. I will prioritise the gameplay bugs and leave the layout issues until the end of development.

The full original version of Solo Hero has a Real-Time Strategy style control interface. In 2015 I created a 'lite' free version of the game with an alternate interface called "Solo Hero Rush". It's my intention to add this to the full Android version as a top-level choice; a different way of playing the game with a separate set of rewards. I'll add this to the iOS versions before release rather than leave it to a later update.

Overall, the conversion is going much better than I'd anticipated and so I'm hoping to release my first iOS game in the very near future. That said I've worked on enough game projects over the years to know that you can never relax until the game is "out the door" as there is always a new challenge waiting just around the corner. I'll keep posting regular progress reports so please keep checking back here :)


Thanks for reading!

best wishes,

Martin @ Ludopus


Hi Everyone,

I'm taking a few weeks away from Chess to work on the iOS conversions of Solo Hero and Space Hippies.

I had an intense three month period in summer 2015 where I learnt Objective C and iOS developement, converted the bulk of my custom engine, and then converted the game code for those games.

I estimate that I managed to complete about 80% of the work for both conversions but ran out of funds to buy hardware and so development hit a metaphorical brick wall. I am now back on those and making good progress once again but now I have a target device I can develop elements that were impossible to replicate on the simulator. So I hope to turn these round quickly and be back onto Chess with a fresh dollop of motivation in the near future.

What does it mean for chess? In the short term it means a delay of perhaps two months. However, having developed two iOS games and a stable development process it should make concurrent releases of Chess on Android & iOS easily possible.

Thanks for reading and please keep checking for further news. I'll be posting progress updates frequently.

best wishes,

Martin @ Ludopus


Hi Everyone,

I thought I'd take the opportunity to talk about "Replay Value" a.k.a "Replayability". This is something I gave a lot of thought to in my Android game "Solo Hero" which in most respects is a very simple game. The primary goal in Solo Hero is to achieve a high score. In the free versions of Solo Hero there is no high-score table as such although the player is congratulated if they achieve the best recorded score. In the paid-for app I included the "Hall of Heroes" which is a high-score table but also includes other measures of success; level reached, time taken and medals earned. More on medals later.


The free versions of Solo Hero contain the first three levels of the paid app but not the medal system and therefore have the replay potential of maximising score, time and level reached. These are displayed on the high-score congratuation and the trial complete screens.


The paid-for version of Solo Hero has those same replayability measures in score, level and time but has eight levels for players to compete against. Each level introduces new features and more intense action building up to the final level where the player faces a crowd of hostile characters and cannot ultimately survive since all those hostiles regenerate. A narrative of doomed self-sacrifice perhaps :) So ultimately it's all down to score and the final score is what dictates the rank on the high-score table with those other elements there as extras to add further meaning to the endevour and therefore replay value beyond the score alone.


The next element of "Replay Value" is the "Frenzy" mode; unlocked when the player reaches final level. This game mode is an instant repeat of the final, unconquerable level of the game and has it's own, seperate high score at the bottom of the high-score table.


Finally, I added a medal system whereby each high-score table entry could also have a row of medals attached with each medal signifying a different achievement. The medals available are Saviour, Warrior & Excelsior.


The Saviour medal is awarded to players who rescue more than 7 civilians in one game. A sub-goal in Solo Hero is to gather, protect and lead the civilian characters until the end-of-level. A substantial score bonus is also awarded for each civilian rescued so, even without an eye on earning the saviour medal, civilian rescue is an integral part of the game.


The Warrior medal is awarded for delivering a coup-de-grace or "finishing shot" to at least three rivals in a single game. "Rivals" in Solo Hero are AI characters that appear in the level and compete for resources against the player character. They are also agressive toward the player character, The rivals can be killed by the same baddies as the player or by explosive damage but the kill only counts toward earning the medal if the rival is finished off by a direct shot from the player.


Finally, the Excelsiour medal is awarded simply for starting the game in "Expert" mode. Once the player has finished the third level of the game the "Expert" mode is unlocked allowing the player to start the game on level four. This medal might therefore seem the easiest to display on the high-score table but the score and any companion medals must be in fewer, more difficult levels.


So,in my estimation, achieving a high score and all the medals in one game would be a difficult acheivement for any player.


When a score has a medal displayed next to it that medal is also displayed brightly above the high-score table. Otherwise the medal is shown dimly to prompt the player that there is an unachieved goal to be reached.


I hope you have enjoyed reading this description of the addition of "replay value" to an otherwise simple game experience.


Thanks for reading,

Martin @ Ludopus


P.S. Here are the links for the three versions of Solo Hero available for Android on Google Play

1. The full game experience in a paid-for app...

Play.google.com


2. The trial version with the same radical RTS-style control interface as the paid-app...

Play.google.com


3. The newer trial version with a more traditional joystick control system...

Play.google.com


P.P.S. I do plan to add the newer control system to the paid-for app as a selectable feature with a separate high-score table. It's on the cards but not in there yet.





Chess Progress

Ludopus Blog

Hi Everyone,

Sorry for the lack of Chess news lately. I decided that the main rule engine for chess needed a substantial rewrite.


I had hoped that my last major rewrite had solved the remaining problems relating to detecting check & checkmate. This particular sub-problem of Chess is rather involved and somewhat recursive since a. testing for check and checkmate has to happen so often and b. testing for escape moves involves making the move and then re-testing for check. I've had to write the same functions in multiple guises to accomodate different requirements but have found that some "edge cases" still exist where the rule engine allowed an illegal escape and others where the AI missed an obvious Checkmate.


I eventually decided that I needed to change the way this was handled and designed an alternate approach. For the last three weeks I've been busy implementing these changes but the process is taking longer than expected. However, I am confident that the new approach will finally provide a bullet-proof rule engine and be more readily adaptable to the features I have planned for the future. The previous rule engine had evolved over time from the first chess-prototypes I created for Windows over five years ago and I had not envisaged all the scenarios it had to cope with when I designed the approach all those years ago. Being so close to a release version has given me the neccessary insight to make informed choices for the latest rewrite.


Once the rule engine rewrite is completed I will have to rebuild the knowledge base once more from scratch but, after several previous cycles, this is mostly an automated process. I'll blog on Chess again as soon as the rewrite is complete.


Thanks for reading,

Martin @ Ludopus

Latest Chess Report

Ludopus Blog

Hi Everyone,

I'm still busy with Chess; here's where I am at the moment.

The last big task is the opponent AI. I've fully developed the learning database (knowledge-base) system and now have the six AI variants that translate into six difficulty settings for the game.

I've written the Chess AI from scratch to implement a design philosophy which, I believe, is different from other chess games. I enjoy playing chess but am only a casual player and don't do very well against more experienced opponents. In the past I've struggled against even the lowest difficulty settings on the chess games I've played. It is my goal to produce opponent AI that is much easier for beginners and intermediate players to compete against with a more gradual learning curve. The small amount of beta-testing I've done so far, involving a small cohort of testers, seems to indicate I've got the level almost right although the highest level is not really a strong enough challenge for an intermediate player. I'm hoping that when I've finished building the knowledge-base it will bridge that gap.

My next job is to add a difficulty selector to the title screen. I'll add it to the Windows version first and the convert it for the Android version. Then I'll do another round of beta-testing while I do final polishing on the Android version. I'll be running the batch learning for the knowledge base at the same time.

That's all for now. Thanks for reading.

Best wishes,

Martin @ Ludopus


Hi Everyone,

Today I thought I'd talk a bit about the reasons I use a custom game-engine; a decision which seems to put me in a small minority of indie game developers.

The first reason is simply that I'm a bit old-school; I started making games on ZX81 in the early eighties before the concept of 3rd party game engines and middleware were even thought of. All the games I've ever worked on, and this includes modern games like LBP, use their own game engine. I've been involved in the development of some of these engines from the get go or have been involved in their low-level maintenance and have therefore picked up a great deal of inate knowledge on the subject. I don't believe for a second that my own engine is anything like as comprehensive as Unity, Unreal etc. nor does it have the same level of tool support. What maintaing my own engine does give me is freedom and up-to-date knowledge. In my opinion it's also better for the consumer since my apps have a significantly smaller footprint than comparable apps. I've also noticed that most apps on Google Play require blanket permissions; I'm not sure if this is forced on the developer by Unity or if it's lazyness/ignorance on the part of developers. As a consumer it does make me think twice about installing an app though.

So far I've concentrated on 2D games but will probably extend my game engine to have 3D rendering when the game I'm developing calls for it. I've already coverted the engine and two games to run on Windows and have done significant work toward an iOS version too. So you should see Ludopus games on these devices too.

None of this means I'd rule out using Unity or similar in the future but I can at least decide when to take the plunge with less pressure.


Chess update -

Building the database (see previous blogs) has been a slow process. Today I created a very stripped down version of the windows app to play batches of games. I'm running it now on a probabationary basis using a back-up of the database. So far it's working well and managing to play about 250-300 games per hour as opposed to 4-7 (ish). Needless to say I'm very pleased with this and if all continues to work properly it will bring the release of the Android version much closer.

Best wishes,

Martin @ Ludopus


Hi Everyone,

Solo Hero Rush -

Just a reminder that there are two free versions of my Android game "Solo Hero". The original game uses a player interface reminiscent of Real-Time Strategy games. This gives the game a unique feel and sets it apart from other 2D zombie survival blaster games. Happy though I was with this I couldn't ignore a section of the audience who asked me to add a traditional interface too using an on-screen joystick and fire-buttons. I released this "remix" in 2015 and called it "Solo Hero Rush" and, in due course, I aim to add the alternative interface to the full "Solo Hero" paid app. I've added download links for all the "Solo Hero" apps at the bottom of the blog; if you've not seen them yet then please give them a go.


Chess -

Regular readers will know I've been building a large database of game sequences using my existing chess AI. At the start of this process I converted the whole Android game to Windows to make the database processing easier and more robust. Now I have a large database I turned my attention back to the Android version to utilise the database; a task that I have now largely completed :) The database creation process is ongoing but I can now polish the Android app while I'm waiting for the database to reach the level of detail I'm aiming for.

I'm hoping to post some videos of chess gameplay by the end of the week so please keep checking back here.

Thanks for reading!

best wishes,

Martin @ Ludopus

===========================================================

Solo Hero Rush - Free on Android - Classic Joystick Interface

Play.google.com

Solo Hero Trial - Free on Android - Original Interface

Play.google.com

Solo Hero - Paid App on Android - Original Interface

Play.google.com

Solo Hero Soundboard - Free on Android - Just a bit of fun...

Play.google.com

=============================================================

And why not try my other free game for Android - Space Hippies

Play.google.com