Thứ Sáu, 31 tháng 1, 2014

Beta Imminent - Start Your Stopwatches

Work

Another good day of Core tweaks:

Jump doesn't always work
When running on a bumpy terrain you can trigger a hurt sound. This should not happen (it's not that painful!)
Water splash plays when you are clearly not near the water
Sometimes when fall from great height, it does not hurt at all

Also lots of testing, which fortunately did not bring up any new issues, which is always nice. My aim is to start the final beta upload(s) before midnight so you all you UK users will be expecting a download around 3AM if you are still up by then :) US users have a more civilized download time of 9PM (ish).

Play

From Saturday I am away for a week to recharge the old batteries. My idea of a recharge is to throw myself off mountains at some speed (whilst conducting research into physics and terrains).



During that time I encourage you to bash the ballast from the beta and have some juicy feedback for me on my return, when I will continue working on Core features. That is, if I make it back ;)

Thứ Năm, 30 tháng 1, 2014

Into The Core

Work

Core tweaks today - took over 12 hours:

Dialogue box now says "Saving your game as standalone..."
Grass now follow terrain changes
Added message when exiting edit mode  "Saving Level Changes..."
Removed the SHIFT Cascade shadow Map View
Freeze enemy animations when in Edit mode
If no changes made, make exit from edit quicker
Add a resource meter to Reloaded so users can see the affect of adding too many entities.
Warn users when memory is low and fragmented. Graceful restart with saving.
Enemy health is taken into account when you try to kill them
Weapons no longer point through walls
Gun reload no longer shows a left arm on pistol weapon
Cross hair has a 2nd image when pointed at water no longer
Entity loader reverts to legacy mode of culling entities (CULLMODE for FPE)
Added punch1 thru punch3 sounds when characters punch and kick player

Improved water edge detection so player triggers correct sound when in shallow water

Thứ Tư, 29 tháng 1, 2014

Less Blog More Work

Work

I am getting the message loud and clear from the community that I should be doing more core engine stuff. As I was already doing core stuff, there is not much else I can do to satisfy the masses except (a) work longer or (b) blog less. As I rather like eating and sleeping, I choose to sacrifice a blog post or two.

Beta work is going well, check back on Friday for more news (around UK midnight) for the release.

Lenovo to acquire Motorola Mobility

We’ve just signed an agreement to sell Motorola to Lenovo for $2.91 billion. As this is an important move for Android users everywhere, I wanted to explain why in detail.

We acquired Motorola in 2012 to help supercharge the Android ecosystem by creating a stronger patent portfolio for Google and great smartphones for users. Over the past 19 months, Dennis Woodside and the Motorola team have done a tremendous job reinventing the company. They’ve focused on building a smaller number of great (and great value) smartphones that consumers love. Both the Moto G and the Moto X are doing really well, and I’m very excited about the smartphone lineup for 2014. And on the intellectual property side, Motorola’s patents have helped create a level playing field, which is good news for all Android’s users and partners.

But the smartphone market is super competitive, and to thrive it helps to be all-in when it comes to making mobile devices. It’s why we believe that Motorola will be better served by Lenovo—which has a rapidly growing smartphone business and is the largest (and fastest-growing) PC manufacturer in the world. This move will enable Google to devote our energy to driving innovation across the Android ecosystem, for the benefit of smartphone users everywhere. As a side note, this does not signal a larger shift for our other hardware efforts. The dynamics and maturity of the wearable and home markets, for example, are very different from that of the mobile industry. We’re excited by the opportunities to build amazing new products for users within these emerging ecosystems.

Lenovo has the expertise and track record to scale Motorola into a major player within the Android ecosystem. They have a lot of experience in hardware, and they have global reach. In addition, Lenovo intends to keep Motorola’s distinct brand identity—just as they did when they acquired ThinkPad from IBM in 2005. Google will retain the vast majority of Motorola’s patents, which we will continue to use to defend the entire Android ecosystem.

The deal has yet to be approved in the U.S. or China, and this usually takes time. So until then, it’s business as usual. I’m phenomenally impressed with everything the Motorola team has achieved and confident that with Lenovo as a partner, Motorola will build more and more great products for people everywhere.

Thứ Ba, 28 tháng 1, 2014

Meeting Day and Rift Video

Work

Half day meeting, half day recompiling my source code for VS2012 only (no mixing in VS2010 distributables) as I am moving to a new PC. Probably not the best time to do this, two days before a BETA launch, which is why I tagged it onto Tuesday to see what the implications are.

