Arakade

LD25

Wife says “you are the villain!” (and I kinda am)

We’ve just brought our premature baby home and I decide to start @McFunkyPants’ 12in12 challenge early? What am I thinking? My wife will definitely say “you are the villain!” Well I’m in for as much as I can manage! Perhaps 6 hours over 2 days?

Awoke for 4am feed, whipped out phone and checked for the theme…

“You are the villain”

Brainstorming…

– Hungry Goat (stealing food which means everything, like clothes, etc)
– Stop Santa! (you try to stop… Why am I explaining this one?)
– Present Thief (wanna all da pwesents!)
– Jack Frost in stop the World! / Traffic game jam (freeze things to cause mayhem)
– Snowflake uniqueness answer (how do they each become unique? They fight!)
– Oil Co Exploits (Arctic Edition)
game lose screen shows Oil Co boss saying “but <player name>, you asked for cheap fuel, electricity, plastic, etc. I was just trying to make you happy. Aren’t… *YOU* the villain?”
Game play area shrinks as polar cap melts.
Ozone layer hole shrinks as greenhouse gases released. (believe that’s the South Pole over Antarctica – is exaggeration forgivable?)

Ok, that has legs and seems topical given they’re doing this right now so…

Game style potentials:
– Casual minesweeper-like
Click/Touch areas to try them for resources before time expires.
– Something actually innovative!
Sorry ego, gotta finish so not this time!
– Resource planning / building?
Extract maximum oil, minerals, etc within play time.
– Tower defence?
Seals, penguins, polar bears, Greenpeace (and the occasional Easter egg goat / kitten / Santa Claus / Elf?) arrive and try to stop you mining.

Hmm, could do all of these incrementally and whatever makes it in is it!

Right back to sleep in case subconscious mind comes up with better!

 

P.s. Disclaimer in case not obvious to RSPCC, baby & mum are getting priority 😉

Tags: crazy, newbie, parent

Oil Co Exploits: Concept art and tool start

Brain Subconscious has closed shop so I’m going with Oil Co Exploits!

Might try contacting Greenpeace for permission to use their brand (I’m sure they’ll approve) otherwise prepare to meet “Green peas”!

Will start with simplest touch idea and see how far I get!

Quick concept at sketch…

Concept art

Now, tools?

Considered using Google’s Dart (since I’ve done quite a bit lately) but think, for expediency, nothing beats Unity 3d.

However this is basically 2d so perhaps its time to purchase 2D Toolkit? Might then be able to try it out with Spriter! I’ve bought and played with the latter but 2D Toolkit doesn’t look too hard in the videos… (famous last words?)

Nothing like prepared, eh! Still at least lovely wife is supportive saying she’ll pick up the slack for 2 days! (I’m usually a 50-50 parent where poss — my nipples are soooo sore 😉 )

More later!

 

Oil Co Exploits – Saturday daytime progress, screenshot and balancing

So, Saturday daytime…
Got 2D Toolkit, spent an hour investigating (running through all demo scenes) to get the basics. Decided to try building a playable prototype using their graphics (Stone Block, some bubbles and sheep) first.

<time passes>

Here’s how it looks so far (including confusing clouds — pretend they’re passing icebergs and that’s a reflection of the sun 😉 ):

Oil Co Exploits - Sat 8pm progress

Got a basic modular Arctic icemass (using stone block graphics supplied with tk2d demo). Got it responding to clicks/touch and incrementing a basic score which is displayed. Intro instructions begun. Started work on dropping chunks of ice and decided to do bobbing in the water using same mechanism – bit inefficient = later! Next finish dropping ice to create end case. Then we’ll need a closing screen / overlay.

Built and deployed to Web player — seems to work fine. Will consider this basic packaging and look to do an upload before I finish for the night.

Right now, am concerned about balancing the (unfinished) game since there might be an easy optimal strategy (if external tiles are removed first, just mine those first!). Thinking about how Real Life ™ mining works, people prospect before mining.
So will switch the initial click to being a prospect. From that you get an estimate on the richness of the seam. (which you have to remember?)
You then choose where to site a mine (which might take a while to build later).
Perhaps you then only score by clicking the mine (forcing you to choose between this and more prospecting). Not sure about this part since RL mines just get on with it — expect the miners need paying. hmm
Perhaps you sacrifice score to build a mine? and only a little to prospect? So the player should start with some initial capital. Let’s rename score to money!

