Dec 192014
 
Share

RJ_chartboost_240x350px_en

I’m working on my game Rolling Jump released in 2011.

You can download the old version here: http://bit.ly/rolling-jump
But next week the 1.4 version will be available on the app store with new features, optimizations, etc.

Available-on-AppStore

I decided to improve my game but I need your help to translate the game in more languages.

Please send me an email: contact [at] benoitfreslon [dot] com

Thank you all.

Dec 052014
 
Share

Introduction

In this tutorial we will create an advanced online form with notifications for your games with Google Form in few minutes for free.
This feedback form is compatible with Web games, Flash games, Unity games, mobile games, etc.

When a lambda player send you a message about an issue in your game you will love to know a maximum of details about the player device.
I’m sure nobody like to receive this kind of message:

2014/12/05 – john.do@myass.com – I cant play

OK! keep calm and reply with this common questions again: Hello, What is your device, the version of your OS, the name and the version of your browser, the language of your browser, the name of your grandma, etc.

A lot of people don’t know how to get all this informations so let me show you how to create a useful feedback form to get important informations about players devices.

Crate a form with Google Form

Google Form

  • Now rename the name of the Form to MyFirstFeedbackForm
  • Modify the first Question type to Text
  • Add the Question title: Email address
  • Tick Required Question
  • Done

Question title

  • Add a second question
  • Question title: Message
  • Question type: Paragraph text
  • Tick Required Question
  • Done
  • Add the third question
  • Question title: Version
  • Help Text: DO NOT MODIFY THIS ENTRY
  • Done
  • Add the last question
  • Question title: OS
  • Help Text: DO NOT MODIFTY THIS ENTRY
  • Add more questions if you need more informations from player devices. (language, browsers, OS version, device version, etc.)

All form

Add params to the URL of your live form

  • Click on Responses > Get Pre-filled URL

Capture d’écran 2014-12-05 à 17.54.03

  • Enter in the Version input text field “Version”
  • Enter in the OS input text field “OS”
  • Click Submit
  • Copy the pre-filed URL

You should get this kind of URL: https://docs.google.com/forms/d/1o_GUk-5fJS66xM9ONCkvGN4rKvrenLe17lz0zqzQUQI/viewform?entry.1008521465&entry.890117275&entry.1551109339=Version&entry.566074336=OS

Use you own IDs:

https://docs.google.com/forms/d/[ID_OF_FORM]/viewform?entry.[ID_OF_THE ENTRY]=[ANY_VALUE]&entry.[ID_OF_THE ENTRY]=[ANY_VALUE]

You can generate an URL to this live form inside your game to get additional informations about player devices. When players open the web page all additional informations will be pre-filled.

Notifications: Receive emails when players post messages

  • Re-open your Google Form
  • Click on View responses

Responses

  • Create a New Spreadsheet

New spreadsheet

  • Click on View responses again

View responses

  • You should see a blank spreadsheet
  • Tools > Notifications Rules

Capture d’écran 2014-12-05 à 17.26.47

  • Set a notification rules and Voilà! :)

Capture d’écran 2014-12-05 à 17.26.59

You are welcome to share your ideas to improve this Feedback form. :)

In the second tutorial I will show you how to get all device informations in Flash, Unity and iOS.

Dec 012014
 
Share


icon_200x200

PLAY KMEMBERT on LudumDare.com

Game description

Kmembert (Camembert: A delicious french cheese) is a puzzle/infiltration/action game :). The gameplay is quite simple: You are a cheese and you have to kill all nazi mice in one shoot. Get the cannon bullet and trick the mice in order to kill them all in a single shoot. 9 levels are playable. HAVE FUN ^^!

Capture_20131215_005Capture_20131215_003 Capture_20131216_005Capture_20131216_002

Post mortem

It was my first Ludum Dare compo. I just be informed of the event 4 days ago. My weekend was busy but I was motivated to create a simple game saturday morning with the theme “You only get one”. I already participed to the “Global Game Jam” twice, but the Ludum Dare is a different challenge.
I cumulate 17 hours of work for this game.

Gameplay

I found the idea in the first minutes: Get the only one bullet, trick the enemies to manage to kill them all in a single shoot.
The controls are simple and the top view allows to create less graphic assets and less code. I’m a big fan of “Metal gear solid” and I recently played “Hotline Miami”. So I unconsciously designed game mechanics with this game in my mind. I always wanted to design a game like Metal Gear Solid :). Therefore mice can run after you if they see you and you can play with the doors.

