RiddlersoftGames

Craft Empire

July and August 2016

Things are finally progressing well, since the last update I have made over 80 changes :) The really cool thing is that the block designer is now up and running. There are still a few things to add to it like setting block colour, but in general this feature is now complete. Now as I mentioned in the last blog, blocks are made up of 16x16x16 micro blocks these blocks can be any design that you want. Not only can you set block strength, category and a load of other settings you can also change Gloss and Light absorption. These new properties allow you to change how the block looks under lighting, allowing unique design opportunities. 

So in order to use the blocks in the game I have had to rewrite some bits to do with the land generation and which blocks to use. The refactoring of code has been quite nice as it has simplified some things that where unneserseryly complex. At the same time, however, it has added a host of new bugs that I've had to find and stamp out.

Work has even progressed to the point of adding zones. Zones allow you to specify areas that you want to strip off all resources . With this feature you can set workers to strip mine, or deforest an entire area, allowing an easier way to gather resources or clear areas. 

A lot of my time at the moment has been spent preparing the building blocks (ha) of the game, to make future development easier. Luckily I will soon have finished foundation work, so more interesting developments should begin.

By then end of next month I'm hoping to have a new trailer for the game as well as a host of new screenshots. 

Change List

  • Completed Block Designer
  • Incorporated new block format in to world
  • Incorporated new block format in to inventory
  • Created rotation encoder and decoder
  • Added block Saving and Loading
  • Fixed bug where blocks would not use the correct face
  • Added ability to rotate blocks
  • Fixed bug where wrong block sides where been generated when rotated
  • Added ability to have blocks of different sides
  • Fix bug where buildings would not render properly
  • Fix bug where building preview would not work properly
  • Fix bug where players modal was facing wrong way.
  • Converted to VertexBuffer for building preview
  • Fix bug where buildings did not rotate correctly
  • Added Grass Block
  • Added Stone Block
  • Added Water Block
  • Added Fence Block
  • Added Cobblestone Block
  • Added Sand Block
  • Added Water Block
  • Added Oak Wood Block
  • Added Oak Leaves Block
  • Added Stone Stairs
  • Added Stone Brick
  • Added basic build animation to workers
  • Recoded Sector generation
  • Remove lots of redundant code
  • Created brand new procedural tree growing algorithm
  • Fix bug where villagers could not move
  • Fix bug where Sector Geometry was not generating correctly
  •  Improved sector generation time by more than double
  • Fixed bug with woodcutters
  • Added Gloss to brick
  • Added Light Absorption to brick
  • Fixed bug with Normal of blocks not rotating
  • Rewrote Calculating Geometry for sectors and fix the crash bug
  • Optimized Render code to use new lighting properties
  • Fixed bug where buildings would render white
  • Fixed bug where building preview would not be centred on buildings.
  • Fixed bug in building editor where left and right clicks where not been translated to correct world position
  • Fixed bug in building editor where sectors where not regenerating
  • Fixed bug where sectors would sometimes flash
  • Re ordered sector generation algorithm for simpler and more effective design
  • Fixed bug where going in to first person mode would not get rid of some of RTS HUD
  • Added basic chop animation to worker
  • Integrated new inventory system
  • Fixed bug where buildings where not been added to the correct height
  • Fixed numerous other bugs and issues
  • Made store heaps use vertex buffers resulting in massive performance boost
  • Fixed bug in were villagers would be able to deposit infinite blocks
  • Made list boxes scrollable
  • Made store heaps clear land above them
  • Created new algorithm for naming villagers
  • Added support to different types of block shapes in inventory
  • Rewrote the block to 2d function. Blocks are now drawn correctly in inventory
  • Removed old population code
  • Added threading to building preview to remove noticeable lag when loading building in to preview window.
  • Improved sector generation timing even more.
  • Added Tall grass
  • Added new properties to blocks. (some blocks like tall grass will now ignore collisions if the solid properties is set to false)
  • Added tall grass to the vegetation generation algorithm
  • Blocks now know if they need to generate sides based on there orientation and the neighbouring block orientation
  • Fixed bug that would cause game to crash if no storage buildings were built
  • Fixed a bug where Air was been added in the players inventory leading to a crash when the air was eposited in a building
  • Store Heaps now have a percentage representing how full they are
  • Added new flag "HaveClickEvent" to game window to enable filtering on mouse click input
  • Fixed bug where building HUD would disappear
  • Added new game function "Zones"
  • Various bug fixes
  • Height Map will now update as the landscape is changed
  • Created brand new building HUD
  • Added bar to building HUD to show how may units they can garrison
  • Fixed a bug where the lowest block in a sector was not update correctly resulting in transparent land
  •  Added ability to set positon of any component
  •  Create HUD for zones.
  •  Fixed bug where building HUD would always reappear in bottom left corner
  •  Fixed a crash bug when you have a zone selected and go in to first person mode

 