Right, onwards to sleepiness!

Tags: oil

Oil Co Exploits – no public DropBox for me?

Before bed, switched the map from hand-placed tiles to looped with ellipse-equation constraint. This will allow better programmatic access to the tiles for removal, etc. (hopefully justified investment in function for none-yet gameplay improvement!)

Was about to post link to the current build on Dropbox but I found references to it breaching the terms potentially resulting in account suspension! Given the amount of data I have there, I’ll look for better tomorrow!

Bedtime!

p.s. I found the terms mention after 30m fiddling with WebPlayer launching from https sites! Since I didn’t find the answer obviously elsewhere, I’ll mention you need to store a copy of UnityObject.js next to your WebPlayer.html and adjust the HTML to load it from there. This avoids the mixed security concern of the browser. Otherwise, some browsers need to be told to load insecure content (e.g. look for a little shield in address bar in Chrome)

 

Tags: dropbox, legal

Oil Co Exploits – P.s. tomorrow time

Regarding time tomorrow… I expect 2+ hours of graphics (draw 1 version of everything in Inkscape and export art at 1 resolution), 1 hours of sounds (learn bxfr, generate sounds) & 2 of music (find & learn music program, write music – would be much easier if I had any working midi solution!), 4+ hours more code + faff. So that’s 9++ hours.

Today I lost time to cooking, wanting to do some nappy changes, the neighbourhood water going out directly after a messy one, learning (common intra-jam mistake) and chatting (wife & neighbours).

I’d estimate 10 optimal hours tomorrow but for safety, I reckon in order, I ought to allow 2 code, 1-2 graphics, all the sound and music then come back to code & extra art. Also check the rubric to ensure I’m maximizing what I have – probably before ought else!

Right, night, take 2!
Zzzzz

Tags: bedtime, oil, time

Oil Co Exploits – opinions sought: final screen conversation

Just adding the final screen.  Working on the messages.  What do you think about the following (*1)…

“The Arctic is gone. Still, the World’s thirst for our products is still growing! There are other places to exploit for profit!”

Two buttons: “Great!” and “But…”.  Hit “Great!” to see following text:

“Right!  Onwards to the next place we can exploit!  Sadly, the rubbish developer only did the Arctic during #LD48.  Why don’t you see whether you could have made more money if you could do over!  For profit!!!”
…and the game restarts.

If you hit “But…”, you see the following:

“But <player name>, you asked for cheap fuel, electricity, plastic, etc.  I was just trying to make you happy!  Aren’t… *YOU* the villain?”

Buttons for this point?

(*1): Do blog replies notify the poster?  If not, please tweet me @Arakade — thanks!

Tags: oil, opinions

Comments

Arakade
16. Dec 2012 · 17:20 UTC
Ok, answering my own post (a) to see whether I get notified and (b) to propose an answer for the ending buttons — +1 goat!

Hit this to see goats, kittens, etc :-) …and the quote from War Games “The only winning move is not to play” …risky games with our planet’s future. To equilibrium!

LD29

LD 29 time

Woohoo! My lovely lady has agreed to look after our 1 year old son for the majority of the weekend so I can dare to ludum! (I’m otherwise a stay-home Dad so a whole weekend to geek is luxury!)

I’ll be using Unity3D and my personal sub-challenge will be to use my Unity Asset Store assets that I’ve previously bought but never used — many purchased in the Daily Deals (I’m a bit of an addict). A quick count suggested I have 82 assets (including everything from textures to voxel engine, Arduino integration to audio response!) Another rough count suggests I’ve used about 20 of these to any extent! I’ll probably set up a timelapse (if my aging laptop will handle it) so you might get brief intros while I cram in quite a bit of learning en route!

I’ll be attempting to compete in the 48 hour competition (so no textures, etc nor collaborators) but, if time gets short or inspiration so drives, I’ll fall back to the Jam. I’ll post which ones I’m using / I’ve used later / at the end.

Haven’t decided whether to target mobile or desktop nor whether to assume throw-away or hope for future funds. Guess we’ll see how it goes and what people think.

Right 1 hour until theme announcement (at 2am BST) so I’ll look forward to finding out in the morning (or, more likely, when awoken by a crying toddler around 4am)!

 

Good luck everyone — happy jamming!

May the bugs be ever in your favour!

 

 

Comments

dddaaannn
25. Apr 2014 · 22:21 UTC
w00t more dads! Thank you families for your support!

