Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - benny!

Pages: [1] 2 3 4 5 6 7
1
General chat / Demoscene Riddle #11
« on: January 30, 2013 »
- which
- 14948
- nfo
- f
- none
- document.getElementsByTagName( 'pre' )[0].innerHTML.replace(/[\t\v\f\r\n \u00a0\u2000-\u200b\u2028-\u2029\u3000]+/g, '');
- 9
- 35
- 4
- 3
- 13
- 1
- 9
- 9
- 35

2
Projects / [Small Game] Unitem
« on: January 16, 2013 »
Hi,

I worked on a small game lately (Mobile HTML5) and wanted to ask for help regarding device testing.

Currently, what I am most interested in is on what devices the game is running (ie. playable).

So, if you have a spare minute, I would appreciate if you could point your device to:

http://backyart.com/games/unitem

(or use attached QR tag).

Most interesting would be newer iOS & Android devices e.g. iPad3, iPhone5, Samsung Galaxy etc.

Already successfully tested on:

[Android]

- HTC Desire
- HTC Desire S (Android 4.0.4)
- Samasung Galaxy Tab 10.1 N
- Samsung Galaxy SII
- Nexus 1
- Nexus 7
- SE Xperia Active

[iOS]

- iPhone 4
- iPhone 5
- iPad 1
- iPad 2
- iPad 3
- iPad 4

Thanks in adavance

3
Hi,

does anyone of you know a Copy&Paste detection tool (preferably free) that works for JavaScript. What I am looking for is something like PMD for Javascript.

Any help is appreciated.

Best,
benny!

4
General chat / DBF christamized
« on: December 23, 2011 »

MERRY XMAS TO ALL DBFlers


Because neriakX asked for it (see shoutbox ;-) )

5
General chat / Weihnachtsmann Polonese
« on: December 23, 2011 »
lol ... just came across one of my old games I wrote back in 2oo3 ... damn it is such a long time. Since it's XMas I thought I would share it again with you (featuring a nice xmas soundtrack).

So, merry x-mas to all of you ;-)

6
Challenges & Competitions / [TINYC5] Slidely Distorted
« on: December 10, 2011 »
Hi all,

here is my small entry for the TinyC5 challenge. It is basically just a slideshow with a distortion effect on the images.


Slidely distorted


Preferably viewed using Google Chrome, although should work with IE9 and FF too.

Hope everone is cool with the fact that I enter this challenge. I have to say that I was a bit unsure if it is a good idea to enter a competition which is based on a library that I wrote - but since I of course also want to support the competition I hope you do not mind that I entered (didnt expect to win anyway ;-)

Known bugs:

- Weird sync bugs from time to time (dont switch tabs e.g.)
- Music doesnt loop on Firefox

Enjoy!

7
General chat / Already XMas stressed?
« on: November 29, 2011 »
What's up everyone ? Are you already Xmas stressed or are you just getting drunk on one of the dozen christmas markets ? At least here in Germany there is a Christmas Market in nearly every district. And I remember two years ago, I was on a pretty cool Christmas Market in Manchester.

So, I hope you all are not too stressed at the moment buying christmas presents.


8
General chat / [Windows] Future Composer Player
« on: November 23, 2011 »
Hi Guys,

I googled around for some time now and I cannot find a working Windows Future Composer Player anymore. I know there are some libs available - but do you probably know a already working player for Windows ?

Would be great - cause I really want to listen to some cracktro-tunes while I am working ...

Thanks in advance,
benny!

9

How to get started with TinyC5


Introduction

Welcome to this small tutorial about how to get started with TinyC5 development. This tutorial assumes that you ...:

  • have basic coding knowledge
  • have heard about TinyPTC/Pixeltoaster and/or framebuffer stuff
  • have some basic knowledge about HTML and javascript

Before we start, just another short list of what this tutorial is not/not about:

  • complete
  • bug-free ;-)
  • advanced
  • producing great graphic effects

All files of this tutorial are attached.


Step 01


Let's start off with the most minimal example:

