 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Spunkmeyer.de &raquo; Buzzle Pop</title>
<meta name='description' content='' /><meta name='keywords' content='' /><link rel="stylesheet" href="blade_packs/system_lightwindow/css/lightwindow.css" type="text/css" media="screen" /><link href="/blade_packs/theme_colours4/colours4_css.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="blade_packs/system_lightwindow/javascript/prototype.js"></script><script type="text/javascript" src="blade_packs/system_lightwindow/javascript/scriptaculous.js?load=effects"></script><script type="text/javascript" src="blade_packs/system_lightwindow/javascript/lightwindow.js"></script></head>

<body>
    <div id="wrap">
        <div id="header">
            <h1 class="Logo">Spunkmeyer.de<span>Spiele, Musik und mehr!</span><span>
            </span></h1>
            <div id="menu">
                <ul><li><a href='http://dev.spunkmeyer.de' target='_blank'>Blog</a></li><li><a href='http://games.spunkmeyer.de' target='_blank'>Games</a></li><li><a href='http://ai.spunkmeyer.de' target='_blank'>KI</a></li><li><a href='http://ask-gaia.org' target='_blank'>Ask Gaia</a></li></ul>                            </div>
        </div>
        <div id="contents">
            <div id="main">
                <h1>BuzzlePop - Development (Englischer Text)</h1>
<p>Although I wanted to clean the sourcecode of this game before I publish it, I decided to put it on the server now.</p>
<p>Everyone who's interested can look at the sources.</p>
<p>There are no binary files. All images/sounds/dlls etc. are in the install-dir of the binary version of the game.</p>
<p>Get BuzzlePop-binary-Installer:</p>
<p><a href="http://games.spunkmeyer.de/">::games.spunkmeyer.de::</a></p>
<p>Get BuzzlePop-Source-Code:</p>
<p><a href="downloads/buzzle_code.rar?PHPSESSID=2907616c7f5d41c69ecb00c4f998a89b">buzzle_code.rar</a></p>
<p>(72KB)</p>
<p>&nbsp;</p>
<p>You need the FMOD Development API for your operating-System.</p>
<p>You need the SDL Development API for your operating-System.</p>
<p>To run the selfcompiled binary you may need some dlls or sharedobjects.</p>
<p>&nbsp;</p>
<h3>Development History</h3>
<p>I started with the idea to make a game like &quot;Kirbys Ghost Trap&quot; (german title, english:&quot;Kirbys Avalanche&quot;). So I made some balls with a color in it, and tried to attach them together. Than I searched for an algorithm to decide, if there are four or more balls connected.</p>
<p>Short description of that algo (find it in gamefield.cpp; update(float):</p>
<p><br />
<i> There's a two-dimensional array, the gamefield, each field stores the color (theres an id to indicate, that there is no ball on that field) and the balls that are linked to the ball on the actual field (link-counter).<br />
At first, every link-counter in the gamefield is set to 1, if it is not an empty field.<br />
Than the whole array is checked:<br />
&nbsp;[1]Check for special-case: Is actual and right to actual position link-counter equal two? set both link-counters to four.<br />
&nbsp;[2]Is the same color in the right field? increment both link-counters by one.<br />
&nbsp;[3]Is the same color in the bottom field? increment both link-counters by one.<br />
&nbsp;If [2]+[3] were true, increment the right fields link-counter by one.<br />
After this is done, check the whole array, if there is any field with a link-counter higher or equal to four, destroy all balls with same color (when they are connected to a chain)<br />
</i></p>
<p>After this was done, the whole Game-Logic was designed and implemented:</p>
<ul>
    <li>Smooth falling blobs</li>
    <li>Points depending on level and combos</li>
    <li>Levelups, speedups</li>
    <li>Color-Changing &quot;ghost&quot;-blobs</li>
    <li>Destroyable Bricks</li>
    <li>Special Combos</li>
    <li>Game-Menu and Setup</li>
    <li>Tutorial</li>
    <li>Music, Sound, Graphical design</li>
</ul>
<p>Meanwhile, I'm designing a bomberman-clone with network-abilities. When the Networking is working, it will be added to BuzzlePop too.</p>
<h3>Improvements</h3>
<p>The whole engine is programmed from scratch. It is not as fast as it could get.</p>
<p>The Particle-Engine isn't using any vertex-buffers, it's all drawn directly through OpenGL.</p>
<p>The Game-Field-Logic (Destroying, Displaying, Floating Balls) isn't optimized at all</p>
<p>And there is a lot of comments to do in the code...</p>
<p>Enough for now: If you've got some ideas, please Mail me with the contact-Sheet on my homepage or directly: thomas.muders [ a t ] gmx.de</p>                            </div>
            <div id="sidebar">
                <ul><li><a href='/?PHPSESSID=2907616c7f5d41c69ecb00c4f998a89b'>Home</a></li><li><a href='/portfolio.htm?PHPSESSID=2907616c7f5d41c69ecb00c4f998a89b'>Portfolio</a></li><li><a href='/programmierung.htm?PHPSESSID=2907616c7f5d41c69ecb00c4f998a89b'>Programmierung</a></li><li><a href='/downloads.htm?PHPSESSID=2907616c7f5d41c69ecb00c4f998a89b'>Downloads</a></li><li><a href='/uni-projekte.htm?PHPSESSID=2907616c7f5d41c69ecb00c4f998a89b'>Uni Projekte</a></li><li><a href='/slabid-16.htm?PHPSESSID=2907616c7f5d41c69ecb00c4f998a89b'>Barfuß</a></li><li><a href='/spielen.htm?PHPSESSID=2907616c7f5d41c69ecb00c4f998a89b'>Spielen</a></li><li><a href='/musik-hoeren.htm?PHPSESSID=2907616c7f5d41c69ecb00c4f998a89b'>Musik hören</a></li><li><a href='/pen-and-paper.htm?PHPSESSID=2907616c7f5d41c69ecb00c4f998a89b'>Pen and Paper</a></li><li><a href='http://blog.spunkmeyer.de' target='_blank'>Privater Blog</a></li><li><a href='/kontakt.htm?PHPSESSID=2907616c7f5d41c69ecb00c4f998a89b'>Kontakt</a></li></ul>                                <p>&nbsp;</p>
<ul>
    <li><a href="buzzle-pop.htm?PHPSESSID=2907616c7f5d41c69ecb00c4f998a89b">Buzzle Pop</a></li>
    <li><a href="hover-crash.htm?PHPSESSID=2907616c7f5d41c69ecb00c4f998a89b">Hover Crash</a></li>
    <li><a href="2d-framework.htm?PHPSESSID=2907616c7f5d41c69ecb00c4f998a89b">2d Framework</a></li>
</ul>
<p>&nbsp;</p>                 
            </div>
            <div class="clear">
            </div>
        </div>
        <div id="bottom">
            <ul><li><a href='/impressum.htm?PHPSESSID=2907616c7f5d41c69ecb00c4f998a89b'>Impressum</a></li><li><a href='/kontakt.htm?PHPSESSID=2907616c7f5d41c69ecb00c4f998a89b'>Kontakt</a></li></ul>            (C) 2010 Spunkmeyer            <br />
        </div>
        <div id="footer"><a href="http://www.ramblingsoul.com">CSS Template</a> by Rambling Soul<br />
	<a href="http://www.razorcms.co.uk">razorCMS : flat file CMS</a></div>
    </div>
 
</body>
</html> 