LD 29 public working document & TerraVol learning

I’ll be working pretty publicly with my working document in a  Google Doc, live for the world to see here :-)  I’ll copy sections back here that ought to make good blog posts.

Brainstormed a load of ideas.  Many could go 2D or 3D.  I bought Unity3D asset “TerraVol” voxel library a while back but haven’t used yet.  Many ideas would benefit / be massively influenced by its availability so, since learning is one of the goals, I’ll start by learning that.  (with my notes on it in my working doc, of course!)

…and open brain!

Google doc looping crash!? Saved by mobile!?

Google docs just hit looping fatal error in my working doc!  Demanded reload which demanded reload!  Argh!  Fed back to Google but doubted that happen fast.  Realised I might be able to fix with a different client so loaded on mobile, deleted last three changes and it works!  Few!  (those changes were adding an HR and page break under the TOC!)  Guess won’t be having those then!  Back to tweeting then on to reading (an hour late!)

Enderscope’s Game — new name, new shaders

Tumours found in spot lit dark view.

Tumours found (yes this all throbs to heartbeat) :-\

Well, I feel all the time spent on shaders is starting to pay off (I’d never done triplanar nor extruding shaders before). Yes, they still need blending but I can tell you right now that watching this whole scene throb in heart-beat fashion is really worrying. Gotta add some particle effects for blood and a slow throbbing sound effect and this is gonna be really quite disturbing … even if I don’t get round to having them spread dynamically if you don’t get all of a tumour.

Notes, etc still live on the Google Docs working document.

p.s. What do you think of the new name?   Enderscope’s Game!  <spoiler alert> Playing this game, the final rounds has you unknowingly treating live patients! 😀 </spoiler>

LD35

Run, Gamer, Run! Intro + Progress 01

We’re in!  (@DevilQube + @Arakade)

So, shapeshifting, eh!  Not our favourite by a long way.

We decided lycanthropy and puzzle games were too obvious.  We spent a *looong* time discussing a 3D metaball game which sounded awesome but worried our time availability would be a problem so, knowing that we are both all skilled up ready to do 3D games and that one of our 2 man team is probably the stronger programmer, we decided to have him do 2D art and the other do all the programming in… (working title)…

 

An animated sketchy picture of an overweight gamer ... in a sketchy style

Run, Gamer, Run!
A game about a gamer stereotype losing weight!?

Given our time constraints, we decided to go for a relatively simple game — fundamentally an endless runner (a la Cannabalt) featuring a fat gamer on a food-filled assault course (possibly a mall).  As he(*) runs, he loses weight and gets faster; the longer he spends at a low weight, the longer he lives (so can get a higher score) but… he also needs enough food to keep going!

So it’s kind of an obesity parable.

Maybe we’ll add something about emotion in there?  (some comfort eating reference?)

* We do wonder how to be gender sensitive in this (without killing Rupert with too much art!).  In fact, we want ‘funny’ but don’t want to offend anyone /too/ much.  Hopefully it’ll be taken in the silly way it is intended.  As game developers and gamers ourselves, we know only too well the lure of biscuits, chocolate, pizza and pie!

In fact, here’s a picture of the area next to Rupert’s desk…

A pile of biscuits and chocolate

(in his defence, there’s an exercise bike right next to that pile!)

 

Progress

So, Rupert spent most of the morning watching videos about Spriter (which he’d bought before a previous LD but never really used) and Krita (because he knows Gimp too well and wants to practise a more traditional art style which Krita seems to make easier).

At 17:30 Rupert (who is also helping care for his 2 young boys) had managed to work out how to draw a simple prototype (ya! I know, right!), export it into Spriter Pro, do the dumbest animation and import it into Unity.

Meanwhile, Carl had written most of the core gameplay and offered tips on hotkeys for Krita :)

We have a few more hours today so hopefully rezzing-up the art and adding more level challenge before EOD (when we’ll hope to post some gameplay footage).
Good luck, all!

Tags: exercise, fat, run

Run, Gamer, Run! End of day 2: A working albeit iffy game

So, end of day 2!  We have a basically working game.  A few more hours tomorrow evening then fin!

Today, much faffing about, lots more drawing, developing and some tuning.

Rupert had a rather short day — Sunday is swimming day for his boys so he only had from 10am to 1pm and 9pm to midnight = 6 hours.  The first 2 hours were lost to the Spriter-Unity import oddities that ended up in XML files revealing missing key-frames.  (Still, at least Spriter has a user-readable file-format otherwise this might have been much harder to diagnose!)

