Recent Blogposts of Gamedev | Page 4

[WIP]Koloniigo - Early Access Version

Oct. 10, 2015, 6:08 a.m. Gamedev Koloniigo Product Release WIP

After two months of work, early access version of Koloniigo is finally available!

[NEW]Tutorial Instruction

A few users has reported that this game is confusing. Therefore, I add a tutorial instruction section here.

  1. Click a red building
  2. Click the attack button on the top-left corner
  3. Click a blue building to send population to it.
  4. You'll see that a red ball is spawn. With the bar changing color
    • The red ball is the population to be sent
    • The bar shows the amount of population inside a building/moving population
  5. Click the next turn button
  6. Repeat until you take control of all buildings

Rules

  • Objective: turn all the building into your color(tutorial: red; random map: red; networked game: either red or blue)
  • Turn based game. It's your turn, enemy's turn, your turn, enemy's turn and so on.
  • In each turn, send population from your building(s) to other building(s). When the population a enemy's building drops to 0, it's yours.
  • Each building has special function shown in speech bubble, e.g. double defense, triple attack, etc.

Mini FAQ

  • Q: What are the color bar above the buildings?
    • A: They're the amount of population inside a building. white~red = 0~10; red~orange = 10~20 and so on. Double thickness means 100+, triple thickness means 200+ and so on.
  • Q: What does the icons in the speech bubbles do?
    • A: It tells you the special function of the building. You can't click on them
  • Q: I've controlled all of the buildings. Why I still can't win?
    • A: It takes time for population to move from a building to other building. The moving population of opponent is hidden by default(unless you got a beacon). If it happen, it means that there're still moving enemy population in the map. Those moving population might be able to take back the control to your building. That's why you aren't regarded as winning until all moving enemy's population is died out..
  • Q: How do I beat tutorial 3?
    • A: First, you need to take control of blacksmith(the thing that looks like an oven). Then make use of the blacksmith for attack because it has 3x attack compared with other buildings.
  • Q: The game freezes in networked game. Is the game broken?
    • A: No. If you can do nothing in networked game, it means that your opponent is making decision on his turn. You have to wait for your opponent to click the next turn button. So just wait.
  • Q: I can't send population in networked game.
    • A: First, ensure that it's your turn. There should be a green check button on the left-bottom. If not, just wait for your opponent to pass the turn to you. Second, in networked game, it may be possible that you're blue instead of red. So click some blue building to check whether you're blue
  • Q: I've more question!
    • A: Ask wherever you can see me. e.g. reddit or freenode

TODOs

  • Change the graphic. The current graphic looks ugly. I'll probably find an artist for help
  • Networked game
    • lobby
    • Multiplayer vs multiplayer
    • Network disconnection handling
    • Tell whether you're red or blue at the beginning of the game
    • Display something interesting when it's opponent's turn
  • Bugfixes :P
  • More gameplay elements

Before doing these, I think I'm going to update this website first. I'm planning to merge this blog with my homepage. and I got tests and exams to do recently. I think I can't work on this game for a month or two. :( Anyway, don't worry. I will complete this game eventually. My project completion rate is pretty high. :)

Click here! to play!


[WIP]Koloniigo - Networked Game Progress

Sept. 30, 2015, 4:28 p.m. Gamedev Koloniigo WIP

Hi. I haven't updated the development progress for a while because I have been busy working on the game. :3

As you might have know, networking is tough. Anyway, I'm getting good progress on it. And I managed to get cross-platform websocket networking working. :D

Here's what networking function currently implemented:

  • Automatically register players(for future use. Mainly for storing player experience)
  • Minimal lobby server. It waits for two players joining a networked game, then redirect the two players to enter a game room.

Here's what still left to be implemented:

  • Actual networked game. (The networking stuffs after the two players entering the game room)

It's midnight here. I'm exhausted. Time to sleep. I'll continue work on this game tomorrow. Good night guys! <3


[WIP]Koloniigo - Tutorial

Sept. 19, 2015, 8:30 a.m. Gamedev Koloniigo WIP

I've just implemented 3 tutorial levels in Koloniigo. It's used to briefly introduce the game mechanism.

Before completing the tutorial, Random Map mode and Network Mode(unimplemented) are locked. They're unlocked once you finish it.

So what's left are:

  • Networked Game
  • Achievements
  • maybe more later :P

I'm current doing research on making networked game work. I'm planing to write a wrapper library to make a unified interface for accessing Java-WebSocket(for android build) and gwt-websockets(for html5 build).

After the research, I will take a break in this project for updating my website(well, the home page is severely outdated). I'll probably merge this blog with the homepage. The project will continue after the completion of website update.

Let's see how will it turned out. I'll post any future update here! :)


[WIP]Koloniigo - Viewing Building Feature

Sept. 17, 2015, 2:53 a.m. Gamedev Koloniigo WIP

As you might have know, each building in Koloniigo has a special feature. For example, hospital has 2x population generation among other buildings.

Now I've implemented a speech bubble that shows the feature of the building:

Not counting networked game, this game is almost finished. I will report future updates on development in this blog. :)


Gotcha of Rendering libgdx NinePatch

Sept. 15, 2015, 1:22 p.m. Gamedev Programming libgdx

Today I ran into a gotcha of libgdx. I was trying to render a NinePatch packed with texture packer by constructing a NinePatch using this:

new NinePatch(assetManaget.get("pack.atlas", TextureAtlas.class).findRegion("path/to/ninepatch"));

Then I tried to render the object using its draw() method. Didn't work. Instead, the NinePatch image was just stretched.

Then I read the documentation about the constructor of new NinePatch(TextureRegion)

Construct a degenerate "nine" patch with only a center component.

What? This is obviously not what I was expecting.

Turned out that the proper way to do this is:

assetManaget.get("pack.atlas", TextureAtlas.class).createPatch("path/to/ninepatch");

See also: TextureAtlas.createPatch(java.lang.String)