FLXMP: First Version Released
I didn’t want to do this that early. But I realized that I need a proper version control and I intended to release the XM Player I was recently talking about under the MIT License anyway. So, better sooner than later. I named it FLXMP which stands for Flash Extended Module Player. I could come up with a more fancy and creative name but in the end I wanted it to be self explanatory (beside aspects of humility which come with such a small project).
Please notice:
The current version is still far away from being complete or stable. There is much work to do and you will find many “TODO” comments while browsing the code. Even the panning features I mistakenly declared as finished in a previous post are not implemented, yet. However, if you encounter crashes bugs or other problems feel free to report them in the issue tracker.
You can download the current FLXMP version 0.1 (unstable!) from Google Code:
http://code.google.com/p/flxmp/downloads/list
There is also a public SVN access to the most recent upload.
A Documentation will follow soon, too.
In: music, programming · Tagged with: AS3, flxmp, Module, music
Semester Break
It was a quite successful first semester and I’m really happy that I attended that Master program at the Stuttgart Media University. Now, during the summer break I will continue with my projects and hopefully complete some of them soon.
A short summary of what’s done and what’s still to do:
2D-Plattformer (no official name, yet; working title: Vessel):
- Done:
- majority of gameplay mechanics (weapons, triggerable objects, etc.)
- simple ai architecture
- level bitmap interpreter (creates tile based levels from bitmaps, including ai-information and entities)
- level transitions
- basic enemies with animations (content)
- basic mod player (see below)
- To Do:
- bosses (this will be the biggest part, also including some sort of ai)
- save game system
- menus
- music and sounds (content)
- additional enemy types
- additional level tilemaps (content)
- decoration sprites (content)
- name and logo (content)
- level design (content)
XM Player (no official name either):
- Done:
- mod player core is working and playback is possible
- panning and envelope features for instruments are working
- set tempo, portamento up, portamento down and tone portamento effects are working
- basic volume commands are working
- To Do:
- automatic vibrato for instruments
- volume effect commands
- most effect commands are missing (quite the biggest part)
- file loader (currently, mod files need do be embedded via AS3 in order to be played)
Now, back to work…
In: general, programming · Tagged with: AS3, flash, games, Module, vessel
XM Audio, Second Try: Success!
After my previous capitulation in front of Extended Module playback via Flash, I could not keep my hands off that topic. I started a second attempt and rewrote the whole code from scratch. This time I used a more flat (less object oriented) approach with less function calls; plus: I made some research and profiling regarding which constructs and data types are faster in Action Script 3.
Many problems in my previous attempt were caused by implicit type conversions and function call overheads. I also made some major architectual mistakes which made the whole project less controllable.
Now, everything runs smoothly and I’m happy with the results. However, not all features are implemented yet. Many XM-specific effects and stereo processing will follow. But this won’t have a big influence on performance, since the performance critical parts are basically done. I also was able to test the module player in my current game project and everythink went fine.
My special thanks go to Christian Corti and Richard Davey since I learned a lot from the FlodPro code. This is a quite decent chunk of work which I learned to respect and appreciate while working on my own module player.
Now it’s time for a small demo. The player below is playing the demo track “milk in veins” (by raina & . from the CoolPHat demo group) which comes with the Milkytracker release.
P.S.: I sign off for the next two months since this semester’s exams are drawing near.
In: music, programming · Tagged with: AS3, flash, FlodPro, Milkytracker, Module, music
Fail: Audio :(
I’ve invested much time in the development of a playback method for XM files in Action Script. I’ve achieved some results but I’m afraid that fixing those performance issues I encountered would take much more time than I’m currently willing to invest. My Module Library won’t make it into the game. Realizing this was quite disenchanting for me. I’ll have to go for other alternatives for music playback. Maybe I’ll try out FlodPro by Christian Corti (located Richard Davey’s Photon Storm) — which I actually wanted to avoid.
However, I’ve learned a lot from this attempt. Sound processing can be really challanging. I’m sure I will reapproach this when there is more free time left.
In: music, programming · Tagged with: AS3, FlodPro, Module, music
Module Instruments Implemented
I just finished the implementation of all instrument features incorporated in the Fasttracker 2 extended module format. This includes:
- playing wave samples as notes (ok, that’s quite obvious)
- finetuning
- volume and panning control
- volume and panning envelopes
- instrument vibrato
I’ve added a quick little demo below. You can click on the keyboard picture below and use the (computer-) keyboard to play the notes. Basically, a ca. 1000 samples long 8-bit wave is being played through a bunch off effects resulting in the final instrument’s sound (and pitch). The file size is 17kB.
That’s nothing impressive yet, but it offers many possibilities.
In: music, programming · Tagged with: AS3, Module, music
Extended Module Player in AS3
Music and sound are the most file size bloating assets when making flash games. If you want your game to have a low file size, you need to get rid of >5MB mp3 files. So I decided to write an extended module player library for my game. The XM format is a tracker format introduced by Fast Tracker 2 by the demogroup Triton. This should keep the music files below 100kB. Above you see a screenshot of Milkytracker which is a Windows compatible Tracker supporting the XM format.
Oh… yeah, of course the library is still work in progress.
In: music, programming · Tagged with: AS3, FlashDevelop, Milkytracker, Module, music
Back Online
Many things have changed since my last post. I had trouble finding time to post and take care of the website due to recent (well, not so recent any more) happenings. A short summary:
- Nov 2009: Lost my Job in Munic
- Jan 2010: Moved back to Stuttgart
- Feb 2010: Got a short job opportunity as a freelance IT teacher
- Mar 2010: Got an university place at the Stuttgart Media University (HdM)
So apparently I’m a student again. I’m making my Master in Computer Science and Media in Stuttgart and I’m really enjoying it. And maybe there will be more time spent on game making
Recent developments will follow soon.
In: general · Tagged with: HdM
Currently Working on: AI
I had a few hours to clean up some stuff in the code and now it’s getting complicated. Time to make the artificial intelligence. I want to have some challanging NPCs but I don’t believe I can develop something super advanced in my available free time. Seems like I will have to simplify a few things here.
In: games, programming · Tagged with: AI, flash, games, vessel
Lights Off, Spot On!
I’ve just finished a plain lighting system for my sidescroller. It is possible to place custom sprites as lights into the scene. Those sprites are used to render a lightmap which represents the result of all lightsources in the current scene.
Now I can create scary places for the player
In: games, programming · Tagged with: flash, FlashDevelop, flixel, light, vessel
A Little Flash Sidescroller
I’m still fiddling around with flixel. It’s a lot of fun and you can see the progress after every hour. Currently it looks like this is going to be my main project, since it is progresing so fast and my motivation to finish it increases every evening I spend with it. It is going to be a Metroid-Style Sidescroller. Nothing great or stunning, just a little fun
Following features are already implemented:
- moving, jumping, shooting, mouse aiming and all stuff like that
- tile based level generation from pngs: Each pixel represents a tile, so I can create my levels easily in Gimp
- multi-level support and level transitions
Collision and graphics are totally covered by flixel, which is preatty neat
I believe I’ll have the most headache with AI. But that’s still in remote future.
In: games, programming · Tagged with: flash, FlashDevelop, flixel, games, vessel