June 2016

What can I say? After much hard work both the animation and model editor are completed.

This was a massive undertaking, with 1000s of lines of code added.

What It means is that I can now create and animate the models for in the game, but what’s more other players will also be able to create there own mods. It will be awesome. 

I have also started work on the Block Designer. Here you will be able to create your own blocks for the game. Blocks are made up of 16x16x16 micro blocks. You can place the blocks wherever you want. These blocks will also have a collision detector, to automatically make collision zones based of the type of block created. So if a block was designed to be thinner than the normal block size, it’s collision zone would be accurate to the size made.

The game will allow you to create over 25,000 unique blocks. This will make modding easier. You will be able to load on lots of different mods, each with unique blocks, creatures, and buildings. The collision detector will also be used when modding in new blocks.

Another priority is to make modding the game easy and available. Removing any complications from modding will add longevity to the game for everyone, and allow a larger variety of mods to be made.

Full change list below:

  • Added ability to move keyframe
  • Added Ability to copy and past keyframes
  • Added Error checking and feedback to user
  • Added Indexing Of vertexes.
  • Completed Animation Mode
  • Added Texture Mapping to editor
  • Found really hard and annoying bug with UI sub components click detection.
  • Fixed another hard bug with UI system.
  • Finally completed modal editor. (At last)
  • Finally completed Animation Editor (At last)
  • Added Scale ability to modal editor for parts
  • Added move origin to editor
  • Fixed bug in not selected nearest part
  • Added improvements to the lighting.
  • Models now animate in game.
  • Fixed a bug where models would not animating in game.
  • Fixed a bug where models would never stop animating.
  • Fixed a bug where the building design mode would not work, due to changes to camera functions.
  • Fix a bug with UI and child classes.
  • Added more functions to tickbox
  • Started work on the Block Designer

 

May 2016

 

Hello every one sorry for missing the blog post last month. I have been really busy with my main Job so my time for Craft Empire has been limited.

 

Since the last post I have spent a long time working on the website for Craft Empire. I have nearly completed the website as well as changed or wrote over one thousand lines of code. You see I upgraded to 32bit block data and created a custom structure so that it would be split into 8bit segments. This change created over 1000 errors within the project all of which needed to be fixed. Changes like this can very easily break your project so the fact that my project still works is awesome. At one point I really thought I was going to have to revert to the old 40bit block system but in the end I got it working. YAY :)

 

I also made vast changes and improvements to the model editor. Its hard to describe just what is involved in creating an entire model editor complete with animation system. You may ask why go to all the effort when there are so many 3D editors out that for free? Well that is true, tools like blender are very good and efficient but I noticed how much gamers love to mod games. I therefore wanted the player to easily  be able to create their own mods and in this case models, that is why I have gone to the effort of creating an in game model editor. Below is a screen shot of the editor.

 

Machine-generated alternative text:
File 
Edit 
Mode 
Add Part

 

And here is a sneak peak of the animation editor

 

Machine-generated alternative text:
Animation 
Walk 
Run 
Mine 
Timelin 
oope 
eversable

 

The animation editor is just a shell at the moment but soon it will be creating all the animations for the characters in the game.  Really looking forward to seeing what mods people will make.

 

On a side note I discovered that HP laptops have a really annoying feature that means you cannot use the touchpad and keyboard at the same time. What idiot came up with that??? Yeah I know I'm ranting but I spend ages trying to hunt down a bug in my game where holding x (To move along the x Axis) and moving the mouse at the same time was doing nothing. It turned out to be the stupid HP touchpad software. Even stops you from playing any first person games, because as soon as you start moving with the keyboard, the mouse doesn't work so you can't walk and look around at the same time.

 

As always please give me your feedback and follow if your interested in this game, it really helps me to stay motivated when I know that there is interest in what I am doing.

 

