A short note on using Object Oriented models in Unity

In the last weeks as a part of my learning Unity development I have been exploring how to integrate object oriented programming (OOP) modeling concepts in Unity, as done in projects such as in those by Brett Hewitt, Unity 4.x Game AI Programming,  in the Unity examples and in others created by friends. Given what a nice and evolved language is C#, the temptation of projecting the OOP techniques I’m used to in Java is irresistible.

One useful answer to a “root” doubt I got it here:

OOP for Unity

But my impression was more and more that I simply had to drop my “start modeling from the root” approach (coming from server side web development) as wrong, and now the point has become clear: in Unity you simply don’t begin at the top of the object hierarchy, not even closer: you begin at the bottom! MonoBehaviour is neither an interface nor an abstract class, but as concrete as it can be, handling e.g two timelines and a series of extension by components. The correct way is to use a component based approach, just like MonoBehaviour does, where your MonoBehaviour (flat, direct, and final) extensions instances can carry modeling properties which can use inheritance modeling.

Happier now Sorriso

Social Share Toolbar

A very basic Unity 2D tutorial in C#

On YouTube there is a popular tutorial for Unity 2D game development for beginners, in 18 videos, starting here:

Unity 2d game tutorial–part 1 of 18

where you create a Galaga-like game.

The code in the videos is in JavaScript, I followed the tutorial re-writing all code in C#. Note: I am not the author of the YouTube tutorial.
It was quite noticeable while writing code how simply using a statically typed language as C# can avoid quite a number of errors in writing the code.

You can download the complete project written in C# here:
https://docs.google.com/uc?id=0B3QdVbIN8dohRmQtS2ZKai16Qms&export=download

Now some note of caution on the tutorial:

– It is not a tutorial on how to write code correctly in C#, or on how to structure object oriented programming for a game made in Unity, or on how to model AI, game mechanics and so on.

– It is not a tutorial on how to write real, commercial 2D games in Unity – more so now that Unity 4.3 is coming with a brand new integrated approach to 2D games.

The tutorial just introduces Unity as a 2d game tool and makes you use the very basic concepts. From what you learn you can use Unity to test basic game mechanics, but from this to creating professional games in Unity there is a long way to go. I’m proceeding with the books linked and with more complex projects: but thank you tutorial, it was a nice first go at it.

You can keep in contact with me on Twitter.

Social Share Toolbar

Goscurry: from sadism to poetry – DAG pod 13

Goscurry the gameIn this relaxed and delightful episode of Design a Game podcast we talk with Daniele Giardini, the creator of Goscurry.

We talk about game inspiration and design, game balancing, Unity development, the decline of 3D in games, camera usage and more. [Read more…]

Social Share Toolbar

Curating Poetic Games

M&D-logo-squareJust a note: I’m curating a Facebook page on games with a poetic language, be it in terms of visuals, story, gameplay: see it here https://www.facebook.com/poeticgames

Social Share Toolbar

Fermi estimates for your crowd funding

I am working on a Kickstarter project (whose details don’t matter now, see the end of the post) for which I will ask for a considerable amount of funding: 60.000$. As happens for large numbers, it is very hard to visualize them, and grasp their full meaning and consequence.

But yesterday I did a simple calculation in my head: 60.000$ in thirty days means 2.000$ per day, which for around 10$ per pledge means 200 pledges per day. 200 pledges per day? It is hard for me to imagine getting 200 people to support me in the total Kickstarter campaign time span, how on earth am I going to get 200 pledges per day?
A visual representation of how many 200 pledges are:

omini-200

That is a lot. Well, I hope that going a bit deeper in the analysis will somehow calm me down: ignoring looming reality is not usually a wise idea. Actually that is why I am writing this post A bocca aperta . So let’s consider the matter further.

Fermi estimate

Making a Fermi estimate or Fermi problem typically involves making justified guesses about quantities that seem impossible to compute given limited available information.

I’ll try an estimation for my crowd funding campaign:

– Aiming to 60.000$ in 30 days, with an average pledge of 20$ (generous people) means 100 pledges per day, including sunny days, football finals and royal weddings, when its harder to get attention.

– I suppose that 1 out of 10 people singularly contacted do pledge my project.

– Suppose that 1 out of 30 people singularly contacted also do promote your project, say by tweeting about how great it is. They get 3 pledges done on average.

