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

Debugging grid placement and blueprint checking

When I tried to find blueprints in new system, nothing found.

Then, after some digging, I revived old debugging system for showing current grid composition.

One interesting thing about Unity color, though.

If you want to use color in range 0..255, you should use Color32 instead.

When I tested my code with basic color it shows values for rgba (25043) e.t.c. This is very frustrating, but after some search all stand still and perfectly visible.

Investigation of code  found, that I use (row,col) in grid and (col,row) in blueprints. So frustrating to know, that simply inconsistency can take so much time to figure out.

понедельник, 21 декабря 2015 г.

Heavy cruiser visuals ready.

Artist modeled Heavy Cruiser (RA-9900x).

This is biggest one in current chapter of BoomTris.

Side view - artist wants to make a falcon head under sun. Reactor is a sun. Pretty fun as seen.

The 3/4rd view for shop/hangar. Show it in full beauty.

And if place it side by side with other player ships you can see, it largest and more versatile.

I want to test it. And when blueprint facility will be working again it will be done.

In game it will look like:
As you can see - it has three groups of nanofactories and each module grid is 2 times bigger.

This ship is peak of my vision about side by side fight. 

четверг, 10 декабря 2015 г.

Extracting blueprint templates for design purposees

My code of TowerController was fully responsible for blueprint management and initialization. But most levels must contain only specific blueprints. This helps make story progression.

In sandbox mode all blueprints will be provided to you, but in Minecraft-alike mode. What you remember or find online you can craft. Once crafted it will be available to rest of game and between subsequent game sessions.

And this can help us implement bundles with new weapons and blueprints. Also - modding will be easier. Maybe package for unity asset store will be developed after release.

Blueprint editor extension


Blueprints was initialized as arrays, but it only can be fit into programming side of game. But designing from code is very tedious and not visible at all. You must scan/review code to define which blueprint is registered and what it will produce.

Hopefully unity has extension mechanism. And I use it for extending editor. Now blueprints can be present by game objects and prefabs.

And all blueprints can be hierarchically placed and tuned in game.
Thoughts about grid with drag-n-drop mechanics for blueprint invention were written down to my Zim wiki.

I like to develop in places without internet. More concentration and work was done there.

One problem with unity thought:
Unity can not serialize two dimensional arrays. I forced to implement blueprint grid as vector, and access it logically by shifting from beginning by row/column count.

For testing purposes introduced the grid of sprites - it should display current template for placed modules.

Without it I should print strings in log and see what happens. Not very usable. And slow down game when testing (console output very laggy and slow)

I like visual editing and maybe in future it will be introduced for campaigns and blueprints. And if I can figure it out - implemented in game.

When this facility will be fit into game I will develop replacement for big modules.

Currently game show me how much enemies I slain and towers lost, and it counts in tens.

I temporarily disabled energy price and production cooldown for blueprint testing. And front towers life is pretty short. Seconds or less.

воскресенье, 29 ноября 2015 г.

Testing new weapon rack

Game design is pretty fun. But currently I am bored from basic mechanics. And will experiment with new one.

This mechanic is closer to my goal of polyomino and pretty interesting as well.

As you can see - all towers now can be spawned on column which you want to.

Every kind of module is present in weapon rack (blueprints) and you can place it on any nanofactory to produce it. Timeouts dropped for awhile. I wish to test new mechanics without encumbering player with waiting more than needed.

This is not a simulator. It is more arcade action tower defense with puzzle composition part.

As you can see composition is working too. Some minor bugs (game is in alpha), but still working. I can say thanks for Unity and their development team.

Now I can implement big cannons composition with current setup. One problem I have - monominoes too slow to make really big cannons. First tiers will be introduced soon: 1x2, 2x2, 3x2.

I think no one risky player will play without armor. But if they will be, 1x3, 2x3, 3x3 weapons will be introduced later. They work in test scenes, but not configured for main game level.

среда, 25 ноября 2015 г.

Struggling with feature creep

When I started development of game, I does not know Unity at all.