I got snagged by a video camera before the meeting was over, so you can see my wondering within an Oculus Rift world.


As previously blogged, I have more plans for Rift features but these can be delegated outward which frees me to core coding (which is where you will want me right now).

Turns out that in moving to the latest redistributables (which means much more solid and predictable behavior from the product), introduced a few 'interesting' differences. Enough to convince me to postpone the VS2012 switch until after I come back from my little holiday later in Feb.

The good news is that I structured the upgrade so that the main source code is still fully shared between old and new PC's so I can bounce back to the old one starting Wednesday AM. This is a great bit of redundancy too and acts as a natural back-up, not only of the off-site files but the whole dev hardware on which the code is worked and compiled :)

Play

Walked over 3 miles today, and it also looks like I can grab an early night, ready for an early start Wednesday.  The plan will be to address the seemingly random drop out crashes caused by too much memory being used. The solution in my mind is to attempt to reserve a large chunk of memory, and if it fails, detect this and gracefully restart the main executable and restore to the previous point. It's a bit hacky, but it solves the issue of losing your work with random crashes and will allow you to stay in a single editing/testing session for hours at a time which should be a welcome bonus for this next BETA.

Chrome + LEGO: You can build whatever you like

Think back: you’ve just dumped a bin of LEGOR bricks onto the floor with a satisfying crash, and you have the whole day ahead of you to build whatever you want. There’s something pretty amazing about being able to piece together your ideas with just a collection of colorful bricks.

Well, we think the creative freedom of LEGO bricks shouldn’t be limited to plastic bins—which is the idea behind Build with Chrome, a collaboration between Chrome and the LEGO Group that brought these colorful bricks to the web using WebGL, a 3D graphics technology. It was originally built by a team in Australia as an experiment, and now we’re opening it up to everybody. So now you can publish your wacky creations to any plot of land in the world.

We’ve added a few new features to make it easier to build and explore this digital world of LEGO creations. To start, you can now sign in with a Google+ account to help find stuff that people in your circles have created. A new categorization system for completed Builds will help you sort and filter for specific types of structures.

To hone your engineering skills and prepare for the upcoming “THE LEGOR MOVIETM,” you can explore the Build Academy, a series of short tutorials and challenges featuring characters and structures from the film.

If it feels more natural to use your hands—rather than a mouse—you can build your creations using a touchscreen on your phone or tablet with Chrome for Android support for WebGL on devices with high-end graphics capabilities.

As big fans of LEGO, we’re excited to see what you come up with to fill this new world. Share your creations on Google+ and we’ll reshare the most inventive ones.

Thứ Hai, 27 tháng 1, 2014

It is BETA Week

Work

After a much enjoyed weekend of walking and dragging large trees off the beach (for later burning) I have returned to the cupboard I laughingly call an office to continue my daily developer slog.

So what has taken almost every minute from 9AM to 6:30PM (with no dinner)? Well it was a single item on my task list, entitled "- Stop enemies entering water". Sounds pretty simple right, add a line of code statement to the tune of "STOP THEM GOING IN WATER" and presto, done, right?



Well....not exactly.  I had to write a prototype to scan the height field, produce a series of black and white squares which denotes those areas under water, then run an image scan which detects the boundaries of these shapes, then wipe them out and replace them with a polygon representation of those shapes, then create a DarkAI obstacle based on that data, and finally integrate it through the main engine so the characters understand which areas on the terrain are 'no go' areas.

As you can see in the shot above, the system can accurately create a contour around a feature of the terrain. I can eventually extend this feature to exclude high hills which characters should be allowed to ascent (i.e. near vertical cliff walls).  For all my efforts however, when I ran the engine the character just ran straight through my obstacle, and I could not help notice the contour was every so slightly IN the water which means my characters might be taking a dip after all.  

In coding it, I have also identified that the system needs to deal with islands inside the water pools, which are like exclusion zones within a DarkAI obstacle polygon, so that's either more polygon math for me or a small task for someone else ;)

Such is development, we build our structures, and soon realize that it's sinking into the swamp. I think a little structural support is required to make sure this feature makes it into the BETA as I rather like the idea that the enemies go AROUND the river, instead of through it!

Play

Managed to cram in 2 miles of walking in place of dinner.  I confess to eating a piece of toast if that counts as dinner. Meeting day tommorow which attempts to review our current position, and identify any critical urgent items that absolutely must make the BETA. The good news is that most of the items we announced will be in, which gives me a nice warm feeling inside.