Thursday 15 October 2015

Messing around with Terrain and lighting in Unity


This is completely and utterly irrelevant to the Cart game, I know. 

But I decided to carry on a little further with the Unity Developer's Course to get a bit of inspiration and see if I could get a few more ideas of how more efficiently to handle stuff like key and mouse inputs, amongst other things. 

So I started with the next section in the course.

I'm not sure what I expected, but it wasn't this incredibly useful, nay wonderful set of features in Unity - the terrain editor. 

The picture above took me only a couple of hours, and uses a couple of features: Lens flare on the sun, a bit of mucking around with the directional lighting and the utterly beautiful water generation doodad. 

And of course, the Terrain editor.

I wrote a quick blog on the Unity course page showing you how to use the terrain moulding features - why not check it out?

Monday 12 October 2015

Modelling sessions

Before: 




After: 



Check out the old version at this link then check out the new at this link - and don't forget to check out the instructions they are the same for both!

I know, it has been a while since the last post, but for a very good reason!

I have finally gotten around to replacing those old cubes - most of them anyway - with actual 3D models of things!


Yes, it could use a little (lot!) more work, like putting textures on etc. but it is at least a start.


I just need to do the spice rack, get rid of that damn big blue thing on the left (freezer, obvs) and the spice rack on the far wall. Oh, and I suppose that I should add a sink to the thing, then the scene part of the kitchen is pretty much set, at least as far as scenery goes.

Cooking area before... : 


...and after:


In terms of modelling I've two big jobs to do - get the player model sorted out and get some actual foods prepared for the table - the latter is a bigger job but I'm a *lot* more scared of doing the player... that's going to need animation and all sort of things that I'm just not ready to research yet! 
The knife - No reason, I'm just really pleased with this model! (Kitchenware companies interested in using my design please contact me at EpiphanyGameStudios@gmail.com haha)!)

I'll be getting on with the food then as the next stage - my aim is to practice on making a simple burger and a hot dog before moving on to get about five decent, wholesome, easily modelled meals out there. 

The idea at this stage is to make a set of models for each item - left is the bun which comes as "cut" and "uncut" - below. By modifying the base object with various tools, such as the knife above, the object will then transition into a different state (at this stage 

managed with booleans but I am looking into using bitflags at some stage, if the code becomes complex enough to warrant it); the 3D model to be used would then depend on which state that particular object was in at the time - here a standard bun or a cut bun. 

When I have a few recipes made up a pattern should emerge about how best to organise the models and I can start to reuse the pattern on future things.

Five though should be enough different recipes to start working on the other main section of the game - the commerce; actually buying and selling ingredients and food stuffs, and once that's done, the main bulk of the game's actual functions are pretty much done!



Monday 5 October 2015

A slow week for Food Cart Express



Yep, you read it, not much has been going on in development of the Food Cart game as I've been sidetracked by trying to get a working version of another game up and running. 

So here you are: have a look at Doofer Shooter by following the link (a working title, obviously!) 

Controls are simple: WASD to move, click the left mouse to shoot, bullets will go from player to the mouse when its clicked. Couldn't be any simpler. Give it a try!

Of course its still all place holder - the important thing was getting the basic functions up and running: having a movable player, having that player able to shoot. 

The assets, such as they are, are all my own work, and its amazing how much of the time creating them takes... seriously, the actual engine - though admittedly not yet complete - took a couple of hours; the assets a couple of hours each it seems - even the really bad ones!

But there you go, that's what I've been up to this week - more to come!


-Tom

Monday 28 September 2015

Update 2015-09-28, The base is laid for the cooking mechanics, and new version released!

Here you can see the cooking screen...

Check out the new version at This Link and don't forget to check out the instructions!

This last week or so since the last post has seen the introduction of a fairly large chunk of the mechanic of the game being implemented: the cooking.

It's not finished yet - not by any stretch of the imagination - but the bare bones of the system are in place, and the principles by which the system can be extended have been established.

In fact, quite a few exciting discoveries, for me at least, have emerged from these last few days' work. The use of raycasters for one, as well as a modification of the code that I learned from Pidi to implement the inventories.


The idea is that you should be able to refer to a recipe card like the one pictured here to do the cooking - this is the card which comes up as you enter the cooking scene in the kitchen area - and by following the instructions you can create the dish on the card.

Let's ignore for a moment the fact that in even the darkest imaginings of hell there is no way that salmon ngiri could ever form part of a bacon and eggs based breakfast and concentrate on the good aspects of this achievement.

