tag:blogger.com,1999:blog-329113532024-03-13T17:26:51.231+01:00my eulogyeulogyhttp://www.blogger.com/profile/05603978726605635944noreply@blogger.comBlogger121125tag:blogger.com,1999:blog-32911353.post-15801247094679365832012-11-18T02:40:00.002+01:002012-11-20T06:31:09.315+01:00String pattern matching (part 1/?)
Part 1: Finding the needle in a haystack
Background
I have recently learned about the Boyer-Moore-Horspool (BMH) algorithm, but after reading through it again, I realized that there were parts of it I didn't quite understand. I decided to write this article as a way for me to repeat what I've learned and also help others that want to implement this algorithm.
Boyer-Moore-Horspool
BMH eulogyhttp://www.blogger.com/profile/05603978726605635944noreply@blogger.com0tag:blogger.com,1999:blog-32911353.post-38211000220956228732012-10-18T00:34:00.001+02:002012-10-18T00:34:28.105+02:00Interesting blog
I found an interesting blog over at http://benryves.com. It belongs to a guy that seems to share my passion for low end systems. He's working on a 2.5D engine for the TI-83 and has a bunch of different hardware and software projects.
eulogyhttp://www.blogger.com/profile/05603978726605635944noreply@blogger.com0tag:blogger.com,1999:blog-32911353.post-58466926127962456492012-10-10T01:20:00.001+02:002012-10-10T01:20:42.877+02:00GBA 3D RenderingI've finally put all the pieces together, and it turned out pretty good imo. The video shows a rotating torus with a rotating directional light. I'd love to do point lights, but the inverse square root needed for normalization is extremely expensive in terms of CPU time needed.
eulogyhttp://www.blogger.com/profile/05603978726605635944noreply@blogger.com0tag:blogger.com,1999:blog-32911353.post-90216000370493757362012-10-05T01:40:00.001+02:002012-10-07T23:42:56.281+02:00Fixed point divisionFound an interesting article about fast fixed point division and multiplication on ARM processors over at Henry Thomas consulting. Originally I claimed that it didn't work for the GBA, but that was a lie. Some minor tweaks and now it runs like a charm. Fixed point division used to be a major bottleneck in my attempt at 3D rendering on the GBA, and now it's not a problem at all.eulogyhttp://www.blogger.com/profile/05603978726605635944noreply@blogger.com0tag:blogger.com,1999:blog-32911353.post-66444948177050799092012-09-29T13:28:00.001+02:002012-09-29T13:30:03.144+02:00Refreshing my memory (3d math)So.. it's been a while since the last time I did all the 3D calculations myself. Nowadays I just use libraries since every decent graphics API have it build in, but that isn't the case for the GBA. I started implementing the functions needed for matrix transformations and quickly concluded with that I suspected before starting: a naive implementation will be way too slow. You still need the eulogyhttp://www.blogger.com/profile/05603978726605635944noreply@blogger.com0tag:blogger.com,1999:blog-32911353.post-1051605311386458942012-09-26T11:28:00.000+02:002012-10-14T01:15:58.885+02:00GBA: Useful linksHere are some useful links when developing for the GBA:
GBA
GBATEK - Gameboy Advance / Nintendo DS - Technical Info
gbadev.org
devKitPro
TONC Tutorials
Gamedev.net - GBA Development From the Ground Up
Gamasutra - Gameboy Advance Resource Management
Maxmod - Music And Sound Solution
Sound on the GBA
Realtime 3D on the GBA
Gameboy Advance Resources
Dev'rs GBA Dev FAQs
ARM
The ARM eulogyhttp://www.blogger.com/profile/05603978726605635944noreply@blogger.com0tag:blogger.com,1999:blog-32911353.post-26963929538431164642012-09-26T01:24:00.000+02:002012-09-26T01:56:57.331+02:00GBA: Place functions/variables in iwramPlacing functions and variables in iwram will *seriously* speed up your program. You only have limited amounts on the other hand (32K). I made the following defines based on The Dev'rs GBA Dev FAQs.
Defines:
#define IWRAM_FUNCTION __attribute__((section (".iwram"), long_call))
#define IWRAM_VARIABLE __attribute__((section (".iwram")))
Usage:
const int somearray[] IWRAM_VARIABLE = { ... }
voideulogyhttp://www.blogger.com/profile/05603978726605635944noreply@blogger.com0tag:blogger.com,1999:blog-32911353.post-64281092068414197382012-09-25T20:56:00.000+02:002012-09-25T20:56:57.456+02:00One of my many 2d sprite projectsThis is a test of a 2d engine with custom physics I worked on a while ago. Art credits goes to Zelda :)
eulogyhttp://www.blogger.com/profile/05603978726605635944noreply@blogger.com0tag:blogger.com,1999:blog-32911353.post-90540438468351078912012-09-25T20:48:00.000+02:002012-09-26T01:25:24.184+02:00GBA: Asm tipsThanks to the wayback machine for helping me find some GBA asm optimization tricks and source code here. Credits goes to Pete (dooby@bits.bris.ac.uk / http://bits.bris.ac.uk/dooby/).
There's also a few tips and tricks I thought people might like - comments welcome.
STMIA for DMA setupWhen setting up DMA transfers, take advantage of the fact you are writing words to consecutive memory eulogyhttp://www.blogger.com/profile/05603978726605635944noreply@blogger.com0tag:blogger.com,1999:blog-32911353.post-48412101910222823942011-10-01T14:55:00.000+02:002011-10-01T14:55:19.817+02:00Depixelizing Pixel Art (Sig 2011) http://research.microsoft.com/en-us/um/people/kopf/pixelart/
"Naïve upsampling of pixel art images leads to unsatisfactory results. Our algorithm extracts a smooth, resolution-independent vector representation from the image which is suitable for high-resolution display devices (Image © Nintendo Co., Ltd.)."
Nearest-neighbor result (Original: 40 x 16 pixels)
eulogyhttp://www.blogger.com/profile/05603978726605635944noreply@blogger.com0tag:blogger.com,1999:blog-32911353.post-91291495777487304892011-05-29T20:32:00.001+02:002011-05-29T20:33:11.381+02:00Super Meat Boy PosterFound this awesome Super Meatboy poster!
eulogyhttp://www.blogger.com/profile/05603978726605635944noreply@blogger.com0tag:blogger.com,1999:blog-32911353.post-75782689930904205362010-12-22T12:25:00.003+01:002010-12-22T12:29:07.993+01:00Paper TexturesJust found this awesome list of paper textures:http://naldzgraphics.net/freebies/200-high-quality-free-paper-textures-to-grab/eulogyhttp://www.blogger.com/profile/05603978726605635944noreply@blogger.com0tag:blogger.com,1999:blog-32911353.post-30005274740555411562010-09-12T00:55:00.001+02:002010-09-12T00:57:37.594+02:00Working on my 2d bone editor...eulogyhttp://www.blogger.com/profile/05603978726605635944noreply@blogger.com0tag:blogger.com,1999:blog-32911353.post-70122963769374069072010-03-30T20:19:00.020+02:002010-04-09T22:59:51.729+02:00Useful UDK LinksFinding documentation is always a big hassle when you start a project. I've already found a lot of UDK documents and videos that I found useful, but I've ofc. forgotten where they were... so I've decided to add them here (I'll keep on adding as I find/remember good links).Tutorials @ 3DBuzzUDK Forum @ EpicnFringe Visual Studio Plugin (a must!)UDK Programming @ EpicHow to set up UDK @ the eulogyhttp://www.blogger.com/profile/05603978726605635944noreply@blogger.com2tag:blogger.com,1999:blog-32911353.post-68259323228735177712010-01-17T17:00:00.015+01:002010-01-17T19:13:23.516+01:00Random Cave GenerationI've been looking a bit into random level generation during the last week. In the search, I found a couple of articles that caught my attention:Cave Generation Through Fractal AccretionEmergent Urbanism - The complex gridThe problem with algorithms like these is that they easily can become too random. To prevent this I went for a slightly different approach with a higher degree of designer eulogyhttp://www.blogger.com/profile/05603978726605635944noreply@blogger.com0tag:blogger.com,1999:blog-32911353.post-28300861925589025292010-01-15T21:33:00.002+01:002010-01-15T21:38:37.470+01:00Awesome tilesI just found this page (Lost Garden) which has some awesome graphics available for indie projects :DImage from theeulogyhttp://www.blogger.com/profile/05603978726605635944noreply@blogger.com0tag:blogger.com,1999:blog-32911353.post-87713579016382426602010-01-08T13:10:00.002+01:002010-04-06T22:11:07.795+02:002D Fluid Physics GameplayAnother interesting use of physics by Strange Loop Games.eulogyhttp://www.blogger.com/profile/05603978726605635944noreply@blogger.com1tag:blogger.com,1999:blog-32911353.post-10264819581273929152010-01-04T17:49:00.004+01:002010-01-04T20:43:06.957+01:002D Game Engine TestHad a fresh start on the engine this vacation.Created using:XNAFarseer PhysicsFlatRedBallBitmap Font Generator(..and some debug GFX from Zelda)eulogyhttp://www.blogger.com/profile/05603978726605635944noreply@blogger.com0tag:blogger.com,1999:blog-32911353.post-1995497734705174742009-12-26T11:18:00.003+01:002010-01-08T13:10:04.369+01:00Shadow GameplayFound this while browsing around the other day.eulogyhttp://www.blogger.com/profile/05603978726605635944noreply@blogger.com2tag:blogger.com,1999:blog-32911353.post-85454332866185050092009-09-15T14:20:00.008+02:002009-09-15T14:23:04.676+02:0010 drugs you shouldn't use while drivingeulogyhttp://www.blogger.com/profile/05603978726605635944noreply@blogger.com0tag:blogger.com,1999:blog-32911353.post-36977189483723497532009-08-23T14:18:00.002+02:002009-08-23T14:22:40.203+02:00Static world objects and debug renderingAdded static objects to the level format (w/animated textures), and a debug rendering component to help debug the physics.eulogyhttp://www.blogger.com/profile/05603978726605635944noreply@blogger.com0tag:blogger.com,1999:blog-32911353.post-22959770426702819082009-08-20T13:17:00.000+02:002009-08-20T13:18:01.959+02:00Slight progressioneulogyhttp://www.blogger.com/profile/05603978726605635944noreply@blogger.com0tag:blogger.com,1999:blog-32911353.post-80068799760600092632009-08-17T23:01:00.003+02:002009-08-17T23:07:41.702+02:00Soulreaper ConsoleWhile looking for some sort of console for XNA games the other day, I came across Neoforce Controls. It's an awesome GUI package for XNA, in the alpha stages of development. I downloaded it, and made my own little console ;).I know.. not a very exciting screenshoteulogyhttp://www.blogger.com/profile/05603978726605635944noreply@blogger.com0tag:blogger.com,1999:blog-32911353.post-32148693852081971732009-08-04T14:14:00.003+02:002009-08-04T14:16:24.816+02:00Shii - The Wii for Womeneulogyhttp://www.blogger.com/profile/05603978726605635944noreply@blogger.com0tag:blogger.com,1999:blog-32911353.post-29196316959016988362009-08-02T13:22:00.001+02:002009-08-02T13:45:51.497+02:00Periodic Rings of BlingImage found here.eulogyhttp://www.blogger.com/profile/05603978726605635944noreply@blogger.com1