Level Design

I modified the mouse behaviours 2 hours before the deadline. So I redesigned the levels accoring the modifications.
I tried to design 9 levels with interesting challenge. I think the levels are fun and you also can understand all puzzles quickly. But I had no time to playtest the levels to another players. That’s why the game needs different mice with different behaviours and more balance.

Graphics

I didn’t want to use human characters, zombies, aliens or monsters. So I decided to imagine a coherent situation with uncomon characters according to the game mechanics. A humanoid cheese against nazi mice ? Why not  :). I’m not a 2d artist but I tried to design simple characters and animations quickly. A pen tablet is a good tool :).

Sounds

Unfortunatly I didn’t have the time to play on my guitar some cool riffs for the background music. The sound fx are just simple homemade sounds of my mouth :).

Tools

I’m a Flash game developer since 2004 so I create all assets, animations and code with Flash. I used the World Construction Kit library. It’s the Box2D physic engine with a WYSIWYG layout, very usefull to design levels. I also used simple libs : TweenMax, Flint. I used “Flash Develop” and I created some assets with Photoshop and Audition.

Conclusion

It was a great experience! Sometimes I watched streams of few developers around the world. I also earn some skills in code with box2d and in graphic design. I found my game interesting but it needs improvements :).

Apr 032014
 
Share

I installed Boot Camp 4 and Windows 7 64 bits on my MacBook Pro 2011 in 2011. The first boot time are really acceptable but after installing some softwares the boot time was really slow: aout 6-8 minutes. Now I can boot Windows 7 64 bits in less 1″30. :)

1. Windows Registry

  • Start menu
  • Search > Regedit > OK
  • Go to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction
  • Modify the value of OptimizeComplete to Yes (it’s worked for me)

2. MSConfig

  • Start menu
  • Search > msconfig > OK
  • Boot  tab  > Avanced options > Select all your CPU
  • Services tab > Unselect all useless services
  • Startup tab > Unselect all useless software at startup

3. Services

  • Start menu
  • Search > services > OK

And set useless services to Manual. Use this list : http://www.askvg.com/windows-7-services-that-can-be-safely-set-to-manual/ Good luck ;). Please comment if my tips work.

Feb 172014
 
Share

Here the non exhaustive list of all independant game contests & Jams: UPDATE: 03/12/2014 Contests:

Jams:

EDIT (02/12/2014): you can find all jams here: http://compohub.net

Please comment and send feedbacks to update this list ;).

Oct 282013
 
Share

european-indie-games-2012

The EIGD was on the 24th and 25th of October in Montreuil, France, near to Paris. Here the website: http://www.eigd.org/.

Unfortunately I couldn’t assist to the EIGD meetings but I’m sure it was very interesting.

Here the category lists:

  • The Student Awards – a category exclusively for vocational school students. We hope to find a crazy pearl!
  • Originality Award – For the most original in terms of gameplay, the theme or narrative European game
  • The Innovation Award – For the most innovative gaming technology or use of technology.
  • The Price of Artistic Consistency – For the game which the graphic is more consistent, but also the most original!
  • And the Grand Prize will be selected from the winners of the previous categories.

Enigmbox was finalist of the EIGD awards, category Originality.

There was 5 different catogories: http://www.eigd.org/en/content/eigd-awards. You can find all finalists here: http://www.snjv.org/eigd-awards-finalistes,814.html

The awards ceremony was the 24th October near to the “Le café salé” in Montreuil.

The other finalists for the originality category were: Mush from Motion Twin and Type: rider from Agat Films & Cie / Ex Nihilo.

Here the results:

  • SerpenteS won The Student Award
  • Mush won the Award. Congrats to the Montion Twin team.
  • Strike Vector won the Innovation Award
  • Type: Rider won the price of Artistic Consistency
  • One Life remains won the Grand prize, congrats guys ;).

Unfortunately EnimgBox didn’t won any prize but I’m still proud to compete with big projects. A big thanks to the EIGD team ;).

See you next year.

Sep 282013
 
Share

Today : How to create a simple button in Flash with AS3.

Example

-->

Get Adobe Flash player

Sources

You can find the .fla and with the ActionScript source code inside.

Download the source code here: Simple_button_benoitfreslon.com.fla

Let’s start

  1. Open Flash > Create a new Flash ActionScript 3.0 document
  2. Insert > New Symbol
  3. Name : Btn
  4. Type > Button
  5. Click OK