After some development I learn it enough for working comfortably. But with comfort comes itch about my first goal of game (vision). And it is more ambitious, than game I developing now.

After some side missions and experiments I grasp myself and said: "Sit down and write game as seen first time. After that upgrade it for next version and so on"

And this returns me to my feet from wandering on clouds.

After seven months of development always wants more than seen in game thousand times. And features pop out as rabbit from hat.

четверг, 19 ноября 2015 г.

Prototyping modules queue and spawner places

After some thought I made prototype for module queue and spawner locations:

Code for queuing of cards I already implemented in big ship scene. So this can be easy to make.

After queue is filled no more modules will be spawned. This addition to gameplay can gave depth to game.

Here is a part of animated move in code:

I use lean tween for animated movement of cards, so module blueprints will use this logic also.  

Adding another method to play game can add interest. Let try it.

N-minoes begins with dominoes

Currently game introduces monominoes but player has no control over placement of it. Maybe I should define which column it will use when spawning.

This can add depth to game. So you can fill blocks with lasers entire ship and then convert them to more powerful. And cannons, and missiles.

Let's try another kind of game level. Modules will automatically and randomly selected from currently available modules and fill the deck of blueprints.

Player will pick which column to use and first module will be extracted from deck and fall to game field. After falling it will spawn small module.

When modules placed as big cannon pattern - they can be nanolathed to more powerful cannon/module.

Will try it in game.

Developing game can be frustrating

Today is rainy day and difficult to start an editor. Youtube eat time from gamedev. But it is very boring after time.

Launched game and played it. It has bugs, but mostly game is pretty fun. But I want to make it more puzzle like. How I imagined in my head - falling blocks, that form larger blocks and converted/nanolathed at wish or automatically.

Joy of game to see how enemy is blow apart with your cannons. But main idea definitely has more depth. You should think where and which module to spawn, to get more powerful module.

Let's try implementing dominoes and triminoes logic before tetraminoes and pentaminoes.

Too difficult to understand how to make movement and rotation to GUI for touch control. Maybe buttons, maybe swipes. I will think about it. But currently introduce buttons.

вторник, 17 ноября 2015 г.

Game demo with music and level changing (looping)

After tweaking level changing logic and music to game, I introduce new game demo.

Demo v.0.101

The gameplay and music you can see below:
Video on youtube

So you can try it with new graphics. I'm currently working on unlocking logic and surprises (big weapons as gifts)

воскресенье, 15 ноября 2015 г.

Think about life game

This grid provide me idea about game of life (Convay). Maybe modules on grid should proceed and upgrade as in game of life.

But mostly stable forms of GoL is square and hexagon. Others is flip flop. And game not very controllable. This idea will be written and reviewed later

Introduction of n-minoes logic.

Will generate n-minoes in 3 by 3 grid. First I must find which kind of N to use (1,2,3,4,5). Then filter all that fit into 3x3 grid. And randomly select from chosen.

Logic is simple. But I must display configuration to player. So, will make it configurable (with activatable game objects represent cells of grid)

Generate n-mino by hand, I can minimize coding and select only valid one.

But for n-mino I must use a class or struct with template (which cells used, which is free and position on grid, and rotation)

Maybe I should mirror them, not only rotate. And must be specified position and transformation on grid (rotate,mirror vertical, mirror horizontal)

Working on falling blocks

After some deep thoughts decided to make module kind selector for currently random generated shape.

Will use it as definition what kind of blocks now will fall (after some timeout). Physics falling very fast and I think, that rotation can be present only on layout grid. After that it will fall down and stick together.

Now I will try to generate n-minoes on layout field.

Falling block prototype

Developing prototype for core game-play mechanics - falling and rotating blocks.

This field 3x3 can provide user with ability to craft new module in place. Or drop basic modules from this grid.

This is advanced version of nano-factory and can be obtained by unlocking/upgrading it.

Here how it looks for falling block tetro-mino view.

Maybe I should make big tower inplace (and display price of weapon to construct, or construct them after falling)?

I already have crafting in game field, and will experiment which one is more fun.

суббота, 14 ноября 2015 г.