So let’s see according to my wild speculation what is the daily work required: to get 100 pledges you have to prepare and send carefully written messages (mainly through e-mail, but also through social networks)… you need 500 brand new messages per day A bocca aperta

This is visualized:

500 messages!

 This looks impossible. Well, how is it that so many campaigns succeed? (I’m thinking Kickstarter, with a success rate of 44% – Indiegogo is behind.)

One factor to be considered is the power of the crowd funding network and the network of pledgers: assuming that 1/10th “network effect” from previous pledges, you “just”  need 20 new users pledging a day to just make it:

Data progression
Graph of pledges

If you include in this network effect upgrading pledges (which is quite common), this may look less wildly optimistic. maybe. Another mitigating factor is that campaigns can have few very high value pledges which can boost the entire campaign (like mine does). So say that brings it down to 18 new pledgers per day – which for my earlier assumption means 90 effective messages. That looks very hard work, but not impossible for a motivated, determined team. So this is my Fermi number, and it looks like this:
Ninety messages

Here I am considering just “reaching the basic goal” – but beware that turning that in an effective production requires way more than this, because all kinds of costs (payment fees, taxes, accounting, fixed costs, campaign costs..) should be considered. Also you should also take into account the likely higher cost of production for more expensive pledges. Computing your campaign income depends on your pledges distribution and to which stretch goal you get to; maybe I’ll get in depth about this in another post.

Still I fear that the crowd funding success function behavior is even more complex then I can imagine because of underlying quadratic behaviors that are not easily understood by those trying.

Is the number of contacts needed to get n pledges the square of n? This would make higher bidding projects way less likely with respect to those that require less pledges per day, and would make my case impossible.

Consider Metcalfe’s “law”: the value of a network is the square of the number of relations that hold in it. So maybe it makes sense to consider successful pledges as a cumulatively building relationship network, which can influence and get new pledges in a triumphant quadratic progression, as done in the graphs above Sorriso?

Ok, so there is no way to predict anything exact here. The only way I see to get more realistic estimates is through experience, which I currently lack entirely.

But it looks that no optimistic evaluation will spare we crowd funding proponents from contacting a whole lot of new people every day of the campaign, and we’d better have something quite uniquely interesting to tell and/or show. It is probably wiser to make some sort of planning on how to do this before the campaign starts.

I’d be glad to revise and extend the content of this post on your feedback: thanks!

My project: Genio

Genio the strategic Renaissance game

Leonardo - the EngineerThe crowd funding project I am working on is about Leonardo da Vinci, the Renaissance and the conceptual innovations it introduced, dealt with within a videogame. Pledges should cover developing the game, called Genio, and also eventually creating Leonardo machines real prototypes (this is a stretch goal), as I am working with a Renaissance technology researcher that already provides working Leonardo machine models to museums.

Creating fun, beautiful games with depth requires a considerable effort and hence, money. Consider that just to create the game prototype and presentation video, ignoring the huge amount of time spent by myself (yes, I am totally aware that this is an economical mistake), the pure cash costs amount to about 10.000$.

So I have to ask for at least 60.000$: wish me luck!

Genio game cards

As for building up a marketing plan and a set of contacts before the campaign starts, I am indeed working on that, by expanding a contact list of journalists / bloggers, maintaining a Facebook page on the theme, contributing to Indie games, talking at events and networking.

Updates about the project can be found in my Twitter stream.

Social Share Toolbar

Gates of Horizon, a space conquest game – DAG pod 12

An empire cruiser from Gates of Horizon
In this dense podcast episode of Design a Game we interview Marco Matarazzo of Hex Keep, an Italian videogame company that is creating Gates of Horizon, a science fiction themed, play – against – aliens “Massively multiplayer online role-playing game” – MMORPG.

One of the most interesting themes discussed is the richness of the game design and the refined technology involved: the game is for a large audience, involves strategy, resource management, engineering, fighting and more.

Here is the podcast:
Hex Keep DAG POD

One news is that a playable prototype of the game will be available online before launching the second attempt at “kickstarting” the game.

Here is some game art:

Learn more about Gates of Horizon here:

Gates of Horizon

Social Share Toolbar

Gamification that makes sense: 2013 updates