Code: [Select]
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
       
        <script type="text/javascript" src="js/TinyC5-0.6.js"></script>
       
        <script type="text/javascript">
            function main() {
                 new TinyC5().start();
            }
        </script>
    </head>
    <body onload="main()">
    </body>
</html>

Assuming that you know the basic structure of a standrad HTML page, let's focus on the important bits, actually only 2 lines.

With the followin line we include the TinyC5 library code:

Code: [Select]
<script type="text/javascript" src="js/TinyC5-0.6.js"></script>

Within the main-function, which is called after the page is successfully loaded, we create a new instance of TinyC5 and immediately call the start method.

Code: [Select]
new TinyC5().start();

Result

We see a black square on the screen with the dimensions of 320x200 pixels, which are the default values. The black square is actually our drawing buffer, ie. canvas which is appended by default to the body element.




Step 02


In the second step we restructure our code. This will show us the different parts of how to setup a TinyC5 instnace. The important bits are as follows. We replace the code of the main funciton with the following lines:

Code: [Select]
var tinyC5;
tinyC5 = new TinyC5();
tinyC5.init();
tinyC5.update = function() {};
tinyC5.start();

Line 1: Declare a variable that will refer to our TinyC5 instance.
Line 2: Assign to our tinyC5 varibale a new instance of TinyC5.
Line 3: Initialize out TinyC5 instance.
Line 4: Overwrite the update property of our instance with a new function, which we leave is empty for now.
Line 5: Start the animation of our tinyC5 instance.

Result

The outcome is the same as in Step 01. But this time we have created a detailed setup of our TinyC5 instance we can build on in future steps.




Step 03


In this step we beautify our application while adding some more CSS/HTML to our code. In addition, we define some arguments which we pass to the TinyC5.init() function to overwrite certain default values.

New CSS/HTML code. No magic in here really.

Include some styles...

Code: [Select]
<link rel="stylesheet" type="text/css" href="css/styles.css" />


Add some more HTML to our body...

Code: [Select]
<div id="container">
    <div id="tinyC5_container">
    </div>
</div>
<div id="footer">
    Tutorial | Created with <a href="http://www.dbfinteractive.com/forum/index.php?topic=5397.0">TinyC5</a>
</div>       

Then we define a new variable that we pass as argumennt to TinyC5.init(). The argument is a simple proterty object which values will configure the TinyC5 instance.

Lines we modified:

Code: [Select]
var tinyC5, args;
tinyC5 = new TinyC5();
args = {
    width: 160,
    height: 100,
    scale: 2,
    title: 'Tutorial | TinyC5',
    bgColor: tinyC5.color( 155, 255, 100, 255 ),
    container: document.getElementById( 'tinyC5_container' )
};
tinyC5.init( args );

Line 01: Added delcaration for args.
Line 03: Assigned property-object to args. Most properties should be pretty self-explanary.
Line 06: The scale property will scale the canvas tag by the given value. In this example the resulting canvas will have a dimension of 320x200 pixels.
Line 07: The title will be set to the windows browser tab.
Line 08: We define a nice background color and overwrite the default value (which is solid black).
Line 09: In the previous steps the output canvas was appended directly beneath the body tag. If we pass another HTML element via the container property we can determine to which HTML node the canvas element is inserted in.
Line 11: We pass the created args as parameter to the TinyC5.init() funciton.

Result

Now the layout changed mostly due to the CSS. Our output should now be in the centre of the screen showing a green square.




Step 04


Alright, let's draw something. Since we calculate the color of each pixel new on each loop, we do not need to set the initial background color anymore.

That's why we drop it:

Code: [Select]
bgColor: tinyC5.color( 155, 255, 100, 255 ),

The main addition in this step is that we actually create some logic in our update method - in this case we draw a sinple checkerboard:

