[Post Mortem]: Copulus – the love making, weight lifting god game

copulus_logo

Copulus is a 2D God Game in which you have to help your subjects populate their little world. In order to achieve this you need to balance their need for social interaction (and copulation) with the need to survive. I decided to try and stream line the “god game” mechanics and let the player focus on only a few tasks, as opposed to regular god games where you have to manage many different needs (housing, hunger, peril, happiness, loyalty, security, etc). In order for your population to survive and expand you only need to make sure they are feed, safe and can interact with each other. I even took this approach a bit further and merged survival/peril with hunger satisfaction. Before I go into the, regular, What went Right, What went Wrong topic I would like to present my approach for this entry:

Limitations breed creativity

Before the theme was announced I already established how far I can stretch things. I know from previous experiences how hard it is to stay on track of the initial design and how many features end up being thrown away in order to finish “something” before the time runs out. So for this edition of Ludumdare, I’d like to say I came prepared. Here are my, self-imposed, limitations:

  • 256×384 resolution (upscaled to 512×768)
  • must involve some kind of an AI
  • must be tile based.

Three rules in total. Three rules that, once the theme was announced, helped me establish a clear goal. For example, the small resolution and tile-based approach helped me establish the art style, level and user interface design. Working on a 256×384 screen I could only fit 8 / 12 tiles (32×32) on the screen, or 16/24 tiles at 16×16 pixels each. The AI requirement weighted in favor of the strategy genre and, it’s subclass, the god game genre.

From here on, I went with the entire map being confined to a single screen (in order to have a good view of your population, and not have to hunt for them everywhere). This also affected my User Interface Design and Experience, since It had to take as little screen space as possible. Little screen space for UI implied having only a handful of buttons during game play which, combined with the god-game thematic, had me limit what tasks the player could focus on. A small amount of tasks for the player to perform required me to streamline the entire “god game” approach and make it as minimalistic as possible (the soul experience as I like to refer to it). You can see how things developed further on.

training_gif

What went right

  • Using a WIKI to plan ahead. Features, classes, how the AI should perform, etc [click here for a screenshot of the wiki].
  • Not stretching further than I can and imposing strict limits.
  • Making fake-screenshots(mockups) before beginning development so I can plan my interaction approach.
  • Using tools and frameworks that I was familiar with.
  • Selecting a limited color palette to work with.
  • The UI only interaction means that I can also port the game to tablets.
  • Using “procedural” generation to save time (from level design) and focus on other areas.
  • Nailed the risk-reward motif due to Wolves acting as a source of food but also damage to the units.

What went wrong

  • My innate lack of knowledge when it comes to composing and/or generating appropriate sound effects.
  • Having to remove the “convergence” scene. After winning a level, the player was supposed to reach a new world with his highest level followers and watch them fight off the inhabitants. I regret removing because it would have had a better tie in with this jam’s theme. Further more, I had a system which allowed the player to revisit worlds that have been previously populated, to see how they are doing.
  • The game’s balance is a bit off. Level progression of your followers vs level progression of the wolves is tipped in favor of your followers for the first few levels. A few wolf summons in and you can only take them on if you have a high level character that survived.
  • Social interactions are only represented by heart animations on individuals, but it’s hard to tell who “copulated” with whom. More so, a death of a birth of an individual is represented by their respective sprite disappearing from the game.
  • Health, hunger and level indicators are way to small and crammed into a unit’s sprite.
  • The tutorial is just a image and does not convey all the information needed.

blood_gore

Conclusion

I feel that with each Ludumdare event I partake in I can quantify my progress as a Designer. My first entry required the player to quit the game in order to restart the level and featured only mechanics but no clear goal (also no Ui of any kind). In my last LD (7DRTS) attempt I finally had a entry with no missing UI options and a clear navigation path. You can see where I’m going with this. But all in all, I’m glad that with each submission I end up acquiring new knowledge. As far as limitations go I believe that it’s better to know what you should not do as opposed to not knowing what to do. Hopefully my next LD submission will blow this one out of the water.

You can play and rate the game here. Linux, Mac and, hopefully, Android coming tonight. I’ve also uploaded it to itch.io and, in the weekend, will release a post-compo version that has sound and the features that were cut off.

Advertisements

Developing a “good-enough” TBS AI – Mutant Gangland

possible_header_slidedb

Disclaimer: I haven’t dabbled much in Artificial Intelligence before beginning this project. This article is aimed at developers starting out to develop a TBS game with no prior experience, looking for a place to start their journey. I’m not claiming this is the right way to handle AI and I won’t vouch for the sanity of the code (or anyone reading it).

Prologue: Mini Wars – #7DRTS and the AI in Pimps vs Vampires