Recently I’ve seen several examples of smart gamified apps. I have argued elsewhere that there are two kinds of gamification, black and white hat, similarly to models of extrinsic and intrinsic motivation. But showing examples of effective gamification could be very effective in making the point. So here we go. [Read more…]

Social Share Toolbar

Tapsteroids… name reminds you something? Good times with UNAgames – DAG pod 11

http://www.unagames.com/sites/all/themes/unagames/logo.pngThis podcast is an interview with UNAgames done at the latest Svilupparty, the yearly Italian indie developers meeting. UNAgames core team is Erika and Daniele. [Read more…]

Social Share Toolbar

Hobby Game Dev – DAG pod 10

Hobby Game Dev site layers
In this episode of the Design a Game podcast we had the fortune of interviewing Chris DeLeon of Hobby Game Dev, game creator extraordinaire and driving force of several community initiatives linked to game development. Given the multifaceted nature of Chris’ interests, this is a quite long podcast, but we promise that it is worth listening from start to end. Here is the podcast:

Hobby Game Dev interview

A correction from Chris: he refers to the guy who made Command & Conquer editing programs as “Andre Griffith”, Chris double checked and his name is “Andrew Griffin”.

And here follow some of the numerous references.

Hobby Game Dev site: http://www.hobbygamedev.com/

“Indeview” interview on projects and processes:
Interview on my technical choices, processes, and projects

ms vision by proxy

Ms Vision By Proxy:
http://www.kongregate.com/games/giraffasaurus/ms-vision-by-proxy

Georgia Tech Experimental Game Lab:
http://egl.gatech.edu/

Cerny method:
http://www.slideshare.net/holtt/cerny-method

Ian BogostIan Bogost, news, games:
http://game-o-matic.com/
http://www.bogost.com/books/newsgamesbook.shtml
http://indiegames.com/2012/03/ian_bogost_on_gamifying_the_ne.html

 

Early PinballDeLeon Master’s Thesis for Georgia Tech, 2012: Arcade-style game design: postwar pinball and the golden age of coin-op videogames (PDF)
http://chrisdeleon.com/gatech/chrisdeleon_pinball_thesis.pdf

 

 

 

 

Tomb Raider Geocaches – Küstenwald

 

 

 

Believers Bedlam
Believers Bedlam:
http://www.newgrounds.com/portal/view/615965

 

Scratch MIT
Scratch (MIT):
http://scratch.mit.edu/

 

DeLeon’s Unity3D basic tutorial

 

 

Bubble Bobble

 

playing spaceteam

Spaceteam

Seth Godin
Seth Godin:
http://www.sethgodin.com/sg/

 

 

Social Share Toolbar

Game worlds: Da Vinci and the Renaissance

self supporting bridge

Leonardo Da Vinci life, works and time are ideal sources for inspiration for games and videogames. Not only for that, of course: any media can treat the Da Vinci theme, and books, movies, documentaries, even theatrical pieces deal directly or have taken inspiration from Leonardo and his times.

 

 

Leonardo with Batman

Leonardo was not a unique, isolated case of creativity: the birth of Renaissance in Italy testifies a host of inventors and artists, and more you get to know this extraordinary period, more you will discover.

Photo: Not moving you get fat http://www.creativeadawards.com/fat-david/

As I believe games are under utilized as a way to explore knowledge and history, I started a Facebook page that presents what is being done in games and “playful” media on the theme of Leonardo and the Renaissance. Helped by Leonardo’s researcher Alexander Neuwahl, I’ve collected a seemingly never ending collection of funny, bizarre and entertaining list of works and references. You find it in full glory here:

https://www.facebook.com/DaVinciGames

 

 

 

 

 

Mona Lisa make over

There is more then Leonardo as presented in Assassin’s Creed. If you persist scrolling down the Facebook page, you’ll find it hard to get to the end of it!

Photo: The Lady stretching her ermine: http://www.hollyfrean.co.uk/photo_10673317.html#photos_id=10673327

You’ll find games, jokes, riddles, books, simulations, experiments, models, documentaries, buildings…

I’ve also been doing some game design on Renaissance / Leonardo themed games, but this is the topic for another post- follow me on Twitter to keep in touch.

 

 

 

 


Photo: Mona Lisa relaxing:

Social Share Toolbar