Code: [Select]
tinyC5.update = function() {
    var p, color, index;
    index = 0;
    p = tinyC5.pixels;
    for( var y = 0; y < tinyC5.HEIGHT; y++ ) {
        for( var x=0; x < tinyC5.WIDTH; x++ ) {
            color = 255 * ( ( ( x >> 4 ) & 1 ) ^ ( ( y >> 4 ) & 1 ) );
            p[index++] = color;
            p[index++] = color;
            p[index++] = color;
            p[index++] = 255;
        }
    }
};

This should look actually a bit familiar to you if you have ever worked with tinyPTC/PixelToaster. Some quick notes:

Line 04: We make a local reference to the TinyC5.pixels array. The array holds all the pixel data in the following format [ Red, Green, Blue, Alpha, Red, Green, Blue, Alpha, Red, ... ]
Line 05: TinyC5.HEIGHT is the height value of the pixel buffer. In this case 100.
Line 06: Same with TinyC5.WIDTH. It's 160 pixel in our example.

Result

The result is a simple black/white checkerboard. Guess the FX itself does not require any explanation.




Step 05


This step already indicates the end of the tutorial. In this step we added some movement to our small effect as well as some cracker-colors. Only one TinyC5 related function needs to be explained here.

Code: [Select]
tinyC5.getTime()

This returns the elapsed time in milliseconds since the TinyC5.start() function was called. Use this for timed animation.

Result

Since this is the last step, the code contains detailed comments for further details. Please have a look at the code.



Please feel free to post any comments, thoughts or questions about this tutorial in this thread.

Thanks for reading.

P.S.: You need to be logged in in order to download the tutorial files.


Additional Stuff


ImageLoading with TinyC5

10
General chat / Cool Game Pitch
« on: November 16, 2011 »
One of the best game pitches I have ever seen:

http://www.youtube.com/watch?feature=player_embedded&v=LcDgaUKBRZE

11
The Death Of A Sun

"The Death Of A Sun" shows how four moons are falling into a sun and destroy it.

WATCH ENTRY ONLINE