Artificial Intelligence is, in my opinion, one hell of a Goliath – when you know nothing about it. Up till this point I was scared to approach or research it, thinking that the complexity that resided in it would be far beyond my skills as a need-to-be programmer, and, to some extent – is. The first time I tackled with it I had the luck of needing nothing more complex then an alzheimer behavior for my NPC’s. In Pimps vs Vampires, a 2D roguelike-like, my AI is nothing more then a simple pathfinder implementation and it works something like this:

  • Get the first movable Vampire unit
  • Find a random position on the map that is empty (no unit at those coordinates, no walls or other objects)
  • Find shortest path to goal
  • Movement loop: Is our vampire there? No -> keep moving. Yes? -> find random position, computer path, move towards it.
  • If player.x/.y is on a position inside that vampire’s path and distance between player and vampire is shorter then X/Y then set unit goal to position.x/.y in range of attacking.

And for a game such as PvV things seemed to work out well, especially with the Field of View. The fact that a Vampire would only notice the player based on distance check AND location inside a path unwillingly created the possibility for the player to hide behind a wall, hoping that the enemy will pass him.

Continue reading

Announcing: Mutant Gangland – Coffee-break TBS

Elevator pitch:

Mutant Gangland is a fast, neat and simple turn-based-strategy game where mutants fight robots . Build units, Conquer buildings and use them to Fund your army. Battles are short but the game packs 11 missions, 30 quick battles and a level editor to design your own maps.

  • A fun and pocket sized game with a simple setup of making soldiers, taking buildings and getting money. These matches take little time so you can play them during you coffee break.
  • It’s fast: Most actions can be completed in less than one turn. The AI is fast, input is responsive and units can be built and deployed in an instant.
  • Constant autosaves feature ensures you can turn the game off and resume playing whenever you want.
  • Buy once, play forever. No IAP, No Freemium, No DRM, You get what you see: Simple fun combat strategy.

Obligatory gif tease:

mutant_gangland_018_wordpress_battleView_gif

Totally biased opinion:

Work on Mutant Gangland (MGL) began  just after Mini-LD 44. It was meant to be an improved version of my #7DRTS entry, Mini Wars. Over the course of the following 3 months it grew bigger, prettier, faster and deadlier. After finishing the in-game level editor and play testing it I realized I might just have the perfect TBS to play during breaks. Since then my goal for the game was simple: Keep it small, keep it fast, keep it fun. It’s a streamlined Turn-based strategy game. Yes there are terrain stats modifiers, yes units can be built and buildings generate income. It has many of the core features from what people love in TBS’s but it’s also approachable for beginners. I’d like to think of it as the mutated-spawn of Desktop Dungeons and Advance Wars.

Maps range from 10×10 to 35×35 terrain units. Small enough to not feel crowded, big enough to play it between bus stops or when the compiler is under heavy duty. There are 2 factions with 4 units each:

  • A scout – perfect during early game when players rush for resources
  • A chainsaw wielding unit – the jack of all trades with good mobility, health and damage
  • A shotgun freak – for those annoying pests who keep trespassing your property
  • An artillery unit – because enemies on the other side of the gap can still take damage

Although each factions control similar units they are differentiated by stats, health gen, cost and mobility. Robots are cheaper and faster but their mechanical legs can be blown off. Mutants are brutes that can really pack a punch. Their health does not regenerate on it’s own but they have a higher chance of scoring a critical hit. Both factions can also acquire powerups such as:

  • Health Regen for the entire team
  • Damage boost for one turn
  • Increased movement range
  • Increased defense

The graphical elements and art direction are the work of Thomas Noppers, the man who’s twitter feed is always full of beautifully crafted pixel perfections. You can check out his Game design / Art blog here.

The game is currently under test on my devsofa channel. I plan on finishing it for this year’s October challenge and release it, at first, on the Android Market Place. A linux port will be available soon after that.

 

Pre-challenge thoughts – #7-5DRTS

So 27th of July is only 3 hours away. While most people are wrapping up their #7DRTS entry I’m getting ready to start coding mine. Till now, I implemented a small level editor with only a couple of features: 2 layers (Ground+Buildings and Entities) and the ability to export the entire map as a LUA Table. Nothing fancy, but it gets stuff done. As far as the game goes, my entry will be a Turn Based Strategy game inspired by the Advance Wars franchise (yet, no fancy over-the-top battle animation).
I already did a handful of sprites for the game and some UI elements. As it currently stands, the game should look like this in the final version:

7drts_mockup

