What I did today

I’ve been partially following one @kevglass tutorials to try and work out why I seem to end up with unmanageable problems and attempting to do pixel art:

Not the aliens though, they’re originals I intend to replace. The cannon and shot are mine. I want to make it kind of like Raiders of the Lost Arcade, with a background and all.

I’ve made a semi-transparent alien image for you.

Scroll back a few posts and you’ll get the general gist of it… basically I traverse the tree from the root to the leaves, applying constraints to the widths and heights of each component, first from its parent (a component can never be bigger than its parent), then its own constraints. Then recurse down to the children. When all the children are done (or if there are none) we ask the component how big its contents are going to be based on the constraints we’ve been given, and that becomes our minimum size. The contents is the larger of any text area, or child component, or the size of any calculated layout.

Maximum size overrides minimum size. If we discover that our maximum size now equals our mimimum size, we’re done at this level and we know exactly how big we are going to be, and that means we can tell all our child components that they can now position themselves within our bounds, recursively. Where any child component does not yet have matching minimum or maximum size we decide to use the minimum size.

That’s the layout part.

The interpolation part isn’t all that complicated or clever and literally just interpolates things like colours and constraints.

The event handling stuff is… more fiddly :slight_smile: Basically it’s a tick-based state transition manager which receives events from the input system every tick (it’s possible to get several mouse events per video frame, which is how often the LWJGL input system is polled). Every component gets every event every tick. Then they all sort of figure out what’s happened in isolation from each other, leading to events being fired.

It will doubtless end up open-sourced at some point in Battledroid, the plan for which is most likely to give the source away in some charitable event one day.

Cas :slight_smile:

aaah, chicken-partitioning! ;D

no, i know what you mean. i see a rectangle-tree now. thanks :slight_smile:

Animated frames and there in… :o

Made new background by messing up with the filters in GIMP.

I keep attempting to motive myself to look at rust.

Looked at Rust, discovered some willfully teeth-grinding grammatical irritations. Wonder if someone might care to remake Rust using Java-like standards of readability and grammatical consistency. Core concept behind Rust is great, and well prepared for hundred-core home computers. Probably it needs an appropriately designed operating system too though, which more or less means, not Unix or Windows.

Cas :slight_smile:

I’ve been waiting for a viable C++ replacement for longer than some kids here have been on the planet…maybe someday I’ll get my wish.

Or you know, you could just learn C++. :stuck_out_tongue:

I know it’s quite a pain but lots of devs are using it and it’s not so hard to get used to.
I develop both in Java, C# and C++ and once you get over the most annoying little things like using headers, manually deleting pointers, makefiles, compiler options (yes, that’s actually quite a lot to learn) it’s not that bad. However, I still prefer Java out of these 3 because of the JIT compiler and the cross-platform capabilities. :slight_smile:

Hahaar, I don’t think you know Roquen eh :slight_smile:

Cas :slight_smile:

Tune Locks 2

A sequel to my Ludum Dare game “Tune Locks” for LD26.

EDIT: Link to my Tune Locks LD26 Entry
What the player can see without placing down lights:

When the player places lights down:

It it not all done today, I have been working on it for ages, now and again on and off. For a long time, it turned into my “tech demo” where I was just updating the rendering to VBO’s, and trying to get more performance, as well as playing with shaders.

The game started out with just Immediate Mode rendering, then I learnt how to do VBO’s more, so I changed the rendering. Then it became my text rendering test. I then decided to learn more about shaders, so I had to learn how to send the VBO data to the shader, and started to learn how to create lights.

By about the time that I learnt all of those, I set the project as “tech demo”, planning to never finish the game, but use the current state to just learn new stuff. University started shortly after, and I didn’t do much for a while, other then redo my text rendering, it is definitely not great, but idea was, lets just get text working, how ever ugly it looks, then polish it later, not just the code, but the image for the text is definitely not great and some letters are to far over, or to far up.

I then improved on the rendering again, fairly recently (within the last 2 or 3 weeks), I use to cap my lights at 10 or 20, because I would started to get like 300 FPS, down from like 2500 FPS with like 2 lights, and any more it would just go down a lot more. By the time i fixed the rendering, I was getting about 5000 FPS with 2 lights, and 300 FPS with about 126 lights. I can probably increase it a bit better, at the current state, the light is not limited to a certain distance. As well as making the puzzles a lot more easier and cleaner to implement into the game.

What I have done today, and yesterday was removed the limitation of having the level restricted to 32x20 pixels, as well as made the camera follow the player, but not go past the edge of the level, the player will stay in the middle until the camera locks to the side, then the player can gets unlocked until moved in the opposite direction to unlock the camera. I have also decided that I am going to remove it from my “tech demo” and try and finish the game, I have always wanted to, but never got around to it.

One of the things they’re working hard on at the moment is ergonomics, they are well aware of some of the thorns. Although if you mean things like abbreviated keywords then I think most of that is there to stay.
My main issue with it right now is the constant breaking changes, but once 1.0 hits I’ll be reading the docs and tutorials through and through.

Today I refactored a bunch of code into re-useable libraries. I would post a screenshot but of course it looks exactly the same. So satisfying!

Cheers,

Kev

Finally started on a lighting system that runs at 60fps. This was the sixth and final option I tried, so this victory is long overdue :slight_smile: It’s still very primitive and ugly but it’s “smart”, reacts to it’s surroundings, goes well with other lights, and runs well overall.

CopyableCougar4


http://i222.photobucket.com/albums/dd273/mongoleif07/Screenshot2014-07-24235712_zpsaae71cd6.png

Today:

  • Waiting for sun to set so my lovely, but very “un-airconditioned” 18m^2 apartment could get to a livable temperature.
  • Battle system.
  • Talking npc’s.

Considering to make a dev-log or something to keep track of progress, should i do it on this forum? ^^

Created a thread in WIP board. Technically it was yesterday.

Text editing widget working. Started on checkboxes. A surprisingly fiddly component.

Also did a fair amount of fiddling with Basingstoke, but that’s Unity, and the Devil’s work. We shall say no more of it here.

Cas :slight_smile:

Still spending/wasting time on the editor, today I realized that it was time to dump Tiled. The basic functions and controls are nice but its not really efficient for placing 3D foliages and non-flat stuff in general :o.
So now I’m implemented the tile placing features (random fill, random paint and the stamp brush are really nice).

But this is sooo boring, must… push… trough …. :cranky:

Checkbox widget finished today. Discovered a bit of an issue with layout in the process which I’m now looking at. Oh, and did the company accounts, and so on. Mind crushingly tedious in 30 degree heat with no air-con.

Cas :slight_smile: