понедельник, 28 ноября 2016 г.

Learning Defold for HTML5 game

After research I decided to move on Defold route. It easy to learn, has great community and manual. Qici is interesting one, but documentation and software make me feel dizzy - like using amateur tool.

Now learn it by making port of Everlasting Summer to HTML5.
http://gamejolt.com/games/everlasting-summer-browser-port/211167

Why this game? I love story and it easy enough (visual novell) to learn basics of engine. After finishing it (all images and story is borrowed from original game) I can move with boomtris along.

One thing bothers me - should I rename boomtris to boomtrix? Tetris corporation is bad people and sue for small part of name

четверг, 10 ноября 2016 г.

Decision of engine for HTML5 promo game

After playing with Unity I do not understand why WebGL export too heavy.

I like to make some promo games (and test some concepts for full game) and place it on gamejolt, kongregate, itch.io e.t.c.

Looking to another game engines I found QICI and Defold. QICI is build on top of Phaser (Pixi) and has Unity workflow. But it developed by one person, and I have bad issues with AppGameKit (mostly bones animation).

This can be heartbreaking when you develop game and one of needed functions breaks and no way to solve it in apropriate time.

So, I look at Defold. Defold is pretty interesting engine, written by King. So bug fixes will be fast (maybe) and lua language is easy one for learning.

If it will work for me, I develop BoomTris.Lite in it and place it free on the web. Suggestions then make my main game better one.

вторник, 1 ноября 2016 г.

Strugling with life and moving to Unity 5

After some strange situations, 3d artist catch silence. Maybe he waits for some money flowing. So will it be.

Problems in life is pretty interesting - quit current job and seeking for new one, and developing boomtris as relief.

For parallel loading of levels I need Unity 5. So will port it to new engine version. It has new good properties and actions, but many libraries does not port normally.

I will make barebones without external libraries (mostly). Will look how it happens.

среда, 24 августа 2016 г.

суббота, 13 августа 2016 г.

Large square beamers works

After some tinkering I found a way to introduce two row beamers and more to rotate and clear enemies.


It is promising new mechanic for heavy weapons. Static beamers can break composition logic.

I have statically place enemies on grid. But static beamers sometime placed between grid rows and useless. Yes it has very high damage, but it should be placed straight in line of enemy ship - then it worth upgrading.

Maybe beamers should be used in board to board battle with large enemy ships?
My main idea - battle of large ships board to board as in star wars (battle on Coruscant).

And now I have to rethink main tower to have more fun. So strange ways game changes itself when you trying to play it.




среда, 10 августа 2016 г.

Strange unity bug

When I made bug in a code (special string '***' for compiler to show me next time where I was) Unity is break loading and trying to load default layout. It does not try to compile normal unity test tools and this is very frustrating.

I should change my programing habits for unity sake. It is disappointing.

суббота, 6 августа 2016 г.

Strange beamer behaviour.

I copy code from GridTowerAI to TowRowBeamWeaponAI and it should work, but it has not.

So strange, when you have good and working code. Use it and nothing happens.

Maybe some deep internal dependencies not met? But it compiles and run.

When game grows too many classes make head spin: which one I should apply here, where I can borrow some functionality, can it apply to new situation.

Tower AI is pretty simple and straighforward: I search for nearest target (and should move this logic to Strategy pattern), then look at it and attack. Laser tower works perfectly. But two row beamer ignores target completely.

Bug hunting not fun activity at all. Maybe I can find gamification way to make it prettier?

Debug beamers

Working on beamer weapons without level context. I must debug it to work properly.

Basic beamers is working pretty good, but I have new vision - if beamers fixed, then ship must move up and down to reach enemies not in range of beamers or rotate around.


This mechanic can be very interesting to work with. But i should rotate camera also.

And I have some problems as well - square beamers must rotate and it can be pretty difficult to setup.

I have all towers ai inherited from tower ai. And core functionality of it - rotation of small towers. Maybe if I can lock rotation for specific towers - then I can detect enemies with basic algorithm.