I’m going with a 480×320 window and a visible playing field of 11×8 (actual game grid should be ’round 20×20). I went for a small window size for several reasons:

  • I wanted to make a game similar to those on the Gameboy Advance. 240×160 was a tad to small for my likings so I doubled it.
  • It’s big enough to only add BASIC and USEFUL information and controls to it. I don’t want to overdue it on the features, and I sure as hell don’t want just to add stuff in order to not have too much free space lying ’round.
  • Is cute as a baby seal.

There are 3 types of units: Infantry, Tanks and Mechs with rock-paper-scissor kind of play. Infantry: Strong against tanks, weak against Mechs. Mechs obliterate Infantry units but get blow up by Tanks. You can figure out the rest. Units are grouped into 1 entity on the screen (aka one Infantry sprite can represent 1->10 units).

Each unit can move and attack at a certain distance. For example, a tank can move and attack in an area of 4 squares, while an Infantry can only cover 2. In order to move a unit, the player must select him and press the movement icon (second on the bottom tab). In order to attack, the player must have a unit selected, press the attack button (first icon) and select an enemy that is within range. He can end his turn by pressing the 3rd button.

On the playing field the player will encounter neutral bases, which can be captured by moving a unit onto it. As long as an unit is there, the base can produce several more of that type each turn. The goal is to destroy all the enemy units.

enemy_turn

The game’s source code and assets will be released Open Source under CC-30 and will be available on Github at the end of the jam. Building roofs, icons and color palette are taken from this sprites. The two character portraits are from here. Everything else has been drawn today for the jam.

 

#7DRTS Challenge is a go!

Radu you are so going to loose.

7DRTS

Artistas and Mechanists, Coders and Sound Guru’s: @Sorceress has issued a new challenge for all jam aficionados in wake of the next #Ludumdare. Bottom line? Make an awesome RTS or a TBS or PBSGWNBC – Penguin Based Strategy Game With No Building Construction – in 7Days and share it with the world.  I will be doing the challenge in only two days (27-28) as per Radu Chivu’s request. From 22 till 27 I will not work on the game but on tools, such as a Editor (Units, Buildings, Maps) and then just go head-to-toe with monsieur Radu.

Best of luck to everyone.

How does the world work?

I’ve been working on Pimps vs Vampires for about 8 months now, alongside Thomas Noppers. The next version is scheduled to be released somewhere next week, bringing a few new weapons, a crazy bat sidekick and a multi purpose bubble-gum weapon (won’t spoil it for you guys). What puzzles me is that even though most of my twitter followers (or awesome peeps, as I like to call them) played and tweeted about PvV most of everyone I met have almost no idea about PvV’s existence. Instead, I meet up with a few folks from Bucharest that, once I told them my name, recognized my blog (this blog). The funny thing is they also knew about my last LD entry (Minimal Interaction Warfare) and congratulated me on finishing a game in 48h, though I’m sure they only played the after-jam version. Thus, I got a bit puzzled so I decided to google both of my games. There are more mentions about Pimps vs Vampires yet what tingled my kringle was that MIW got hosted on Softpedia.

MIW is no-where near a finished game, with only a couple of units and 3 different tile sets. It is only hosted on LD’s page and on Gamejolt. PvV has a page on indieDB, on FTJ’s page and got a few mentions on other blogs. My question is HOW and WHY, did MIW get chosen and hosted by Softpedia?

 

Ludumdare 26 – Minimal Interaction Warfare

As some of you may know, the 26th edition of Ludumdare took place last weekend and boy was it fun. A wooping 2345 (nice number eh?) games have been developed in less then 72h, thousands of lines of code have been written and industrial quantities of caffeine have been drank. The theme for this edition was Minimalism , a theme with so little, yet so many, interpretation. Some entries focused on having minimalistic graphics (color scheme, elements, basic primitives), others had simple interactions and gameplay. One guy went the extra mile and made his game minimalistic by all possible definitions (graphics, design, executable size) and added a bit of maSOchiSm to the equation. My interpretation of the theme? Minimal interaction during the Action Phase of a game.

Minimal Interaction Warfare

Minimal Interaction Warfare - Post Ludumdare Edition

Minimal Interaction Warfare – Post Ludumdare Edition

When I first started MIW the goal was simple: A 2D war fighting game in which the player placed his troops, issued orders and sat back to follow the outcome. I guess I can say I succeeded as my entry featured all the above. The down falls? No sound, over powered player units and little-to-no-polish. That’s why I decided to release a second, post-jam, version with a simple Main Menu, more maps and balanced gameplay. The game still has no sound effects and music because, well… um, I have little-to-no talent in that area and I wanted to keep things in the spirit of Ludumdare where all the assets are created by me. Maybe in another version, when things settle down (I still have to release another Pimps vs Vampires version this week, and I also have some freelancing work to attend). Continue reading