Capture d’écran 2013-09-28 à 16.10.09

  1. Draw a button in the Up state (when the button is released)
  2. Draw a different button in the Over  state (when the mouse cursor is over the button)
  3. Daw a different button in the Down state (when the button is pressed)
  4. Draw a simple shape in the Hit state (The Hit area of the button)
  5. It’s done. Back to the stage now.

Capture d’écran 2013-09-28 à 16.18.25

  1. Then select the MovieClip on the stage
  2. Set an instance name “mc_btn” in the Properties pannel like this

simple_button_02

  1. Create a new Layer with this name: Actions
  2. Select this new layer
  3. Open the Actions Pannel: Windows > Actions or hit F9

simple_button_03

Copy and paste this code:

mc_btn.addEventListener(MouseEvent.CLICK, click);
function click(e:MouseEvent):void {
	// On click
	trace("click");
	navigateToURL(new URLRequest("http://www.benoitfreslon.com"));
}
Sep 272013
 
Share

For all developers who love Flash Develop like me, you probably NEED to colorize all ActionScript 3.0 keywords.

Here a screenshot of the syntax coloring:

flash_develop

You can download Flash Develop 4 here.

Download my AS3.xml file and replace the AS3.xml in the Languages folder.

C:\Program Files (x86)\FlashDevelop\Settings\Languages

or

C:\Users\XXXX\AppData\Local\FlashDevelop\Settings\Languages

The xml file is compatible with Flash Develop 4.X.X.

Sep 252013
 
Share

Hello,

Today a simple sample of code to create an inertia effect in ActionScript 3.0.

-->

Get Adobe Flash player

The character will start to move with smooth acceleration if you press an arrow key.

You can download the source code here : Flash_acceleration_benoifreslon.com.fla

// Copyrights
// Benoît Freslon
// http://www.benoitfreslon.com

import flash.events.KeyboardEvent;
import flash.events.MouseEvent;

// Constants (You can modify this values)
const acceleration:Number = 0.1;
const decceleration:Number = 0.9;
const speedMax:Number = 5;

// Variables
var speedX:Number = 0;
var speedY:Number = 0;

// Key states
var leftPressed:Boolean = false;
var rightPressed:Boolean = false;
var upPressed:Boolean = false;
var downPressed:Boolean = false;

// Keyboard events
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDown);
stage.addEventListener(KeyboardEvent.KEY_UP, keyUp);
function keyDown(e:KeyboardEvent):void {
	switch (e.keyCode) {
		case 37 :
			leftPressed = true;
			break;
		case 38 :
			upPressed = true;
			break;
		case 39 :
			rightPressed = true;
			break;
		case 40 :
			downPressed = true;
			break;
	}
}
function keyUp(e:KeyboardEvent):void {
	switch (e.keyCode) {
		case 37 :
			leftPressed = false;
			break;
		case 38 :
			upPressed = false;
			break;
		case 39 :
			rightPressed = false;
			break;
		case 40 :
			downPressed = false;
			break;
	}
}

// Evénement répété toutes les images
pig.addEventListener(Event.ENTER_FRAME, enterFrame);
function enterFrame(e:Event):void {

	// If a key is pressed I will increase the speed with the acceleration value

	if (upPressed) {
		speedY -=  acceleration;
	} else if (downPressed) {
		speedY +=  acceleration;
	} else {
		// If the up key and the down key are released I will decrease the speed with the decceleration value
		speedY *=  decceleration;
	}

	if (leftPressed) {
		speedX -=  acceleration;
	} else if (rightPressed) {
		speedX +=  acceleration;
	} else {
		speedX *=  decceleration;
	}

	// Ne pas oublier de limiter les vitesses
	if (speedX > speedMax) {
		speedX = speedMax;
	}
	if (speedX  <-speedMax) { 		                 speedX =  -  speedMax; 	         } 	         if (speedY > speedMax) {
		speedY = speedMax;
	}
	if (speedY <-speedMax) {
		speedY =  -  speedMax;
	}

	// Move the pig
	pig.x +=  speedX;
	pig.y +=  speedY;

	// Display values on HUD
	tValues.text = "speedX: " + speedX + "\nspeedY: " + speedY;

}

// Reset pig
stage.addEventListener(MouseEvent.CLICK , click);
function click(e:MouseEvent):void {
	pig.x = stage.stageWidth / 2;
	pig.y = stage.stageHeight / 2;
}