(Requires a modern interenet browser in order to run properly. Google's Chrome is recommended)

Credits

Code: benny!
Music: Liam Bradbury
Background image: NASA
Library: TinyC5

Enjoy!

12
General chat / Choosing the right license
« on: November 03, 2011 »
Licenses.

Hi all,

I am (again) a bit confused about choosing the right license for TinyC5 - can anyone suggest me the right license (there are soo many) ?

In brief I want to be as un-restricted as possible:

  • Anyone can use it without any costs, also for commercial use
  • It should be of course an open source product
  • A third person is not allowed to sell the library alone
  • Any modification to the library are welcomed but should remain under the same license
  • I dont want to be reliable for any damage caused by the project/code


Does anyone know?

Thanks in advance.

Best,
benny!

13
Projects / [HTML5] - TinyC5
« on: October 21, 2011 »
TinyC5

Introduction

TinyC5 is a library for javascript programmers who want to write their own software rendering routines, reading and writing to an array of pixels.

This library is inspired by such great libraries like tinyPTC/Pixeltoaster.

Features

  • Extremely lightweighted (approx. 2KB compressed and gzipped)
  • Supports all modern browsers (FF 6, IE 9, Chrome 15, Opera 11)
  • Executes browser specific code under the hood for optimal performance
  • Easy to use (Minimal application just requires two lines of javascript code)
  • Fullscreen mode
  • Written in pure native javascript (no dependency on any other libraries like e.g. jQuery)

Examples























Showcase (web applications using TinyC5)


Related Links


Current Version
0.7

Changelog for current version

25.11.2011 - Release of version 0.7 (Quality and mobility)

  • Added QUnit tests. Jaja, I know - those tests should be written before the actual code.
  • Added TinyC5.clamp() to clamp color values.
  • Added TinyC5.resume() to resume a stopped application.
  • Added Example07 (thanks to Raizor) demonstrating TinyC5.clamp().
  • Added TinyC5.FAST_CLICK_EVENT which is the device specific fasted event type for clicks.
  • Added TinyC5.isMobile() to check if app is running on mobile device.
  • Added 'supportMobile' flag for initialization.
  • Added How to get started with TinyC5 development tutorial.
  • Fixed Opera color bug in Example06.
  • Fixed a bunch of setter/getter bugs. Thanks to qunit testing.

Download

DOWNLOAD LATEST VERSION
Note: You need to be logged in in order to download earlier versions.

14
General chat / Humble Bundle
« on: October 01, 2011 »
Just ordered the current Humblebundle ... it's an awesome pack of indie games for a price you can set. Absolutely great concept and this time a really good pack. Just played Frozen Synapse and this game really rocks!

Have a look

http://www.humblebundle.com/

15
General chat / Cloud Coding
« on: June 29, 2011 »
I had this idea some years ago, when I saw that google ported so many office apps (e.g. Excel, Word etc) to the browser platform? I am speaking of Cloud Coding, meaning your complete IDE runs in the browser and you save all your files in the cloud?

Reading through this artcile there seems to be some good progress in this field.

What do you think about this?

Personally, if you take a fast internet connection for granted, the whole cloud thing becomes really interesting. If I just imagine I would not have to care about deployment stuff etc.

16
General chat / Geeky online stuff
« on: June 16, 2011 »
This thread should serve as a little link collection of oldschoolish geeky internet stuff. Since we all share the same spirit and background - I guess we tend to like the same stuff.

So, please feel free to posts links about stuff like oldschool demoscene, 8bit, pixel & geeky internet sources which is available on the internet and can be viewed/consumed inside a browser.

I start of with this:

http://c64.superdefault.com/

17
General chat / DBF Challenges Stats
« on: June 01, 2011 »
...or in my case: Proof Of Fail - It's seems like I am trying hard enough (because I fail...)

Here is an overview of my entries to DBF challenges so far...

DBF challenges stats

- Ranked 15th: WIP - ActionScript 3.0
- Ranked 4th: PV3D experimental clock - ActionScript3.0
- Ranked 5th: LowRes - ActionScript3.0
- Ranked 2nd: GrassVeins - Java
- Ranked 5th: p1nkP0ng - C++
- Ranked 3th: In 20 seconds... - PureBasic
- Ranked 6th: Blurred Pumpin - C++
- Ranked 1st: PieDraw - JavaScript
- Ranked 5th: Bouncing Circle Scroll - Java
- Ranked 5th: Sync'd Sine Scroll - PureBasic

This makes an average rank of ~5 rank :skint: FAIL

Should have added the total ranks to put this in a relation - too much work for now ;-)

What are your stats?

18
General chat / Why you need to fail...
« on: June 01, 2011 »
...or:

If you are not failing, you are not trying hard enough

A true message very well presented:

<a href="http://www.youtube.com/watch?v=HhxcFGuKOys" target="_blank">http://www.youtube.com/watch?v=HhxcFGuKOys</a>

19
Other languages / [Javascript] JSModPlayer
« on: May 24, 2011 »
Cool. Modplayer (.XM and .MOD format) using nothing but Javascript. Have a look at the example page:

http://billy.wenge-murphy.com/jsmodplayer/firefox.html

Currently it runs under Firefox only since the Audio API is not standardize yet.

20
General chat / Using third party stuff
« on: May 22, 2011 »
Hey,

I feel a bit torn currently. Just created my entry for the Wirechallenge. In my production I use a lot of libraries I found around the internet. On the one hand I like the outcome of the project but on the other hand it feels a bit strange creating something which makes use of so many 3rd party sources.

I remember the time (Amiga era) when I coded everything from scratch - e.g. I even did some assembly routines for better string manipulation and stuff like that. However, nowadays my productions seems to be not possible without using third party tools/code/libraries. Having the internet as a big source of already existing solutions to what I need make me lazy of creating my own.

And that's why I am torn a bit. I fear that by simply using thrid party tools you do not really know what is going on under the hood. Otherwise, I think it is good to create something upon other one works (if you credit them of course). Especially, since my time is limited, I fear that I would not even start a project if I had to do all on my own.

How do you think about it?

Best,
benny!

Pages: [1] 2 3 4 5 6 7