Below is a complete change list:

  • Moved to 32 bit blocks
  • Made over 1000 line changes rewriting block data interface
  • Removed BlockData and BlockIds and replaced with Data
  • Added number input to text boxes
  • Started work on animation system for all models
  • Added proper lighting to Models
  • Rewrote entire model editor
  • Model editor is now simpler to use and will work on touch screens
  • Model editor cannot change the colour of all vertexs
  • Added Pan Function to Editor
  • Created a Indexing Algorism to vertexs. Improved Performance by 83%
  • Worked lots and lots on craft Empire Website. Should be up within the week
  • Installed forum software on website.
  • Setup forms for use when website launches look.
  • Created Facebook and Twitter pages.
  • Fixed lots of bugs.
  • Added Colour Selector for Vertex and model Parts
  • Added both Pull and Push functions for each Vertex Node in Editor
  • Fixed bug with incorrect rotation in model editor.
  • Added Matrixs to each model part and offloaded all vertex calculations to gpu
  • Fixed crash with colour picker wheel
  • Cleaned up old move code.
  • Cleaned up old Vertex Editing Code
  • Removed up modelEditMode Enum and all references.
  • Removed _verts decelerations. Using _OriginalVers now as all transformations are now on GPU and not CPU
  • Removed Polygon Mode in editor as now obsolete.
  • Moved all model movement calculation to GPU
  • Fixed a bug with movement in Model Editor
  • Fixed a bug in editor when vertex cubes where not moving with model
  • Fixed a bug in editor when rendering multiple parts
  • Removed modelSelect variable and changed all selection code
  • Fixed a bug where only first model part would render with correct lighting
  • Added lighting to models when in game mode
  • Created new structure Rotation3. Contains rotational data for all 3 axis
  • Updated Mob to use Rotation3 instead of separate Yaw, Pitch and Roll variables
  • Started work on Instruction Manual for Model Editor

March 2016 Update

• Added weight property to blocks
• Added Inventory System to villager's
• Added new AI for workers to deposit resources at storage buildings
• Fixed a bug with units garrisoning in buildings
• Buildings now display correct message when completed
• Added ability for AI to prioritize Jobs. For example will prioritize walking to the building before they start building it
• Made zooming in and out more smooth
• Changed default zoom level
• Improved AI for woodcutter job
• Improved AI for labourer.
• Added drag support for touch screen
• Made rotating camera on touch screen work better
• Workers can now deposit resources on storeheap
• Fixed a bug where block faces where not set to correct values
• Fixed a bug where game would not pause
• Fixed a bug with tree cutter AI where workers would just stand there and do nothing.
• Storeheap now renders inventory in world
• Added variable update frequency to buildings
• Fixed bug with UI component system not using parent when requested
• Upgraded to .NET 4.5
• Upgraded to MonoGame 3.5
• Removed all .xmb files from project and moved to MonoGame Pipeline
• Added new function to generate normals for lighting.
• Added basic lighting on modals
• Removed all references to old font.
• Fixed a bug where using the touch screen to place a building would not add the building in the correct place.
• Started work on modal animation system
• Added KeyFrame Struct, KeyFrameCollection Class and Animation Class
• Added new UI Component TickBox
• Added auto resize function to listbox Fixed OutOfMemory Crash with listboxs

Feburary 2016 Update

Its been a while since the last post. Well a lot has happened since then. I got far quite far into development of the Modal Editor when I discovered that I needed to create a brand new UI in order to be able to do it properly. One thing led to another and that led to quite a lot of changes.

Bellow is what has been changed or added.

• Created a brand new UI
• Added form UI component
• Added Label UI component
• Added Textbox UI component
• Added Drop Down Menu UI component
• Added Button UI component
• Added Picture Button UI component
• Added Listbox UI component
• Added Divider UI component
• Added Game Window UI component
• Created new Keyboard API
• Created new Villager Menu
• Created Building Picker Menu
• Added new Building Render Preview
• Added worker select indicator
• Added names to worker
• Added new building type Storage
• Added support for variable size buildings
• Added Storheap Building
• Added camera rotation on laptops
• Added saving and loading of world
• Recoded Villager assignment code
• Started work on the Modal Editor
• Added ability to move polygons in modal editor
• Added saving and loading of modals
• Added instant transition between game, design mode and modal editor mode.
• Added basic touch screen support
• Added description and name to buildings
• Add new save menu for building editor mode
• Fix a headache of a bug with unusual behaviour of copy struc in list
• Added ability to rotate buildings before placing them using R key


Home | OSR 2 | Fly Johnny Fly | Apex | OSR Collection | Craft Empire | Asterinvade