After the thin-man draft imported OK, he managed to redraw most of the fat character for proper animation — including using Krita’s vector graphics facility for some parts!  (can you tell which — when I decided to try it?)  This version benefited from all of yesterday and this morning’s learning about what works best for animated characters.  Whether it’s a lesson that’s stuck, we’ll only tell tomorrow when it’s brought across into Spriter!
A nicer fat stereotype

Rupert realized he probably should have done the whole drawing in vector form.  The only reason he decided not to was a desire to practise ‘real’ art (as opposed to technical drawing which vector art always feels more like).  As such, most of the art was sketched with a Wacom Intuos and Krita.

Rupert also decided to be naughty and code-up a little bit of the game that he hadn’t explained well enough to Carl — the fat character should huff to a stop, animate a wind-up, flail through the air and recover on landing — a bit like a really flabby Hulk jump!  Coroutines to the rescue :)

Meanwhile, Carl wrote more of the game, learnt about Unity Cloud Build and ported to Android!  That “more of the game” summary includes doing menus including GUI, diagnosing gnarly multi-collider bugs, drawing place-holder art (which might become permanent if we run out of time tomorrow evening!) and making some parallax effects for the runner.

With our 3-ish hours tomorrow, Rupert plans to finish the fat-man, chop him up for Spriter, re-animate, import into Unity.  It’s unlikely Rupert will manage to draw a final version of thin-man so that side might need cutting — a great shame given it’s cost about 6 hours already but that’s jamming, eh!  If there’s spare time, Carl made Rupert promise to re-draw some of his fine place-holder art.  (Whaddya think, Internet?  Shall we keep his stuff? 😉 )

Tags: exercise, fat, run

Ludum Dare 46

Joined - Dr. Franklyblurter, a wobbly mad scientist sim

Hey, gonna give it a wobbly shot! May not have much time. Decided on a Frankenstein-alike game for the theme of "Keep it alive". Maybe it'll be derivative of Simulator Surgeon (which I actually have never played). Maybe it'll be derivative of something else I've never played but hey, it's hopefully something I can make in a short time.

Started off with a simple approach of updating vertices of one mesh towards a target mesh's verticies. Done in simple C# in Unity to start with. Here's the mighty wobbly cube! I know I need to add some noise in here too to make it more wobbly but it's a start.

I figure I'll might/probably need to switch the dumb C# over to ECS/DOTS or shaders later but it's OK for proof of concept until it gets too slow.

Not sure what I'll do about physics. Part of me wants to physics test each vertex so you can get bits not fitting. I guess I could probably do that if I switch to ECS Physics. Let's try just doing regular PhysX physics collisions on the target version and have the visual just tween towards it for now.

Any thoughts, ideas or whatever very welcome :smile:

TTYL!

Wobbly-01.gif

Dr. Franklybluter - wobbly with noise, wobbly progress not with ECS

So I decided off the back of a previous game jam's experimentation with ECS and Unity.Physics that I could switch over to super-fast and awesome ECS and Unity.Physics and make something that could blow peoples' minds.

TL;DR No. No, I cannot.

Turns out The Universe is against that idea. I created a new project (cuz who wants to muck up their working one, huh!?). Installed all the Unity Physics and UWP stuff. Copied over the Unity.Physics samples aaaaand... turns out they're out of date and don't work! Checked my old project. Nope that doesn't compile either. Started fixing... and my laptop hung. That's the first time in... like 2 years!? Flipping Windows Updates! (yes I updated 2 days ago ready for jammin'.)

So went out and played ping-pong and ran around with the kids and my wife in the back garden (it is Corvid19 lock-down time here). So came back, more fiddling with ECS and Unity.Physics. EDIT: Oh forgot to mention -- Unity CRASHED. Submitted the bug report but decided during its 30 minute upload that that's enough. Another 2 hours wasted and ... nope back to the original project. Good old reliable PhysX.

So the only progress is that I've added Perlin noise to the acceleration for all points based on their UV coords. I might switch this to texture-based so I can vary it intentionally later but it's kind'a satisfying as is for now.

Next, let's get some 'scenery' into the game so the screenshots look nicer.

Wobbly-02.gif

Dr. Franklyblurter - Burst compiler despite no ECS

So after this afternoon's pain of trying to get Unity.Physics and ECS working, I really wanted to redeem it so decided it'd be fun to convert the core performance bit of the code over to using Burst. I'd heard it was possible to use Burst from non-ECS code so this is a learning opportunity. Turned out it works perfectly (well, I think it's working perfectly :wink: ).