Each of the text fields is now completed by sections of the Recipe code that is linked to the card - change the recipe and the text, along with the icons, will change.


The next stage will be to include an easy way to change between recipes on this screen as well as the usual cosmetic jiggery pokery that needs attending to.

Here is the kitchen area closer up...

The numbered items, each of which can be clicked on (though not necessarily to any effect,,,) are as follows:

1) Knife Set

2) Chopping Board

3) Cruet

4) Plate

5) Frying Pan

6) Pot

The plan here is that ingredient items are moved from the inventory (either quickbar or kitchen inventory) onto the chopping board.

The food is then either prepared in situ (so far only chopped with the knife, with the cruet as a placeholder for seasoning) and from there moved either into the Pot or Frying Pan (6 or 5), or oven and microwave (to be added soon).

Finally once each item is prepared we want the ingredients to be able to be placed on the plate, from which point they will be merged into the final dish.


What in fact we have is a situation in which food can be moved onto the chopping board and moved around before being either lost or returned to the chopping board if put down anywhere, and destroyed entirely if anything else is moved onto an occupied board.

Nevertheless the broad strokes of the ideas are in place, and from here it is a case of tidying up the mechanics of it and making it look a whole lot prettier.

As I say, work in progress. 

Wednesday 16 September 2015

New Twitter Account! @Epiphany_Games




Well first of all I should start with a big hooray! For I have finally set up a valid Twitter account so that I can keep my legions of fans abreast of developments here at Epiphany Studios.

The fact that I am fairly sure that only my Mum and Dad are all that bothered, and that neither of them use Twitter, has not disabused me one iota from a sense of the importance of this momentous occasion.

Anyone else who is interested can follow Epiphany Studios @Epiphany_Games

See you there!

Tuesday 15 September 2015

New Version!

Yeah only technically a new version... all that has changed has been that I've taken off the "Hitch to cart?" dialog as this does absolutely nothing at this stage and if you go into the kitchen you'll see the beginnings of what I was talking about last post.

You can find the latest version here:




Also a full list of controls is: 

Walking around

W or Numpad up arrow - go forwards
S or Numpad down arrow - go backwards
A or Numpad left arrow - go left
D or Numpad right arrow - go right

Left Shift - hold for run

E - context sensitive use/action

Inventory

Shop inventory is click to select, click again to drop in your own inventory

All other inventories are drag to move. 

Gods help you if you run out of space in your inventory as I haven't gotten round to making a "deselect" button yet. 


And that is it! 

Planning, planning and more planning

My recent development time has been spent in adherence to one of the British military's oldest maxims, known as the Seven 'p's:

"Proper Prior Planning Prevents P**s Poor..." sorry, I mean "Pretty Poor Performance."

So instead of rushing ahead and building a vast edifice of code just to see it topple the instant I actually *thought* about how the game should work I got out a pen and paper and started to jot things down. Amazing!

Now don't mock even though I am not joking all that much. This is pretty much the first time that I've really systematically thought through a development roadmap, so to speak, for the game.

Yes, the inventory system required a degree of thinking through in terms of which parts need to affect which parts of other parts, but a full-on think through of the game as a whole is new to me.

OK you can mock the picture here, this is actually what I think of as "planning":



If you can't read it well tough! It's not meant for you, it's really an aide memoire for me more than anything else.

So it isn't exactly impressive, but the moments that I spend thinking on paper are hours not wasted on pointless, aimless coding.

Most importantly that particular piece of scribbling led to a very important decision on how to lay out the kitchen, which is even more muckily shown below:


As I imagine that that simply won't make the least bit of sense without context, I'll explain:

The idea is that the kitchen will feature fully upgradable equipment, including Fridges, freezers, ovens and dishwashers.

Part of the implementation of this means that I will need to make sure that things have a place and reserve space around that place for their use even before the items are purchased.

To deal with fresh herbs, for instance, initially you'll just have to use a knife, which will be not particularly effective a way of cutting them.

Soon you will upgrade to a cheap pestle and mortar, which will be substantially more useful but also take up space on the worktop.

Even later it will be replaced with one of those whirring spice grinder doodads, which again will be a different size and shape than the pestle and mortar or the empty space before it.

This is all very well but it is going to have to sit next to the kettle, which you are likely to buy before a pestle and mortar, so we need to make sure that whatever decisions are made later regarding the size and shape of the kettle - do we, for example, offer the novelty swan-shaped kettle for sale? - don't interfere with the pestle and mortar.