Beamers detects enemies by simple raycast, but rotable beamers is simply big basic laser towers with pretty heavy damage on it.

So, I should introduce new mechanic -- rotate ship around by 60 degrees and see, how it looks.
And change beamers to be basic tower ai with rotation.

пятница, 5 августа 2016 г.

Knee deep in debugging

I'm already debugged blueprints code, but occasionally lost it on old hdd. But now blueprints seems to be changing and working as prefered.

Some nasty bugs I have, already gone. But new one pop out from nowhere. So strange.


Some beamers move turrets when created. Some replace them. Why it happens - is mistery. Now investigating code for this bug source.

I'm ashamed about development of this game, but ductape can help with small "not know why, but if add +1 it will work" things.

Pretty strange bugs from normal code.
And good programmer inside of me is crying from this code. But I can not understand why basic logic does not work as expected. (+1) thing is very bad decision, but I can move project and push it some.

When trying to fix these kind of bugs as academist I lose my motivation. Game development must be fun activity, not mind boring as in enterprise.


вторник, 26 июля 2016 г.

Real life interfere with game dev. But it still going

After third client accepts my permanent services I have smaller time to work with game.
But self-discipline is good when you doing same thing in same time.

I have one-two hour from start of work to push BoomTris forward.

And I have some progress towards. Blueprint facility was broken, now working again. Some minor glitches of positioning blueprint higlight over grid. But it works and I have ability to select and use it.

Now I should debug blueprint spawning and big towers is full with bugs. Bug hunting is pretty boring, but need to be done.


So, blueprints as idea is good one. But it bind my progress for half of year. Maybe I should made game with only one mechanic of droping towers. But upgrades and big towers is very important and it is main idea of game.

I think, that year of development (in April) is not so big period of time. Many games developed as partial time effort takes 2-5 years of development.

And now it as work. But pretty interesting to play with.

For motivation sake I participate in ludum dare event. And it was awesome. Too many game designers and good games.

I think, that blueprints can be debugged in next two months.


пятница, 10 июня 2016 г.

Testing


I installed unit tests but unable to use it. It show errors and must be fixed. But why? It is should work pretty well.

Tests is running. And now I should add tests for TowerController for blueprints testing.

But which test to write first?
Should I use assertion components?

Too much information to handle. I should step easily.

For testing tower controller I should setup it with blueprint manager. And blueprint manager should be setup also.
So, I should test from beginning.

TowerController depends on BlueprintManager
BlueprintManager depends on Blueprint

So, I should check from start.

I need to find a way to instantiate by name. Then I can test my blueprints from designed one.

It can instantiate from resources. So I should make them move to resources folder.

Successfully instantiated. Now I should check blueprint for work and move it to startup.


And I should check availability for every blueprint. So common code is good to be in tests.

First checking beamer 1x2 for normal and extended pattern. I should check empty pattern and rotated one to fail

Adding upgrades


Now I think about upgrades and decks. I should get it from scene with upgrades, already implemented. Just copy them.

I can not find it in my project. Where it goes? Maybe it on archive hdd at home. And I should now implement it again. I should use prefabs for this. In Unity all must be prefabs.

I slowly flesh it out. And my memory is recalling. Maybe I can have this game playable to end of week. Then I should debug it until level is working perfectly.

Now blueprint deck view and deck has prefabs. Player tower controller has blueprint manager.

But one problem though: I do not remember where to find these big weapons? Should I use RAIN AI weapons with mine old? Or I should reintroduce all weapons in mine AI logic?

суббота, 4 июня 2016 г.

AI is debugged (partially)

As said Dijkstra: "Debugging is twice as hard as coding. And if you code at maximum, you can not debug your own code"

And it is very good note. I'm trying to debug code, but understanding unity is pretty shallow now. And looking at code I struggle with wish to rewrite code from scratch.

If I can not understand what is going wrong with parallel execution, then I can not write better code.
So, step by step I improve AI and now has build version

Alpha-150: on google drive