Created a Job struct, created NativeArray<float3> for my vertices, converted my data into them using Reinterpret<float3>.CopyFrom() (see below) and, nicely, mesh.SetVertices() has an overload that accepts NativeArray<float3> so no other work needed!

csharp vertsOwnWorldF3 = new NativeArray<float3>(numVerts, Allocator.Persistent, NativeArrayOptions.ClearMemory); vertsOwnWorldF3.Reinterpret<Vector3>().CopyFrom(vertsOrigLocal); // copy from managed

I did have a few minutes of confusion when I thought I'd mucked stuff up but it turned out to simply be due to the combination of my disabling domain reloading and having forgotten to Dispose() of my NativeArrays during OnDisable()! Turned on domain reloads and it worked, fixed my disposal and it started working. Turned domain reloading back on and it's all good!

The only hitch here is that Burst isn't supported in WebGL per this response from Unity so I guess I'll provide executables. I will try to keep the non-Burst version workable (`#if') and provide a notice that it's sloooooow!

Oh and I had a play with latest version Blender and sculpted a heart. I realise I really should have used a reference -- I hope I'll have time to go back and redo it a bit later but here's my poor heart for you to crush with your comments :sweat_smile:

Wobbly-04-Heart.gif

Lost quite a lot of time due to having forgotten my matrix maths from A-Level!

The Burst code uses pure matrix multiplication as opposed to Unity’s helpful helper methods! The problem was that the object ceased tracking its target when I switched over the local to world conversion to Burst. Turns out I’d forgotten about that 4'th component in the float4 for the float4x4 multiplication! Have to have it set to 1 to account for translation! Thanks for @bgolus yet again!

On the way I decided to restructure my code from 1 big file into a partial class with 3 much-easier to understand parts: 1. Common code 2. Non-Burst (which works) 3. Burst which doesn't seem to account for the target moving as yet.

Yes OK I’m a hopeless perfectionist! Sigh. Maybe some time today I’ll start making a game!

Also some fascinating observations on float4 vs. float3 performance meant I switched things over to float4 where I could.

No pic for all this -- it would just be an unmoving frozen heart :blue_heart:

Dr. Franklyblurter: My poor broken (UVs) heart

Finally (after my A-level matrix maths blank!) have the mesh moving as it did yesterday but now entirely in Burst. The hitch? Blender auto-generated islands for the UV and my using the UV coordinates for wobbling means where islands meet, the mesh disconnects. Hmm… I guess redo the UV mapping using a sphere mapping? I’ll try that next. Here’s what it looks like broken!

Wobbly-06-NoiseUsingUVs-badUVs.gif

Dr. Franklyblurter - Profiling Burst vs. vanilla C#

Profiling both without Burst (vanilla C# code) = 0.3ms for 1146 vertices:

20200419-Profiling-noBurst.png

Profiling with Burst = 0.062ms for 1146 vertices:

20200419-Profiling-withBurst.png

While not great data for drawing conclusions, it's still fascinating to observe the order of magnitude in difference! It halved the time my Update() loop is taking even at these tiny numbers! I suspect with greater numbers of vertices, this would grow even more impressive!

Dr. Franklyblurter - concept art

OK so it's rather cut-down (ahha!) from my original vision but let's see if I can get some gameplay in here!

Mouse controls mad scientist hand cramming organs in, injecting concoctions and applying electricity to Keep. It! Aaaaallliiiiiive!

Concept-04.png

Dr. Franklyblurter - Unity cross-platform FTW?

I always leave the build to the end. This time I decided to do it early. After lots of messing about in hyperspace... er... installing Visual Studio, I got a successful Windows build to work. Then discovered I could simply upgraed Burst and it works without VS! Doh! Oh well.

Have now successfully built for Windows & Android (with Burst) and without any changes it still compiles for WebGL!!! Nice. I think I can also compile to MacOS and Linux but not tried those yet -- might leave to run while I have lunch... sadly no way to test MacOS (unless someone volutneers) and Linux would require booting up one of my older machines (where I used to run with it all the time).

Unity cross-platform is no myth -- it really is the biz!