And this is where the need for planning comes in -  by setting aside time now to decide these things, and think through how things are going to work - I am going to save a lot more time later on when I realise that I needed to have set aside space to include x, y or z.

Of course I will doubtless still have to do this anyway, especially as there is every chance that I will suddenly decide to make this a game about planetary invasion rather than fast food provision, but this still does help to some degree at least.


You may be thinking also that this is all a little obvious, that of *course* planning is necessary, but I still feel that the point had to be made.

Besides I needed a way to justify wasting all of yesterday morning trying to get Pizza Tycoon working in the name of "Market Research" and the afternoon watching YouTube videos with a pen and paper in my hand making occasional notes.

Sunday 13 September 2015

The current state of play.

I’m afraid that this blog doesn’t start right at the beginning of my journey into creating the game, but begins a little way into the development. Not too far mind, so this post is here to bring us all up to speed. 

You can find the current version of my game here - where I have uploaded it to gamebucket.io and you can see for yourself the state of the game as it is.




You'll notice a number of things - the shoddiness for one, and the randomly placed rectangle that looks suspiciously like plasterboard for another (that is the placeholder for a pedestrian by the way, not an escapee from the building supplies shop).

Once you've got over the extremely basic nature of everything I hope that you'll notice the things that *do* work: the player can be controlled by the WASD keys (or the Keypad arrow keys!) and can even run with the help of shift!

You can go to the house entrance or the shop entrance and go into the building; you can even come out of these buildings again (I know, right? Amazingly exciting! No, really...!)

Press 'e' at the appropriate time and the inventory system even pops up! In fact, there are four inventory systems so far, one for the cart, one for the house, one for the shop and one for the player himself.

Most excitingly the inventories are persistent however many times you nip in and out of the shop! Go on, try it! Load up with stuff in the shop and try to fill the House inventory!

You might not find this exciting, but belieeeve me when you've popped down in the middle of the night to code in the solution that occurred to you in your sleep you'll understand!


You'll have to look for the house and the shop - the house doorway is a couple of doors down to the left, and the shop a few to the right of your start point. Stand near the houses by the right doorway and you should get a popup.

Please post this on... and share it... if you have any comments please pop them in the section below and I'm going to try to update this every couple of days, whenever I do any work worth mentioning to the game.


Toodle pip 'til then!


-Tom

Very Big Thanks

I do want to take a moment here to get some proper thanks out of the way.

A couple of months ago I was very new at programming, and thanks in part to Unity and in part to people that I will thank more thoroughly in this post what you see here is the very pinnacle of my achievements as a newly minted programmer.

So thanks in no small part to the Unity team as a whole for producing such an excellent package, and for the inventory system thanks to a YoutTuber called PiDi and his excellent tutorial...

...but most of what I have done here I have learned, as you can too, from the Learn To Code by Making Games - The Complete Unity Developers' Course on Udemy that Ben Tristem and Brice Fernandes made, and I cannot recommend it enough. In fact feel free to skip the next bit if you've not got a bucket handy as I am going to be a bit gushy about how great it is...

Before I started to do the course a few weeks ago my only experience of programming - besides a Character Sheet Generator for Rune Quest that I did about twenty years ago in Basic - was about half a book's worth of learning Java. I was pretty much at "Hello World" level.

The course though has taught me a huge, huge amount in a very short time and given me the confidence in my own abilities to embark on this project now, which might well not ever become an actual game for actual sale in any actually meaningful way, but is going to be a tremendous stepping stone in my longer term plan of learning how to code and develop software - not just games - and even be paid to do it somehow.

It is simply amazing how far I've come since the moment not so long ago that I first embarked on this adventure of learning to code; from my first tentative steps of remembering to place things *between* the curly brackets and remembering my semi-colons to thinking nothing of knocking up a new method and refactoring this into that file instead like some kind of coding ninja.

OK - a slight exaggeration - I have a huge, huge, *huge* way to go before being anything approaching an expert, but I can at least now look at code without that sense of wtf that I once had, and this course has given me the tools that I need to do what I can do and know where to look for the things that I can't, and better yet, understand the answers that I get.

So if you are on the course then pat yourself on the back - you have done the right thing and have excellent teachers!

If you're not, and want to learn to code, then what the hell are you waiting for! Excellent resources are there for you to learn, take that first step and you Will Not Regret it!