Enliven gameplay

After some play sessions I decide to enliven game-play with levels of inplace spawning and crafting. This can help craft any blueprint of big cannon and spawn big modules.

Disabling physics also provide new feeling of game.

N-Minoes falling level
I think about usages of mono-,do-,tri-,tetro-,pento- minoes. Main game idea - dropping and rotating n-minos and fit them in place. Then color specify what will be spawned: blue - laser, green - cannon, red - missiles, gold - armor e.t.c

This is main game idea. When started game I in process of learning unity. Now when knowledge gain is significant - n-minoes will be tried in game.

Here is idea how it will look in game:

This core idea very me and fun. Investigation of legal risks about Tetris LLC, I found, that if game different enough (compared side by side), they can not sue you.

Falling and rotating blocks and n-minoes can not be copyrighted and patented. So I wish to work toward implementation of this idea (first and long waiting) in the game.

Debugging level changer and tower selector

Level changing logic is pretty complex. And main work interfere with game production. But trying to play every day keep me motivated enough to work on it.

Added background music for tower selector scene and click sound for each button.

I think, that on click button must have particle effect and color wave. Will think about it. Shaders and particle systems for it will be very UI specific and interesting to write.

Here you can listen music for this scene:

Added all module kind to selection. And now will work on spawners for these modules/towers.

Three module per level is boring. I try to add 6 or 9 kind simultaneously to improve gameplay and make it more fun.

Also planned gifts from bosses - big cannons, that you can materialize in level. Received as bonus for good fight in rounds before. Will stay until used (to end of level) or destroyed by enemy.

Only bigger ship provide ability to construct large and heavy weapons.

четверг, 5 ноября 2015 г.

Working on level changer logic : Hub level

Hub level debugging

I wrote video log about my development of hub level. You can see it here:

My current logic - provide hub with story and unlock level, but use it only when player win previous round.

This is main chapter 1 game loop. Player will play until unlock all basic modules and upgrades to it (tier 2 and 3).

Also it can unlock support and refit next mission in hangar and blueprints.

Small bugs arise and I continue to squash them. Hunt is on.

Thinking about composite pattern for level. This can help generate tree-like story with branching. But looping is not possible. Maybe extension of this pattern?

Refit large towers art

Artist finished 3d art for each of large towers.

And I refit them. You can see how it works in video:

Heavy cannons

Heavy missile silos

I think, that first ship will use them without composition - as bonus for good level end.

Only bigger ships will produce them with nanolathes. One big weapon and one life for it. This can be pretty fun and interesting game.

среда, 4 ноября 2015 г.

Developing online part2

With open broadcasting software I try to test level changer logic and make it work.

Currently I try to make translations. In future these online translations and development will be anounced on twitter @sortie4.

Listening myself is very rediculuos. Slow and funny. After some time I will adapt and work as usual.

Video broadcasting is fun. You can sense other people around here. Loneliness is pretty bad thing.

When you develop yourself to specific level in your craft - so small people can talk with you and understand what you said.

Maybe this is reason why I trying to make my video logs and online sessions. Need to meet new friends and talk with them.

So, I happy that you read it and look at my video. Thank you, you're awesome.

I wish to develop boomtris online most time. 

вторник, 3 ноября 2015 г.

Implemented shader for powerlines

After some digging to unity shaders I found way to make a shader, that has alpha masked, scrollable and self-illuminable.

This helps to make ship looks more alive. Blinking sparks of energy on power lines can tell you, that ship is working and listen to you.

You can see it in action below:

Game need rebalance for new dynamic power ships. I get killed at the end of demonstration. And this is normal difficulty. Maybe I have no enough skill to play, but game must be playable and winnable on normal. Tweaking is interesting part of gamedev.

Sense yourself as Garret from Mass-Effect in endless loop of calibration.

Core mechanics changes enforce to retest and rebalance all scenes, where it applied.