It has one level and all basic towers to test. Buggy, but playable.

среда, 1 июня 2016 г.

Pretty fun debugging AI

I develop AI step by step and now decided to move it to one root class - GridTowerAI.
But it is not soo easy as it sounds. I lose wait pause between shots.

It looks as very long trail of cannon/laser shots:

And it is very annoying, but interesting code collision of some metaphors.
I should check it and make it wait. One thing that help me in bug hunting - plain old paper prints.

Many monitors is pretty good, but paper is good at marking and writing thoughts (and drawing).

суббота, 21 мая 2016 г.

Moving toward classic tower defense

Classic tower defense with upgrades

Juggling around with mechanics I found, that simply placing in one column of tower is pretty boring. So, dig up on my experiments and extracted spawner and selectors for multiple towers and multiple places (columns)

This layout can help build ship as you want to. And it can help to provide normal nanolathing.

Simply towers can be upgraded in hangar between battles, but bigger towers must be combined in field. And blueprints drops will be interesting. You have steady flow of big cannons, but rare one can be obtained by destroying enemies.

Added reticule for mouse to show where to shoot tower on cockpit. At last ship is not defenceless when run out of energy and towers.

суббота, 14 мая 2016 г.

Added hand controlled tower for player pleasure

After searching about new ways to improve gameplay. And hand controlled tower is added:


When playing I found, that it is pretty fun to play with. Time until next energy must be filled with action.

пятница, 13 мая 2016 г.

Readable towers for new graphics

New towers too photorealistic for abstract game. I should find and use outline shader for towers.


Readability increases but with cost. Outline shader unable to work with bump mapping materials:


As seen on night mission all tower is visible, and does not accepts light as bump mapping. Maybe I should work on more simplistic abstract game.

Photorealistic graphics too much burden for basic game.

Partial work and game dev. Difficult path

When family needs arises, I should work on more clients. And game development hinders from it. But trying to work on game at morning is pleasing and motivating.



Improving gameplay in between of jobs

Playing game I found that game is boring when waiting for energy filling.

And one idea come to mind: ship will have one invincible cannon, that fully hand controlled. You select the enemy and it will shoot.

Player must click periodically to enforce cannon to shoot an enemy which you want.
After level you can upgrade the cannon or replace it for bigger one.


среда, 30 марта 2016 г.

Cannons refit

Working on cannons. New images make it readable. Realistic art make uncanny valley pretty nasty to overcome.

User expectations rockets up when s/he see realistic art. Game design (mechanics,dynamics) and esthetics  (special effects) must be better.





Simplistic art has beauty of readability. I should rethought about game art.




вторник, 29 марта 2016 г.

Work crunch is over. Now can continue developing game

Before new year my bosses need all my time. Projects was finished, but used to be longer than I think.

Now returning to work on boomtris. Bought new assets for demo version of game:
   

Art is modular and can provide composite towers to build easier. Abstract style and crisp colors also add visual difference to game.



среда, 13 января 2016 г.

Testing blueprint replacement. Looks funny but buggy

After some tweaking blueprint facility can replace modules (add new towers for blueprint)


Finally game become look as I wish it will be. Some debugging and replacement feature will be introduced.

And final stage (of mechanics) is dropping n-minoes.

After that I can build levels and tell story.

вторник, 12 января 2016 г.

Card dissipation introduced

After some thinking about blueprint instantiation decided to boost my mood with special effect. Atomizer unity plugin is really cool.

After adding I have new energy to work with. And it's looking fun.

When I introduce combination (nano-lathing) of modules, Atomizer will be used as lathe special effect (growing from bottom to up). This can add depth to game.

Developing game as a hobby is very interesting and fun activity. But when artist found me all changes. Now I have to make this game. His hopes turned upside down, but this is nothing.

I wish to make game. When previous alpha releases was played by family and coworkers - these senses was awesome.

Making game as hobby is very fun, but it must not go to professional route.

I wish to make smaller games. This game so big. I do not understand it when started. And now it should be done.