Mech Mech Mech Mech Mech

Sunday, August 19, 2018

Been a while... have an update!

Just updated my game after like 2 years. Should be a bit more accessible to people now when it comes to building and linking. Hope to make a new video soon. Check it out at https://matherlyat.itch.io/mech-land-prototype!

Monday, July 25, 2016

Wow, hey!

Gotta new update featuring my new part set, power system, and motors.

I will do a proper write-up when I'm off work!

https://matherlyat.itch.io/mech-land-prototype

Sunday, April 10, 2016

I'm Not Dead

Just a quick assurance update. I am still working on Mech Land near daily. I have been spending the recent weeks refactoring systems for stability and maintainability, mainly how parts and hardpoints are interacted with.

Once I finish with that I will move towards adding some simple devices such as joints and weapons. The current plan is to get Mech Land to a point where you can open it, build some interactive machines, and have it save the state on close.

Stay tuned!

Feel free to post any questions in the comments!

Wednesday, January 20, 2016

Update on Features and Release Plans

Have a little roadmappy thing.

Thermal simulation for every part based on real world values. Connected parts transfer heat. Some parts can expel heat into the environment.
Hardpoint based construction. I'm currently not going for a grid aligned system so you can have various angles and such.
Multiple piece weapons. Barrel length, buffer mags, loaders, and other parts have multiple versions with different stats.
Multiple ammo types. I'm going to go with a if-it-fits method here. Ammo-gun compatibility is based on diameter only. Ammo of the same diameter can have different characteristics.
Ammo boxes and feeds. Ammo stored in ammo boxes is feed to the loader of a weapon. I am considering the possibility of having multi-feed loaders so that a weapon can switch between different kinds of ammo.
Simulated electronics. Micro-controllers and PLC's are used for controlling the mech's devices. Walking controllers will use feedback from sensors to generate walking cycles. Motors on arms can be controlled with targeting computers to handle aiming. All of these components have inputs and outputs that can be connected. Some controllers will be able to be programmed using a very simple scripting language.
Simulated power systems. Devices pull current based on available voltage. Power supplies provide voltage based on current. Overloading a power supply means it's voltage drops which means the devices pull less current. For motors this means less torque. Micro controllers will have a operational voltage range that they can function in. All devices will have efficiency values. A motor with 90% efficiency means that 10% of the energy is turned into heat. Cooling systems have a above 100% efficiency which means they absorb thermal energy (though they expel it into the environment).
Multiple piece cockpits. Cockpits are not a single piece. They consist of a frames, seats, and control panels. Each piece having multiple types which can effect placement of controls.
Hierarchical controls. Because there can be multiple control panels with multiple controls you can use controls flight simulator style (with a mouse) or by pressing a key for the panel and another key for the control. You will also be able to lock on a panel so that you can use multiple controls on that panel without having to select the panel each time.
Procedural motion. Walking and aiming are calculated using sensor information and inverse kinematics. Locomotion controllers (walk cycle controllers) can control more than two legs!
Custom motion. Motion controllers can be programmed to move a limb in a custom motion. In other words, you can make melee attacks.
Probably a bunch of other stuff.

Of course, it's just me making this stuff in my free time but my release plan is:
1. Free and open Alpha. Anyone can download and try.
2. Closed Beta. I will select a choice few that were most helpful during the alpha. There is no way to pay your way in.
3. Payed full release. Old school one payment and the game is yours to play forever.

To whoever is reading this right now. Thank you.

Sunday, February 8, 2015

Using Unity 3D

It's just better this way. Why spend a year making an engine when I can make ideas reality now?

So far I've made a proof of concept mech that walks using physics instead of animations. This is a huge feat.

Friday, November 28, 2014

Physics in M5


So M5 (Mech Mech Mech Mech Mech) is using the following to make this work.

MonoGame

MonoGame is the graphics/game engine that M5 uses. It handles the main program flow, including game loops, the content, and the graphics device.

Jitter Physics

Jitter Physics is M5's physics engine. I chose this engine because of its simplicity of use. So far it works great! Jitter also allows separation of collision detection from the physics world which means M5 will be able to have a high resolution damage model without needing to handle high amounts of physical constraints.

Artemis Entity Framework

Artemis is the Entity Component System M5 uses to structure and update game objects. Read up on it here: Artemis Entity Framework

Working Together

M5 uses Artemis to tie together Jitter and MonoGame. It does this with components and systems that define entity data and behavior.

Current Components

  • Camera - Camera projection matrix.
  • Collidable - Rigid Body data
  • Placeable - World transform matrix
  • Visible - Model data

Current Systems

  • Camera System - Uses Camera and Peaceable components to set the view and projection matrices.
  • Collision System - Updates the Placeable component based on the Collidable component. (This is done for the Visual System's sake.)
  • Visual System - Uses the Placeable component, Visual Component, and globally accessible view and projection matrices to render a model to the screen.
P.S. I'm really bad at writing right now. I would much rather structure my blog posts as lists of changes because it doesn't require much critical thinking to do so.