Here is code if you wish to use it:
Shader "Custom/AdditivMaskScrolled" {
         Properties {
         _TintColor ("Tint Color", Color) = (0.5,0.5,0.5,0.5)
         _MainTex ("Particle Texture", 2D) = "white" {}
         _AlphaMap ("Additional Alpha Map (Greyscale)", 2D) = "white" {}
     _ScrollXSpeed ("X Scroll Speed", Float) = 0.05
     _ScrollYSpeed ("Y Scroll Speed", Float) = 0.0
     _EmitLight ("Emission", Float) = 5
     _Specular ("Specular", Range(0,1)) = 0.5
         SubShader {
             Tags {"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent"}
             Blend SrcAlpha One
             AlphaTest Greater .01
             ColorMask RGB
             Cull Off Lighting Off ZWrite Off Fog { Color (0,0,0,0) }
             BindChannels {
                 Bind "Color", color
                 Bind "Vertex", vertex
                 Bind "TexCoord", texcoord
             LOD 200
             #pragma surface surf Lambert noshadow noforwardadd
             sampler2D _MainTex;
             sampler2D _AlphaMap;
             fixed4 _TintColor;
       fixed _ScrollXSpeed;
       fixed _ScrollYSpeed;
       fixed _EmitLight;
       fixed _Specular;
             struct Input {
                 float2 uv_MainTex;
                 float2 uv_AlphaMap;
             void surf (Input IN, inout SurfaceOutput o) {
         fixed2 scrolledUV = IN.uv_MainTex;
         fixed xScrollValue = _ScrollXSpeed*_Time;
         fixed yScrollValue = _ScrollYSpeed*_Time;

         scrolledUV += fixed2( xScrollValue, yScrollValue );
         half4 c = tex2D(_MainTex, scrolledUV);

                 o.Albedo = c.rgb*_TintColor;
                 o.Alpha = c.a * tex2D(_AlphaMap, IN.uv_AlphaMap).r;
         o.Specular = _Specular;
         //o.Gloss = 10;
         o.Emission = _EmitLight;
         FallBack "Diffuse"

воскресенье, 1 ноября 2015 г.

Trying to make some vlog

Blogging is pretty sweet, but I always wonder what video logging can give to me. And honestly saying this kind of conversation is very interesting one.

Look at video. First time video logging and I must learn something from it.

This video written by open broadcaster software. Working on game level and implementing all spawners with new art.

Under the hood level manager introduced with ability to change levels in specific manner and wrap some actions around some of them. In example: main hub - outfit your ship nano-factories has two levels which spawns when you win previous level: new story plot unveiled and weapon unlocked.

Video log about level switching is here.  Silent one. First experiment of writing vlogs. 

вторник, 27 октября 2015 г.

Big cannons and lasers modelled.

Models at finish line
Artist finishes models of big cannons and lasers.

Now I will attach it to project and provide big ship with these weapons. Maybe big badass bosses will use weapons alike as well as player.

Epic cannons
 And how it will fit in game. All logic is implemented, I must change graphics only. My hands tingling to use these awesome weapons in game.

Heavy beamers also ready
Big ship need big weapons. And firing them so pretty cool. Now it has more interesting look.

воскресенье, 25 октября 2015 г.

Dynamic enemy ships now has all weapons alike player

Dynamic enemy ships has all weapons

Working on tutorial level I grow bored of same enemy again and again. And decided to add variability. After weekend enemies now has all weapons from player roster.

 And after executing insertion:
 Ships now dynamically configures self for player tower stack price. And battle will be hard.

Dynamic enemy ship in action:

 You can see how fast it was generated. And I work on splitting ships to basic blocks (introducing non-square complex enemies as bosses).

Some interesting dilemmas:

After introduction of dynamic weapons I see that missile was blown up by first explosion (aka chain reaction). It is looks pretty fun, but gameplay is harmed as well.

Will make them more resistant to damage. More powerful missile silos must be threat, not laughting matter.

понедельник, 19 октября 2015 г.

Night highlight for ship and modules

Power-lines highlight
Decide to make my ship more interesting on night and add highlight of power-lines with animation to it.

Now when night falls you can see your modules. Thinking about adding highlight to enemy as well. But will make it as game mechanic - use energy and reveal enemy with hi-tech radar (not only types, but additional information)

You can see it in action:

Dynamic enemies
I eventually understand, that dynamic ships is more interesting and can add spice to game. And implementing them by hand is very tedious also.
So, after some tweaking I introduced code to make ships dynamically with design which module can be placed to which slot.

This new logic extend gameplay and increase content in game from 24 ships to hundreds.

понедельник, 12 октября 2015 г.

Introduced parallax scrolling and day/night cycle

After good weekend work I introduce parallax scrolling with some clouds and cargo ships to bring more life to scene.

 As you can see now game has more interesting visual part.

Some experimentation give me idea to remove numbers from timeout and add blinds that open up until module is ready.
Experiments with day/night cycle add some idea about night levels.
You can see mouse guided point light when original sun light is go away. It is fun, when you do not know who attacking you until move cursor over their ship

In this video - gameplay with two levels: tutorial 1 - basic controls and tutorial 2 - nanolathe introduction:

Full day from 10am to 11:50pm to upgrade game visuals and make some interesting things to happen. Very joyful experience.

суббота, 10 октября 2015 г.

Developing demo: Level1 - Tutorial A1

After all game mechanics introduced and graphics done I wish to make new demo with it. This is pretty alpha stage game, but already has feeling of full game.

It has beginning, battle and now working on end and tutorials.

Added new background. And think that it must be zoomed out.

Gameplay you can see below:

You see holographic HUD when ship under your command. And after that game is running.

Some text information is needed for story. But placement of it is very difficult. Screen become overcrowded very fast.

After game is ready (to demo) artist promise to make faces for ship command.

среда, 30 сентября 2015 г.

Developed new ship and made rough menu prototype

Artist modeled new ship: Fregate Seth. Two decks ship more versatile and big than good old corvete Nemesis.

 As seen below - new ship is bigger and has more room to play with. It can contain big weapons now. Beamers and heavy cannons, and missile racks.
 And I will add it to ship hangar. It will be opened after first chapter.

Basically new ship is two first ships in one piece. With bigger energy generator and hull strength.

Menu prototype
Menu looks like

Now I can concentrate to make game playable from start to finish. And it will have leader board.

New logo introduced
 Artist drawn new logo and it's awesome

Now game will fit in shape. And in near future new demo with new graphics and mechanics will be accessible.

пятница, 25 сентября 2015 г.

New UI style for tower selector screen

Artist drawn new UI images and now it looks more interesting.
After croping and attaching to scene it looks cool:

Now UI more readable and usable. I will test it and add after tutorial levels.

For future scenes: blueprints, upgrades and ships also have new ui idea. Tomorrow will refit all images on these scenes.

Prototypes looks like:
Ship selector window
Here will be placed list of available ships and their characteristics: nanofactories count, energy potential, hull strength and cost.

 Blueprints window
Will display which blueprints now available to work with and select them for use in next game level.

In game UI

 Here you can see text window with attached to it avatar window and minimap of next enemy. To left - support buttons, from top - towers/modules to use.

New UI looks pretty and I will use it later in unlock scene and between scene dialogs.

четверг, 17 сентября 2015 г.

Level with energo shield and missile strike

Implemented new level with energy shield. In battle it proves self usefulness. Halving damage from these pesky rockets and mostly shrug off laser beams.

Mostly helps win game without support. But sometime missile strike support is handy. Main problem with shields I have - define how much damage it will consume before destruction and percent of damage redirected from modules.

Shield life is also difficult matter to deduce. Too small and it is not useful at all. Too big and one shield sit here forever and no need to upgrade it to later versions.

Shielding area transformed from up only to down and up (in mk3) and take cover for cockpit. Mostly cockpit is the module we must defend, but shield sit above it and do nothing about defending most crucial part of ship.

Maybe later we can upgrade cockpit to have self energy shield. But now it will use shielding module.

Double nanofactories
I wished to use double nano-factories, but wish to use it as upgrade, that player can use later in game. But for tutorial (and learning) reason it must be shown to player for rise interest of exploration.