0% found this document useful (0 votes)
2 views

Visual Basic Game Programming with DirectX 1st Edition Jonathan S. Harbour download

The document provides information about various game programming books authored by Jonathan S. Harbour, including 'Visual Basic Game Programming with DirectX' and others. It includes links for instant digital downloads and details about the author's background and acknowledgments. Additionally, it contains legal information regarding software licensing and warranties related to the enclosed disc in the book.

Uploaded by

mrkevaton
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Visual Basic Game Programming with DirectX 1st Edition Jonathan S. Harbour download

The document provides information about various game programming books authored by Jonathan S. Harbour, including 'Visual Basic Game Programming with DirectX' and others. It includes links for instant digital downloads and details about the author's background and acknowledgments. Additionally, it contains legal information regarding software licensing and warranties related to the enclosed disc in the book.

Uploaded by

mrkevaton
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 53

Visual Basic Game Programming with DirectX 1st

Edition Jonathan S. Harbour pdf download

https://ebookname.com/product/visual-basic-game-programming-with-
directx-1st-edition-jonathan-s-harbour/

Get Instant Ebook Downloads – Browse at https://ebookname.com


Instant digital products (PDF, ePub, MOBI) available
Download now and explore formats that suit you...

Visual C Game Programming for Teens 1st Edition


Jonathan S. Harbour

https://ebookname.com/product/visual-c-game-programming-for-
teens-1st-edition-jonathan-s-harbour/

Beginning Game Programming 4th edition Edition Jonathan


S. Harbour

https://ebookname.com/product/beginning-game-programming-4th-
edition-edition-jonathan-s-harbour/

DarkBASIC Pro Game Programming Second Edition Jonathan


S. Harbour

https://ebookname.com/product/darkbasic-pro-game-programming-
second-edition-jonathan-s-harbour/

Home Workout Dk Publishing

https://ebookname.com/product/home-workout-dk-publishing/
Bifurcation Stenting 1st Edition Ron Waksman

https://ebookname.com/product/bifurcation-stenting-1st-edition-
ron-waksman/

Tales from the 7 000 Isles Filipino Folk Stories 1st


Edition Dianne De Las Casas

https://ebookname.com/product/tales-from-the-7-000-isles-
filipino-folk-stories-1st-edition-dianne-de-las-casas/

Imperial Politics and Symbolics in Ancient Japan The


Tenmu Dynasty 650 800 1 Edition Herman Ooms

https://ebookname.com/product/imperial-politics-and-symbolics-in-
ancient-japan-the-tenmu-dynasty-650-800-1-edition-herman-ooms/

Deaf Culture Exploring Deaf Communities in the United


States 2nd Edition Irene W. Leigh

https://ebookname.com/product/deaf-culture-exploring-deaf-
communities-in-the-united-states-2nd-edition-irene-w-leigh/

Chiral Amine Synthesis Methods Developments and


Applications 1st Edition Thomas C. Nugent

https://ebookname.com/product/chiral-amine-synthesis-methods-
developments-and-applications-1st-edition-thomas-c-nugent/
Poverty in the Roman World 1st Edition Margaret Atkins

https://ebookname.com/product/poverty-in-the-roman-world-1st-
edition-margaret-atkins/
Microsoft Visual Basic Game Programming
with DirectX
Jonathan S. Harbour

’ 2002 by Premier Press, Inc. All rights reserved. No part of this book may be reproduced
or transmitted in any form or by any means, electronic or mechanical, including
photocopying, recording, or by any information storage or retrieval system without written
permission from Premier Press, except for the inclusion of brief quotations in a review.

Premier Press is a registered trademark of Premier Press, Inc.


Publisher: Stacy L. Hiquet
Associate Marketing Manager: Heather Buzzingham
Managing Editor: Sandy Doell
Acquisitions Editors: Mitzi Foster, Emi Smith
Project Editor: Cathleen D. Snyder
Editorial Assistant: Margaret Bauer
Technical Reviewer: Joshua Smith
Copy Editor: Elizabeth Agostinelli
Interior Layout: Bill Hartman
Cover Design: Phil Velikan
Indexer: Sharon Shock
Proofreader: Jenny Davidson

ActiveX, Age of Empires, Asheron“s Call, DirectDraw, DirectMusic, DirectPlay,


DirectSound, DirectX, MechWarrior, Microsoft, MSDN, Visio, Visual Basic, Visual C++,
Visual C#, Visual InterDev, Visual J++, Visual Studio, Windows, Windows NT, Xbox,
and/or other Microsoft products referenced herein are either registered trademarks or
trademarks of Microsoft Corporation in the U.S. and/or other countries.
Important: Premier Press cannot provide software support. Please contact the
appropriate software manufacturer“s technical support line or Web site for assistance.

Premier Press and the author have attempted throughout this book to distinguish
proprietary trademarks from descriptive terms by following the capitalization style used by
the manufacturer.

Information contained in this book has been obtained by Premier Press from sources
believed to be reliable. However, because of the possibility of human or mechanical error
by our sources, Premier Press, or others, the Publisher does not guarantee the accuracy,

þÿu( PDF ˆýO\]å^à Šfu(rHg,^úzË PDF


http://www.fineprint.com
adequacy, or completeness of any information and is not responsible for any errors or
omissions or the results obtained from use of such information. Readers should be
particularly aware of the fact that the Internet is an ever-changing entity. Some facts may
have changed since this book went to press.

ISBN: 1-931841-25-X

Library of Congress Catalog Card Number: 2001096481

Printed in the United States of America

01 02 03 04 05 RI 10 9 8 7 6 5 4 3 2 1

For Kayleigh Rebecca


Acknowledgments
I would like to thank everyone who helped to make Visual Basic Game Programming with
DirectX a reality. First, I thank God for giving me the skill to take it on and the resolve to
complete the manuscript. Thanks to my family and friends for their support. Thank you,
Jennifer, for putting up with my mood swings during the past six months, with mounting
deadlines and source code that often just did not work like it was supposed to. Thank you,
Jeremiah and Kayleigh, for being a pleasant distraction and the joy of my life.
I owe a big thank you to everyone at Premier Press who helped to create this book. Jody
Kennen (who is now with New Riders) originally brought up the idea for this book and
asked me to think about writing it. Emi Smith has been simply wonderful at coordinating
everything, followed by Mitzi Foster, who helped acquire the screenshots and a lot of
other last-minute things. Cathleen Snyder was a terrific project editor; she did a great job
editing the final manuscript, which was very marked up, and is an extremely friendly
person. Thank you, Cathleen, for your patience and perseverance. Thanks go to Joshua
Smith, the technical editor, for doing a fine job at pointing out errors in the source code;
Elizabeth Agnostinelli, the copy editor, for correcting my spelling and grammatical errors;
and Arlie Hartman, the CD-ROM producer. Thanks to Bill Hartman and Mike Tanamachi,
who prepared the final layout and artwork.

I would like to thank two buddies of mine, Raul Aguilar and Chris Henson, who were in the
thick of it early on, providing suggestions and feedback. Thanks for meeting with me once
a week just to go over the early chapters and talk about how to develop the book. Many of
your comments helped to direct the content later on. Thanks to John Striker for helpful
feedback and for play-testing the sample games.

Thanks to Edgar Ibarra for contributing the 3-D artwork used in the book and for doing all
the graphics for Stellar War. The asteroids, ships, and black holes look great!

þÿu( PDF ˆýO\]å^à Šfu(rHg,^úzË PDF


http://www.fineprint.com
Thanks to Steve Fowler at Microsoft for providing some high-quality screenshots of HALO.
Speaking of which, you guys at Bungie are so awesome, it“s kind of freaky.

Thanks also go out to William White and the ”Circuit Scramblersé at Vera C. O“Leary
Junior High in Twin Falls, Idaho, for reviewing chapters of the book and providing helpful
input.

I owe a debt of gratitude to Andre LaMothe for his encouragement and suggestions for
this book, and for all of his previous books that helped to set the standard for others to
follow.
About the Author
Jonathan S. Harbour is the author of Pocket PC Game Programming, also by Premier
Press. He has been writing games for 14 years, having created his first game on a Tandy
1000 in 1988. He has worked on commercial games and has developed information
systems for cellular, aerospace, pharmeceutical, education, and medical research
companies. Jonathan is currently living in Phoenix, Arizona, working as a software
consultant. In his spare time, Jonathan enjoys writing Pocket PC games, reading science
fiction, and spending time with his wife and two children.
License Agreement/Notice of Limited Warranty

By opening the sealed disc container in this book, you agree to the following terms and
conditions. If, upon reading the following license agreement and notice of limited warranty,
you cannot agree to the terms and conditions set forth, return the unused book with
unopened disc to the place where you purchased it for a refund.
License:

The enclosed software is copyrighted by the copyright holder(s) indicated on the software
disc. You are licensed to copy the software onto a single computer for use by a single
user and to a backup disc. You may not reproduce, make copies, or distribute copies or
rent or lease the software in whole or in part, except with written permission of the
copyright holder(s). You may transfer the enclosed disc only together with this license,
and only if you destroy all other copies of the software and the transferee agrees to the
terms of the license. You may not decompile, reverse assemble, or reverse engineer the
software.
Notice of Limited Warranty:

The enclosed disc is warranted by Premier Press, Inc. to be free of physical defects in
materials and workmanship for a period of sixty (60) days from end user“s purchase of the
book/disc combination. During the sixty-day term of the limited warranty, Premier Press
will provide a replacement disc upon the return of a defective disc.

þÿu( PDF ˆýO\]å^à Šfu(rHg,^úzË PDF


http://www.fineprint.com
Limited Liability:

THE SOLE REMEDY FOR BREACH OF THIS LIMITED WARRANTY SHALL CONSIST
ENTIRELY OF REPLACEMENT OF THE DEFECTIVE DISC. IN NO EVENT SHALL
PREMIER PRESS OR THE AUTHORS BE LIABLE FOR ANY OTHER DAMAGES,
INCLUDING LOSS OR CORRUPTION OF DATA, CHANGES IN THE FUNCTIONAL
CHARACTERISTICS OF THE HARDWARE OR OPERATING SYSTEM, DELETERIOUS
INTERACTION WITH OTHER SOFTWARE, OR ANY OTHER SPECIAL, INCIDENTAL,
OR CONSEQUENTIAL DAMAGES THAT MAY ARISE, EVEN IF PREMIER AND/OR
THE AUTHORS HAVE PREVIOUSLY BEEN NOTIFIED THAT THE POSSIBILITY OF
SUCH DAMAGES EXISTS.
Disclaimer of Warranties:

PREMIER AND THE AUTHORS SPECIFICALLY DISCLAIM ANY AND ALL OTHER
WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING WARRANTIES OF
MERCHANTABILITY, SUITABILITY TO A PARTICULAR TASK OR PURPOSE, OR
FREEDOM FROM ERRORS. SOME STATES DO NOT ALLOW FOR EXCLUSION OF
IMPLIED WARRANTIES OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL
DAMAGES, SO THESE LIMITATIONS MIGHT NOT APPLY TO YOU.
Other:

This Agreement is governed by the laws of the State of Indiana without regard to choice
of law principles. The United Convention of Contracts for the International Sale of Goods
is specifically disclaimed. This Agreement constitutes the entire agreement between you
and Premier Press regarding use of the software.

” Game programming is without a doubt the most intellectually challenging field of


Computer Science in the world. However, we would be fooling ourselves if we said that
we are —serious“ people! Writing (and reading) a game programming book should be an
exciting adventure for both the author and the reader.é
ó Andre LaMothe,
Series Editor
Premier Press
www.premierpressbooks.com

Foreword
In this book, Jonathan Harbour presents a comprehensive overview of game
development using Visual Basic. One very important point he covers concerns Visual
Basic versus C++. After almost 20 years of software development, one of the things I can
attest to is that it“s not the language that makes or breaks the program, but the knowledge,

þÿu( PDF ˆýO\]å^à Šfu(rHg,^úzË PDF


http://www.fineprint.com
skill, creativity, and dedication of the programmers. While it may be next to impossible to
program a game like Quake Arena in COBOL, you will find that you usually have more
than one language to choose from when deciding how to program your game.
In 1983, I started working on a major project named Starquest. C was the programming
language of choice for many, and C++ was maybe two years old, but we chose a
language called FORTH. We believed that the raw programming power and flexibility of
that language would ultimately make it the best choice for programming then and in the
future. Sadly for FORTH, C and C++ continued to gain appeal, and FORTH all but
disappeared; some younger programmers these days haven“t even heard of it. But that
project, on which I worked with the four other people who comprised Binary Systems, was
a game we eventually renamed Starflight. It was published by Electronic Arts in 1986 and
has sold several hundred thousand copies on six different computer platforms.
I don“t want to tell you that back in my day we had to walk five miles to school in snow up
to our knees, but in terms of programming Starflight in the early —80s, that“s what it may
sound like. We undertook this venture in what you could call the early days of computer
game publishing. To put some perspective on this, think for a moment about how many
games Electronic Arts has producedó we were something like contract number five or
six!

Our BIG compiler machine was an IBM AT that had a whopping 10MB hard disk and a
CPU that we overclocked to get a blistering 12MHz processor speed. We used CGA
artifact mode to get 16 brilliant colors, and came up with laser blasts and explosion
sounds that could be played through
the PC speaker because there were no sound cards yet. The game was so huge when it
was completed that it shipped on not one, but two 360K floppy disks. I mention all this
because Starflight, with its primitive graphics and sound, still engenders fan mail from
people who tell us how much they loved the game and ask us where can they find a copy
that will run on their Pentium IV.
Starflight came together perhaps more ”organicallyé than you would see for games of its
magnitude that are produced today. I was in my last quarter of my Linguistics major in
San Diego when I started the project, and Greg Johnson was my roommate at the time.
He was intrigued by the project and started using an early computer graphics program on
an Atari 800 to draw the major characters of the game, just for fun. He joined the
company a couple of months after I did to help out with design work, and as his ideas
blossomed into major portions of the game, he took on the lead designer role. Bob
Gonsalves came on board to develop an interleaved disk I/O methodology that ended up
being scrapped because we changed platforms; he stayed on to develop all the
planet-side activity in the terrain vehicle and the combat sequences in space. Tim Lee
joined and brought with him a high-powered graphics idea he was working on that we

þÿu( PDF ˆýO\]å^à Šfu(rHg,^úzË PDF


http://www.fineprint.com
used for our planetary orbit animation and landing sequence; he also developed the
graphics primitives and the database that supported all the objects and events in the
game. I wrote the code for all the starport interaction, space travel and ship operations,
and all encounters which used a linguistically based expert system for alien
communications. Rod McConnell was the guy who kept the whole thing together; he even
took on a second job to help pay the meager salaries we drew so we could pay our rent.
What Starflight was when I started was not what it became by the time we launched the
product. It was always going to be ”the ultimate space adventure,é but it changed from an
open-ended game of exploration to a complex story with interwoven plots and twists. As
we joined the project, we each injected our own unique personalities into the game. Many
of the messages and artifacts a player finds on planet surfaces were put there because of
something significant in our lives. Everyone on the team created at least one artifact with
some special name. My own was the ”Red Herring,é an artifact that was 0.1 cubic meters
too large to fit inside the terrain vehicle, so a player could never pick it up! There was no
master plan detailing each and every task to be done. We had an idea of what the major
modules had to be and we added a lot of final design as we got into programming each of
the modules. Somehow when it was done, they all fit and worked together.
What I think is particularly important is that Starflight“s success transcends technology.
We certainly did things that no one had done before. There were 270 star systems and
811 planets in the gameó all unique and based upon fractal math. The filled-polygon
landing sequence was a great special effect. We compressed data every way we could
think of to make the whole thing fit onto those two diskettes. And of course, Electronic
Arts had a great marketing division that built anticipation and demand for the game. But
all those factors wouldn“t mean anything if the game didn“t have the rich personality we
gave it. What really made Starflight such a long-term success was the people who worked
at Binary Systems.

When you start programming your own games, remember that technology is only a part of
what you need. I don“t want to sound trite, but it“s true that no matter what cool special
effect you put into a game, someone will come up with something cooler. What makes a
game special, what makes it unique, is that you put part of yourself into it. So what are
you waiting for? Read this book and go write that game!

Alec Kercso

I never thought I would say this, but the time has finally come that Visual Basic is a valid
language to create high-speed 2-D and 3-D games!
Letter from the Series Editor

þÿu( PDF ˆýO\]å^à Šfu(rHg,^úzË PDF


http://www.fineprint.com
For all you VBers who have for years stood by Visual Basic and hoped and prayed that
one day you would be able to make high quality games with the language, the time is
finally here. Visual Basic has matured into a robust language and set of tools to create
object-oriented applications that rival the speed and complexity of C++. But it“s been a
long hard road. I think that the software engineering elite have always looked down upon
the words ”Visual Basic,é since BASIC is for beginners and hence Visual Basic must be a
toy. Well, as we both know, it“s not. VB is actually Microsoft“s flagship language, and a
huge amount of resources goes into the development of the language. Although I
personally think that if they had simply named it something else from Day One, history
would be different. But that“s electrons through the gate– .
Now is the time that you, Visual Basic, and Visual Basic Game Programming with DirectX
alone are enough to create just about any game you can think of on the PC. This book is
without a doubt one of my favorites. The reason why is because it is simply so well done.
Jonathan Harbour has really written a perfect book here. It“s like a movie where
everything happens just the way you want it; that“s how this book feels. I have read it and
read it again, and it“s just about as good as it can possibly get. You, the reader, are really
going to love this book; it has so much that it“s really amazing. Typically, books about
Visual Basic and Visual Basic game programming show you how to use the Windows GDI
and media services to make a Blackjack game or something. This book does no such
thing. Visual Basic Game Programming with DirectX is a serious book about creating
serious games for the PC using DirectX technology.

This book starts off showing you the basics of Visual Basic programming and how to
integrate graphics and sound using the standard VB components. Once you have that
under your belt, the book covers DirectX 7.0 and 8.0 and illustrates how to use every
single major DirectX componentó from DirectDraw, DirectSound, and DirectInput to
Direct3D. Along with the discussions are beautiful annotations and tons of demos.
Furthermore, the code in the book is some of the best I have seen; it“s clear, well
commented, and efficient. Jonathan really is a master of VB; he knows all the pitfalls of
game programming under this platform and hence guides you smoothly from topic to
topic without leaving out details or making assumptions.

After the initial coverage of DirectX, the game programming material ensues, and boy
does it! Artificial intelligence, basic physics, game theory, and more. The book even
covers multiplayer networked games with VB! That“s a first! The book concludes by
showing you how to create complete games, rounding out the theory with concrete
examples.
In conclusion, I can“t recommend this book highly enough. Even if you“re a C/C++ game
programmer, you should really read this book. It will open your eyes and might give you

þÿu( PDF ˆýO\]å^à Šfu(rHg,^úzË PDF


http://www.fineprint.com
some options to try things with VB. If you“re a VB programmer already, then this is the
book for which you have waited 10 years. Visual Basic Game Programming with DirectX
will without a doubt become a classic and a wonderful treasure for any game
programmer“s library. Heck, why not buy two!

Sincerely,

Andre LaMothe
Series Editor

Introduction
Welcome to Visual Basic Game Programming with DirectX. Like so many titles in the
Premier Press Game Development Series, this book tackles a subject that has never
before been covered in so much detail, providing you with tips, tricks, and techniques for
doing things that most would have disregarded. This is the first comprehensive book that
teaches you how to write complete games with Visual Basic and DirectX.

Welcome to the Adventure!

Make no mistakeó Visual Basic is an awesome language! Nearly half of the three- to
four-million programmers in the world are using Visual Basic on a daily basis. Most
programmers entered the field due to the influence of a game at one time or another. Not
everyone, of course. But of the millions of Visual Basic programmers in the world, a large
number of them do enjoy playing games, myself included.

The problem, as I see it, is that few game developers have considered Visual Basic a
serious game development language. For one reason or another, most Visual Basic
programmers themselves do not even believe that Visual Basic is suitable for game
programming. It“s a common belief that Visual Basic is just too slow to write a decent
game.

I believe the reason why Visual Basic is not taken seriously is because C++ is the
dominant language today in this field. Most of the printed books and online resources are
geared toward C++, leaving little room for other languages to get into the gaming action.
Visual Basic programmers just do not have the required information needed to get started
writing games with their favorite language.

It is my primary goal with this book to show you every trick and technique that I have
learned over the years for getting the absolute most out of Visual Basic. I will teach you

þÿu( PDF ˆýO\]å^à Šfu(rHg,^úzË PDF


http://www.fineprint.com
how to harness the tools necessary to write cutting-edge games with Visual Basic, using
the Windows API, DirectDraw, and the entire DirectX 8.0 API.
This book is most definitely not a comprehensive guide to DirectX. On the contrary, this is
a book dedicated to game programming with Visual Basic. DirectX is an integral part of
this book, without a doubt. But DirectX is not dissected in this book with the same amount
of tenacity that other books use to tackle the subject. I will teach you Visual Basic first and
foremost, followed by the Windows API, and then I will dig into the components of DirectX.
I cover the Windows API in the early chapters and even include two complete games
based on this functionality, as a means to properly demonstrate the code. Using functions
like BitBlt and LoadImage, I show you how to use double buffers and dirty rectangles
to achieve extremely high frame ratesó without DirectX. After I“ve shown you how to
create a complete game with the Windows API, I jump into DirectDraw and build a
complete sprite engine using DirectDraw surfaces. Finally, I make use of Direct3D to build
a more powerful sprite engine using D3DXSprite.

The coverage of DirectX includes the following components:


§ DirectX Graphics (DirectDraw and Direct3D)
§ DirectX Audio (DirectSound, DirectSound3D, and DirectMusic)
§ DirectInput
§ DirectPlay
In addition, I have dedicated three entire chapters to multiplayer programming. One
chapter covers the Windows Sockets API, another covers DirectPlay, and a third chapter
builds a complete client/server game called Stellar War.

Learning by Example

I wholeheartedly believe that the best way to learn is by example. Mastery of a subject
comes from practice, practice, practice! For that reason, this book is about 50 percent
theory and 50 percent exercise. There is a lot of source code presented in this book (the
projects on the CD-ROM include over 33,000 lines of code!), but I explain every function
in detail before it is used. I usually include code snippets throughout a chapter to explain
how something works.

After all, what is more excitingó talking about a 1968 Shelby Cobra or actually driving
one?

Here is how I cover most subjects:


1. Explain the subject in detail.
2. Demonstrate the subject with source code.

þÿu( PDF ˆýO\]å^à Šfu(rHg,^úzË PDF


http://www.fineprint.com
3. Develop a reusable class for the subject.
In particular, Part IV of the book is dedicated to the development of complete games that
demonstrate the topics covered in the book. The first three parts of the book do not
include any games, but rather include sample programs that demonstrate each subject
(such as DirectSound, artificial intelligence, multiplayer game programming, and game
design).

Target Audience

This book is not a beginner“s guide to programming games with Visual Basic. Ironically,
this book started out life as an absolute beginner“s book for game programming, but
ended up being much, much more. I wanted to help newcomers who love games learn
how to write their own games, and that is the emphasis throughout the book. I don“t jump
into any subjects that are too difficult to understand.

However, that is only the beginning. The first half of the book teaches the basic
mechanics of building a double buffered sprite engine, while the second half of the book
delves into numerous subjects that are more advanced (such as positional sound effects).
Overall, I believe that I have achieved the goal of making this book accessible to alló from
beginner to experienced developer. Because there were no other books on which to base
this work, I had to approach this project as a C++ programmer. As you will see throughout
the pages found herein, there are very few lines of pure Visual Basic code. Most of the
subjects and samples are based on modern game development techniques, not on
modern Visual Basic code for building applications.

The end result is a book that any beginner can use to learn how to write games with
Visual Basic. Advanced games! Cutting-edge games! I“m not talking about Tic-Tac-Toe
and Solitaire, but rather scrolling arcade games, space shooters, 3-D arcade games, and
strategy games. But be prepared for a roller-coaster ride in later chapters, because
there“s no turning back when it comes to the more advanced subjects.
This book teaches the right way to create games from the start. You will not find
comfortable point-and-click walk-throughs in these pages. I do not provide you with
drag-and-drop ActiveX controls. If you were hoping to register an ArcadeGame.ocx
control, drop it onto a form, and then call it a game, you will be in for a disappointment.
Most of the sample games just use the standard form that comes with a new project:
Form1. Any necessary controls are added to the program at run-time. That“s right: Most of
the time, you won“t even touch the form, not even to add a PictureBox!

Hopefully, this is not too much of a disappointment. After all, if you want to create the best
games possible, why not learn how to do it right? What I do give youó rather than an

þÿu( PDF ˆýO\]å^à Šfu(rHg,^úzË PDF


http://www.fineprint.com
ubiquitous ActiveX ”game controléó is hardcore treatment of the subject of game
programming, along with a no-holds-barred approach to the sample code listings found
herein.

I recommend that you read this book if you meet any of the following criteria:
§ You have never written a computer game in your life, but you want to learn how
to do it.
§ You are just starting out as a programmer, you know maybe one or two
programming languages, and you want to pick up Visual Basic.
§ You are a capable Visual Basic programmer who has already written many
applications, but you want to expand your skills to include multimedia
(games, graphics, sound, input, 3-D, and so on).
§ You are an accomplished game developer who is intrigued by Visual Basic and
you want to learn more about it.

Your Expectations

Since I have no way to tell exactly what topics you would like to learn about ahead of time,
my goal is to cover as much material as possible within a finite amount of space. Every
page is important, and every topic is crucial to the subject at hand. While I can“t please
everyone, it is my hope that every person who reads this book will learn something
valuable. Even if you know almost everything that I have covered, it is my hope that you
will find something new to enhance your game development efforts. There are enough
pages in this book that you are likely to learn something new even if you have been
writing games for many years.

My Expectations

My expectations while writing this book have been simple. I want to present you with
everything you need to develop games with Visual Basicó games that rival those
developed with other languages. I have set my sights on providing a complete solution for
writing extremely high-quality, professional games with Visual Basic. When you are
finished with this book, I expect you will need no other reference on the subject (until such
time as the technologies presented herein become obsolete, which is inevitable in the
game and computer industries).
My only expectation is that you keep an open mind, filled with creativity, and that you are
willing to learn. There is no black box or black art to game programming. It all just
amounts to a lot of hard work, self-learning, and good information. The cutting edge

þÿu( PDF ˆýO\]å^à Šfu(rHg,^úzË PDF


http://www.fineprint.com
becomes dull quickly in the gaming world, and the latest and greatest game engine soon
fades into obscurity. By keeping up with programming trends (such as the latest version
of DirectX), you ensure that the games you create are fun, even on the latest computer
hardware!

Just keep this in mind: Technology is not nearly as important as playability.

System Requirements

Most of the source code in this book will run on a mid-range computer, with the exception
of some of the Direct3D code. Low-end PCs have had some problems running the
sample games, such as Warbirds 1944 (a vertical-scrolling arcade game) and Pong 3D (a
game that runs entirely in 3-D). DirectX 8.0 requires that you have a 3-D accelerator card
to make use of most of the features provided by Direct3D, even when working on 2-D
games (using Direct3D sprites).

In general you will want the most powerful computer system you can get your hands on
for game development. But the code in this book is pretty forgiving of computer hardware
and will run on most systems without any trouble. However, just to be thorough, here are
my recommendations for the minimum system requirements:
§ Pentium II 500MHz
§ 128MB memory
§ 6GB hard drive
§ 16MB 3-D accelerator card (which supports DX8)
§ 19é monitor

Book Summary

This book is divided into five parts, as described in the following paragraphs.
Part I: Introducing Visual Basic and DirectX. Part I will teach you how to get started
programming Visual Basic, with an introduction to the language, an in-depth study of the
variable types, and how to get the most performance out of the language. I have included
benchmarks with several sample programs to demonstrate how one method is superior to
another, along with comparable Windows API routines that provide even more speed.
This Part is wrapped up with an introduction to DirectX, with two sample programs
showing how to harness DirectX in the Visual Basic environment.
Part II: The Nuts and Bolts of Game Development. Part II is where the most important
subjects are covered for programming games with Visual Basic. This Part begins with

þÿu( PDF ˆýO\]å^à Šfu(rHg,^úzË PDF


http://www.fineprint.com
coverage of bitmaps and sprites, and then delves into sound effects, music, and user
input using various DirectX libraries. By the end of Part II, the game library will be a
foundation for quickly building prototype games, with support for double buffering, dirty
rectangle animation, transparency, and numerous other topics that form the basis of most
games.
Part III: Hardcore Game Programming. Part III covers advanced game programming
topics that extend your code base and the game library with higher-level functionality that
is not focused so much on the actual code. This Part includes coverage of multiplayer
game programming with sockets, as well as DirectPlay. Artificial intelligence is also
explained, with coverage of game state, adaptive programming, and genetic algorithms,
as well as practical solutions for controlling sprites. DirectX Graphics is also discussed in
Part III, with detailed explanations and source code for handling 2-D sprites and 3-D
objects with Direct3D.
Part IV: Complete Game Projects. Part IV includes four complete games that are
created from scratch using all of the source code and techniques covered in the book,
including support for the feature-rich game library. The sample games are varied and
show off what can be done with Visual Basic, given the right tools. There are single-player,
multiplayer, 2-D, and 3-D sample games included, with detailed analyses of how they are
built, as well as the full source code for each game.
Part V Appendixes. Part V includes the appendixes, with a game library reference, a
DirectX reference, a list of DirectInput scan codes, interesting Web sites, and
recommended reading.

Summary

Visual Basic is a fascinating language, and DirectX is a fascinating game development


library. By combining the two you can create wonderful games that no one has thought of
before! This book will help you get the most out of each by combining them into a
seamless game programming paradigm that will give you and others great enjoyment for
years to come.

þÿu( PDF ˆýO\]å^à Šfu(rHg,^úzË PDF


http://www.fineprint.com
Part I: Introducing Visual Basic and DirectX

Part I includes the following chapters:

Chapter 1: Game Programming Basics


Chapter 2: Getting Started with Visual Basic
Chapter 3: Visual Basic Programming in a Nutshell
Chapter 4: Getting to Know the Windows API
Chapter 5: Optimizing Visual Basic with Objects
Chapter 6: Supercharging Visual Basic with DirectX

Part Overview

Welcome to Part I of Visual Basic Game Programming with DirectX. Part I includes six
chapters that introduce you to Visual Basic and DirectX programming. It begins with an
overview of the basic capabilities of Visual Basic for game programming, and then
proceeds to explain how to get up to speed in a short amount of time with the use of
sample code and illustrations.

In this part, you will learn some of the advanced features available by tapping into the
core functionality of the Windows API, as well as how to optimize Visual Basic to get the
most performance out of the languageó an essential requirement for game programming.
Part I includes an introduction to DirectX, explaining each of the DirectX components and
how they can be used by Visual Basic to create more advanced games, and includes a
sample DirectX program.

By the time you are finished with Part I, you will have a solid understanding of the Visual
Basic language, how to optimize Visual Basic for speed, how to tap into advanced
Windows API functions, and how to initialize DirectX to gain full-screen exclusive access
using DirectDraw.

Chapter 1: Game Programming Basics


This chapter introduces the basics of game programming by exploring the subject from
several viewpoints and taking you on a short jaunt through the history of the game
industry. Then, I will explain the relationship between Visual Basic and DirectX, and how

þÿu( PDF ˆýO\]å^à Šfu(rHg,^úzË PDF


http://www.fineprint.com
you can use them to write your own high-performance games. Finally, the chapter
explains how the Visual Basic Game Library (which is developed in later chapters) will
make game programming simple and fun.

Welcome!

Welcome to the fascinating world of Visual Basic Game Programming with DirectX! Game
programming is a rewarding career, an enjoyable hobby, and an entertaining pastime for
many people. The primary goal of this chapter is to introduce the subject of game
programming and provide you with a little insight into what this book is about. As your
host, I will take you through the first chapter of the adventure that will challenge your
assumptions about Visual Basic and teach you how to write exciting, high-quality games.

Visual Basic Games

Visual Basic is a truly awesome programming language that is fully capable of supporting
game development. Visual Basic has proven itself as a multi-purpose language that
millions of programmers worldwide use on a daily basis. What many people overlook,
however, is that Visual Basic is also a capable language for writing cutting-edge games.
Visual Basic is far too often dismissed as a serious language for game programming, but
this assumption comes from lack of experience and lack of in-depth knowledge of the
language. In my experience, poor performance in Visual Basic programs comes primarily
from poorly written code! For this reason, I have dedicated two chapters to the subject of
optimization: Chapter 4, ”Getting to Know the Windows APIé and Chapter 5, ”Optimizing
Visual Basic with Objects.é I want to convince you that Visual Basic is an awesome
language that is great for writing games! I will prove this to you using sound arguments,
as well as actual benchmarks that compare different methods of drawing figures and
bitmap images.

A Glimpse at DirectX

This book is heavily involved with DirectX programming from the start. In fact, as the title
suggests, DirectX will be the core of most of the code in the book. I will touch upon the
subject in this chapter and the next few chapters, and you will have an opportunity to write
your first DirectX program in Chapter 6, ”Supercharging Visual Basic with DirectX.é

Since DirectX is the backbone of this book, I will show you how to get the most out of it
using Visual Basic. But first things first! Before jumping into full-blown DirectX

þÿu( PDF ˆýO\]å^à Šfu(rHg,^úzË PDF


http://www.fineprint.com
programming, I will start at the beginning and teach you some graphics programming with
Visual Basic, followed by more advanced features in the Windows API. There are a few
things you need to learn before you jump into DirectX.
I will start with intrinsic Visual Basic graphics code, and then add some punch with some
really awesome Windows API functions that allow you to get under the hood, so to speak.
After you have learned everything you need to know to write a complete game without
DirectX, I will then show you how to do the same thing with DirectX.

I like to compare it to taking a walk to the park. There is so much to see, so many sounds,
faces, nature, and landmarks to enjoy. When you jump into a car and drive to the park, it
is fast and comfortable, but you miss something along the way. Likewise, there is a
certain amount of enjoyment to be had from manipulating pixels on the screen without
any help from a library like DirectX. Besides, software evolves quickly, so it is a good idea
to understand how things work behind the scenes.

Game Programming Topics

If you are reading this as a complete novice who has never written a game before, you
will not have any problem with DirectX programming. This book starts at the very
beginning!
Visual Basic Game Programming with DirectX is the book on game programming with
Visual Basic, covering not only the basics (such as drawing sprites with Windows API
functions), but also the advanced subjects (like DirectDraw and Direct3D). DirectX is used
almost exclusively by professional game developers today, because it has the complete
support of the hardware industry (the companies that make sound cards and video cards,
for instance). DirectX is fully supported in Visual Basic. This book makes the most of it,
and you should have no problem developing full-blown DirectX games in a short time.

What is a Video Game?

Okay, here“s a simple question: What is a computer game?

A computer game or video game is a program written in a programming language, such


as C++ or Visual Basic, that allows a player to interact with and respond to events in an
imaginary world. The goal of a video game is usually to compete with other players in a
cooperative or adversarial competition (or to play solo), with an emphasis on setting the
high score or completing the game.

þÿu( PDF ˆýO\]å^à Šfu(rHg,^úzË PDF


http://www.fineprint.com
Why Do We Play Video Games?

Video games are fun because they are very good at simulating another world and
drawing the player into that world. Video games are excellent for developing keen
hand-eye coordination and problem-solving skills through the achievement of goals with
specific rewards. Often the completion of the game alone is reward enough, but many
games do not have a specific solution. Rather, some games are suited for pitting two or
more friends against each other, either at the same time or in turn. Other games are
pointless and endless and continue playing in a never-ending loop, while continually
increasing the difficulty until the player can no longer play.

Competition is not a bad thing. On the contrary, competition helps people to develop the
skills they need to work with others and strive to better themselves.
Video games are fascinating works of art (yes, art!) that reflect the wild imaginings of a
game designer. As such, game designers are like painters with a virtual canvas, capable
of transporting someone to another world. The most exciting games are those with
endless replay value, since consumers have made it clear that no amount of graphical
wizardry can make up for mediocre gameplay. Once a game has achieved a minimum
acceptable standard on the visual and audio level, players expect the game to entertain
through a gripping story or fantastic goal. Once in a while, a rare game comes along that
achieves both visual wizardry and fantastic gameplay. HALO: Combat Evolved is one
such game, developed by Bungie for the Microsoft Xbox. The physics and environment
are so realistic that it makes the game seem to come alive.
Tip Video games are excellent for developing keen hand-eye
coordination and problem-solving skills through the achievement of
goals with specific rewards.

The Game Engine

Every game, from the simplest card game to the most complicated 3-D first-person
shooter game, has what is called a game engine. The game engine, shown in Figure 1.1,
is the core set of routines that are executed repeatedly in a main animation loop. Such
routines include displaying images on the screen, playing sound effects, and handling
user input.

þÿu( PDF ˆýO\]å^à Šfu(rHg,^úzË PDF


http://www.fineprint.com
Figure 1.1: Games are made up of source code that is best organized in a game library (or
game engine).

Of course, this is a simplified definition, as a large percentage of games (and the engines
that power them) are written completely from scratch.
The best-developed games showcase the game engine, which is of more interest than
the game itself. Games such as Quake III Arena and Unreal Tournament feature an
engine that is licensed to other game developers who may not have the time, willingness,
or ability to develop a comparable game engine on their own. Licensing a game engine is
an excellent way to allow a game designer to focus on the aspects of gameplay and story,
rather than spending that valuable time developing the technology for the game. Figure
1.2 illustrates the concept of licensing the game engine from one game to another.

Figure 1.2: The Quake III engine powers numerous games, including Voyager Elite Force.

Another reason why a development team might license software technology rather than
develop it is the amount of time involved in creating an advanced 3-D engine. Most
games are developed quickly, compared to the time involved in creating the engine itself.
For this reason, a development company is usually able to recoup some of the costs for
development by licensing the technology to others. It is a win-win situation for many.
Note The game engine is the core set of routines that are executed
repeatedly in the main loop, including displaying images on the
screen, playing sound effects, and handling user input.

þÿu( PDF ˆýO\]å^à Šfu(rHg,^úzË PDF


http://www.fineprint.com
Game Graphics

In the old days, all games used two-dimensional images called sprites. The source image
for a sprite usually has a background color that is defined as the transparent coloró a
pixel color that is not displayed when the sprite is drawn on the screen, allowing anything
in the background to show through.

Most games developed today run entirely in 3-D and feature three-dimensional objects
throughout the game world, rather than simple sprites. Both PC and console games have
made the transition to 3-D, although consoles seem to be a step behind PC graphics
technology. This was not the case in past generations of console video games. In the
past, most consoles set the standards for graphics and immersion. Now it seems that
console manufacturers are building video game machines that are more like PCs, with
multiplayer options.
The Microsoft Xbox console is a prime example of this manufacturing. Featuring a
high-end Pentium III CPU (Central Processing Unit), a custom Nvidia GPU (Graphics
Processing Unit) that is based on the GeForce 3 chip, and a 256-channel DSP (Digital
Signal Processor), this console is bristling with PC technology. Xbox will forever change
the console industry by combining the best of both worlds into a single $299 unit. Figure
1.3 illustrates the three primary processors in a computer system and the functions they
perform in a game.

þÿu( PDF ˆýO\]å^à Šfu(rHg,^úzË PDF


http://www.fineprint.com
Figure 1.3: The CPU, GPU, and DSP chips handle most of the functionality in a game.

This book uses several techniques to display graphics on the screen. Starting with
intrinsic Visual Basic graphics functions, you will be introduced to Windows API functions
that display graphics objects. You will dig into DirectDraw through the DirectX 7.0 library,
followed by DirectX Graphics with the DirectX 8.0 library. However, as I have mentioned
before, I will show you how to write graphics code the hard way before you jump into
DirectX full speed.
Buzzword A sprite is a small image that may or may not be animated,
with properties that define how it will move around on the
screen.

Sound Effects and Music

Sound is quite often more important than the graphics in a game. It is clear that we
humans interact primarily through speech and sound. It should, therefore, be no surprise
that sound is a vital part of every game. A game without sound might be acceptable on a
fancy cell phone or wristwatch, but on any serious game hardware, sound is a major
factor.

The development of a good sound effects library will be helpful when you select the
sound effects for a new game. However, equally important is the source code that will
play the sound files.

Getting Input

User input is always needed, no matter what type of game you are writing. After all, a
game without user input is nothing more than a technology demo!
Visual Basic is capable of handling just about any type of input device that you can plug
into your PC, including the newer USB (Universal Serial Bus) force-feedback joysticks
and driving wheels. These topics will be explored in depth with coverage of DirectInput,
the component of DirectX that handles input devices.
Buzzword USB is a new type of high-speed communications port that is
gradually replacing aging interfaces like serial ports, parallel
ports, and joystick ports. IEEE 1394, or FireWire, is another
high-speed port that is competing with USB and is capable of
higher data transmission rates.

þÿu( PDF ˆýO\]å^à Šfu(rHg,^úzË PDF


http://www.fineprint.com
Artificial Intelligence

Computer-controlled players are needed for most types of games, and are absolutely
essential for single-player games. Some multiplayer games, such as FPS (First-Person
Shooter) games, do not always have computer-controlled players, and thus do not need
AI (Artificial Intelligence) code. But the vast majority of games doó especially strategy
gamesó so it is important to learn the tricks and techniques for simulating intelligence and
challenging the player with competitive computer players. Some games use self-running
mini programs called bots for the computer players. These bots are often programmable
plug-ins for the game, which allows fans to develop their own AI players. Chapter 21,
”Stellar War: Multiplayer Space Combat Game,é includes a bot program that you can
modify and run on the Stellar War server while playing the game.

Supporting Multiple Players

Nearly every game written today has multiplayer features that allow two or more players
to compete or work cooperatively in the game. Most games also allow you to run your
own game server on your PC and invite your friends to join your game over the Net. Since
this is such a basic aspect of games today, it is important that you learn how to write
multiplayer code and support networking in your own games. There is still a strong market
for single-player games (such as the phenomenal game, Civilization III), but that market is
dwindling as players flock to massively-multiplayer games like Operation Flashpoint.
One sub-genre is called MMORPG, which is short for ”massively-multiplayer online
role-playing game.é These types of games were once only theoretical, until Ultima Online,
EverQuest, and other large-scale games built an industry for themselves. These games
usually require a monthly fee for access, because the developers are constantly
improving and expanding the game and adding new worlds for the players to explore.
The online network created for Blizzard“s games is called Battle.net, and is one of the
most successful online game services in the industryó while remaining free for anyone
who buys one of the supported games. Battle.net was created for the original Diablo and
has been expanded to support all of Blizzard“s games since, including StarCraft, Diablo II,
and WarCraft III.

Rewriting Your Favorite Game

Since technology is such a large focus of game development today, with numerous game
libraries and game engines available, it can be a bit overwhelming for someone who is

þÿu( PDF ˆýO\]å^à Šfu(rHg,^úzË PDF


http://www.fineprint.com
trying to get his foot in the door. You probably have a favorite game and would like to
recreate it with your own embellishments. That is exactly how I got started writing games!
I was an avid fan of sci-fi games like space shoot-em-ups and space exploration games
(before Master of Orion re-defined the genre), and I wanted to create my own Star Trek
game that incorporated all of the best features of the best games.

Perfecting an Already-Perfect Game

Two of my all-time favorite games are Starflight and Star Control. These two games
fascinated me more than any other. I loved the open-ended nature of Starflight, and I also
loved the intense gaming action of Star Control. The sequels to these games were even
better! Starflight II and Star Control II were filled with plenty of creativity and replay value.
Today, the galactic conquest genre has dominated sci-fi games, due to modern gaming
advancements like multiplayer Internet support and the popularity of RTS (Real-Time
Strategy) games. Now there are massive games like Master of Orion II and Imperium
Galactica II that have yet to be bested in the genre. But those two originals were more like
adventure games, rather than galactic conquest games, with a personal element that
drew players into the game.

Building Your Ultimate Game

Whatever your interest, it is a good idea to have a major game idea in the back of your
mind as you read through this book. If you already have a favorite type of game that you
would like to write, that“s great! If you are starting out without a prototype game of your
own design, you should try to come up with one soon. Having a game idea in your mind
as you read this book will make the subjects and source code covered look like bright
spots in your mind“s eye, as you learn how to implement each part of your game.
Numerous sample games in later chapters will give you the examples you need to write
your own game.

None of that will be of much use unless you have a side project, a hobby of sorts, a vision
of that game you have always dreamed of writing. The important thing will not be whether
the game lives up to your stratospheric expectations; the only thing that matters is that
you finish writing the game.

The games in this book come from my own imagination, which is largely influenced by
factors in my life, such as the books I read and the movies I watch. The sample games
were inspired by my experience as a gamer, so I“m pretty sure that these games are fun.

þÿu( PDF ˆýO\]å^à Šfu(rHg,^úzË PDF


http://www.fineprint.com
However, you might disagree, since everyone has different opinions and assumptions.
For this reason, having your own game project in mind will be very helpful.
Note Starflight III is in the works, with support from the authors of the
original game. Take a look at http://www.starflight3.net for more
information.

Making Your Game Ideas into Reality

You must apply the technology in this book to make your ideas a reality. The technology
aloneó such as the game library developed in this bookó is not sufficient to create a
game. Anyone, even RPG II and Cobol database programmers, can write a game. (I
should know, since I have worked on large corporate databases.)

The difference between a run-of-the-mill card game and a new genre buster is an
ephemeral quality which comes from the magical part of your mind that is capable of
leaping beyond facts and working intuitively. Grasp that part of your inner being and you
will build something masterful.

What Makes a Game Tick?

You might be wondering, what exactly makes a game tick? What is inside a game that
makes it run, display the graphics, play the sounds, and interact with the player? It is
difficult to answer those questions without a basic understanding of game architecture.

While you may or may not understand these steps at this point, I would like to show you
how a game runs. Here are the basic steps that are processed during the run of a typical
game:
1. Display the title screen.
2. Load the sprites and sounds.
3. Create a double buffer.
4. Display a static or rendered background image.
5. Save the image under each sprite.
6. Erase all sprites from the double buffer.
7. Check for user input and update the player“s position.
8. Process enemy positions using A.I.
9. Move each sprite to the new location.
10. Check for collisions between the sprites.
11. Increment the animation frame for each sprite.

þÿu( PDF ˆýO\]å^à Šfu(rHg,^úzË PDF


http://www.fineprint.com
12. Draw all sprites to the double buffer.
13. Quickly transfer the double buffer to the screen.
14. Loop back to Step 5.
15. Delete all game objects and free memory.
16. End the game.

Although the details of each step are not displayed, this is a pretty good list of activities
that occur while a game is running. Since I don“t want to get into the habit of listing
pseudo-code (which I have always felt was redundant), I will just explain what each step
does.

Steps 1 through 4 are handled when the game first starts running. They initialize the
game by loading all of the graphics, sounds, and setup of the game screen.
Steps 5 through 14 make up the game loop and are executed repeatedly while the game
is running. These steps must run in order to display each frame in the game. Therefore,
when you hear that some games run at 60 FPS (Frames Per Second), you must realize
that a lot of work is being done during each frame. Too often, gamers will compare two or
more games based solely on the frame rate. This is unfortunate, because some games
do a lot more behind the scenes than others! Some games have far more intelligent
computer players, while other games might run at twice the frame rate but have poor
computer players.

Steps 15 and 16 are executed at the end of the game.

There are many more steps in an actual game, but this simplified list should give you a
good idea how a game runs internally. The goal of a game library is to make these steps
as simple as possible by handling the complicated details behind the scenes.

Video Games Versus Computer Games

The IBM PC was never meant to be a game machine, so I“m sure no one would disagree
with the irony that today, most computer games run on descendants of the original IBM
PC. In comparison to computer technology today, the original IBM PC and its clones were
ridiculously primitive. It was only through sheer ingenious wizardry (with a dash of
highly-optimized assembly language) that games were ever created for the PC at all.
While my friends were blasting aliens (with multi-channel digital sound and loads of color)
on their Atari ST and Amiga 500 computers, I was pecking away at my PC, trying to make
sense of the four colors available with my CGA video card and finding new ways to
squeak something out of the PC speaker. So it is a wonder that the PC made it at all!

þÿu( PDF ˆýO\]å^à Šfu(rHg,^úzË PDF


http://www.fineprint.com
Look at computers todayó they are mind-boggling in complexity and power. It is
absolutely amazing to think that a modern PC with a GeForce 3 card can crank out
graphics in real-time that rival the digital artistry of feature films like Jurassic Park and The
Phantom Menace.

How It All Started

The current generation of gamers, those who got into it in more recent times and have
computers that come standard with 3-D graphics acceleration and 3-D positional sound,
do not appreciate the old days with the same nostalgia that older gamers feel for games
such as Starflight, Battlehawks 1942, Star Control, Archon, King s Quest, Power Monger,
and Lode Runner. It is easy to take computer hardware for granted today, when it is so
powerful and inexpensive!

For example, the original IBM PC came with 64k of RAM and one 360k floppy drive. The
next version, the IBM PC/XT, had the option for a 5MB Winchester hard drive for several
hundred dollars. Now, let“s put this into perspective. The Intel Pentium III processor has a
built-in instruction cache of 256k that keeps the processor from waiting for data to be
loaded from memory (which is much slower than the processor). This cache is made up
of more transistors than the entire 8086 processor at the core of the original IBM PC.

In the early days, before the Adlib or Sound Blaster cards, the IBM PC had only a simple
internal speaker for making sounds. Early PC games had dreadful sound support, to put it
mildly. Gamers were lucky to find a game with even rudimentary sound effects, and most
commercial games (which were presumably cutting-edge) were even lacking.
In 1988, Access Software released an amazing game called Mean Streets. This futuristic
action/adventure game featured standard VGA graphics (common in all PC games at the
time). But what really made Mean Streets shine was the full-blown digital music and
sound that permeated the game! Right from the start, the musical score for Mean Streets
gave the player a taste of what to expect throughout the game. Each character in the
game featured a real voice actor and limited video-capture sequences.
Access Software followed suit with Crime Wave and several follow-up games in the
series. A few years after the release of Mean Streets and Crime Wave, sound cards like
the Sound Blaster and Pro Audio Spectrum appeared on the market, and high-quality
sound was finally possible on the PC.

þÿu( PDF ˆýO\]å^à Šfu(rHg,^úzË PDF


http://www.fineprint.com
Random documents with unrelated
content Scribd suggests to you:
The Project Gutenberg eBook of Klagen eines
Knaben
This ebook is for the use of anyone anywhere in the United States
and most other parts of the world at no cost and with almost no
restrictions whatsoever. You may copy it, give it away or re-use it
under the terms of the Project Gutenberg License included with this
ebook or online at www.gutenberg.org. If you are not located in the
United States, you will have to check the laws of the country where
you are located before using this eBook.

Title: Klagen eines Knaben

Author: Carl Ehrenstein

Release date: July 13, 2012 [eBook #40222]


Most recently updated: October 23, 2024

Language: German

Credits: Produced by Jens Sadowski

*** START OF THE PROJECT GUTENBERG EBOOK KLAGEN EINES


KNABEN ***
KLAG EN
EIN ES KN AB EN
VON

CARL EHRENSTEIN

LEIPZIG
KURT WOLFF VERLAG
1916
Sechster Band der Bücherei
» D e r j ü n g s t e Ta g « .
Zweite Auflage

COPYRIGHT 1916 BY KURT WOLFF VERLAG • LEIPZIG


GEDRUCKT BEI E. HABERLAND IN LEIPZIG-R.
MEINEM BRUDER ALBERT
U nd hundert Jahre nach dem Tode dessen, der kein Erlöser war,
kam ich in den Körper eines anderen Menschen. Der Träger
meines Körpers wurde Caj Rolo genannt. Er war in Sklaverei zur
Sklaverei geboren. Von Geburt an bis zum Tode kannte er nur
Heulen und Zähneklappern. Mutter schlug ihn, Vater auch. Aufseher
stieß ihn. Kinder warfen ihn her und hin. Hunde bissen ihn, und
traurig fragte er sich immer: „Warum?“ Als er so groß wie ein Spaten
war, mußte er einem solchen dienen. Bevor noch Sonne schien, und
lange nachdem sie erloschen war, ununterbrochen, hindurch den
langen Zeitraum eines Tages und einer halben Nacht, mußte er das
Werkzeug bedienen. Und oft schlug ihn da der Spaten auch. Einst,
als er wieder von allen geschlagen war, weinte der Knabe und
dachte zu sich: „Soll ich Armer denn zeit meines Lebens, da ich in
Sklaverei geboren wurde, Sklave sein, gekränkt werden von
Menschen, Tieren, Dingen? Soll nie Sonne mich ruhend sehen, nie
Freuden und Mädchen mich freuen? Soll ich ewig arbeiten und nie
leben? Kann ich das Leben nicht finden, so will ich den Tod suchen!“
Der Knabe ging aber aus, das Leben zu finden, — nicht den Tod zu
suchen, doch kam er an ein weites Wasser, und da setzte er über —
das Leben . . .
Ich flog über das Wasser. Lange schwebte ich mit Vögeln in der
Luft, bis ich mich hinabließ, in dem Körper eines befruchteten
Weibes zu landen. Menschen kamen und töteten im Namen dessen,
dessen Namen sie geraubt, und dessen Worte: „Füget eurem
Nächsten nicht Übles zu!“ sie nicht erhört hatten, das Weib . . . Ich
entging der Frucht und flog in ein fernes Meer zum Lande der
schwarzen Menschen. Dort fand ich Leute vor, die sich Missionäre
der großen Seele nannten, die aber Missionäre nur des eigenen
Leibes waren. Sie verwirrten die Seelen der Eingeborenen,
verwüsteten ihre Körper und Länder. Ich war in den Körper eines
Negers gekommen. Chwala nannte ihn die Mutter, als sie ihn sah. Sie
liebte ihn und tat ihm Gutes.
Kamen die Weißen zu dieser Familie. Den Vater vergifteten sie mit
heißem Wasser, der Mutter zerschmetterten sie den Kopf mit einem
eisernen Kreuz, die Schwestern fesselten sie und nahmen sie in ihre
Häuser, und Chwala und seinen jungen Brüdern zerschnitten sie die
Sehnen im Knie und warfen sie in die Bergwerke zur Arbeit. In
dauernder Nacht, unter der Erde, mußte Chwala graben. Faules
Wasser bekam er zu trinken, faule Überbleibsel zu essen. Manchmal,
wenn die Aufseher besonders stark mit dem heißen Wasser gefüllt
waren, bekam er nichts als Faustschläge. Seine Wunden im Knie
eiterten. Eiter fraß Fleisch und Knochen. Der Körper war aber stark
und starb nicht. Ein Aufseher war über Chwala sehr erbost. In einer
Nacht verlangte er von ihm, er möge ihm die Füße küssen. Chwala
stand auf und stolperte. Da schlug ihn der Aufseher mit dem
Eisenknauf seiner Peitsche auf die Schläfe, in das Hirn hinein.
Chwala fiel hin, und der Tod kam zu ihm . . . Wieder flog ich auf, flog
über weites, weites Wasser und kam zu einem noch nicht von
Weißen bedreckten Lande. Ich kam zu einem hohen Volke. Sie
liebten die Sonne und den Frieden. Putamajo hieß meine Trägerin.
Und wieder kamen jene, die sich Diener nennen und machten sich
das Volk zum Diener. Raubend vernichteten sie Volk und Land. Mit
Putamajos Körper belustigten sie sich, bis er verging . . . Ich fliege
weiter, komme an jemandem vorbei. Blut quillt ihm aus den Seiten,
Tränen aus den Augen, und ob der Schmerzen seiner Seele weint er
und sagt: „Ich habe noch umsonst gelebt und gelitten.“ Ich aber
höre das Wort: noch — und nehme es mit mir im Fluge . . . Ich
fliege. Weit? Ich will nicht mehr wandern, will ruhen. Wird einer
müden Seele bald eine weiße Taube von einer emporgekommenen
Erde berichten? Ist noch immer schlechtes Wasser über der Erde?
Schreit niemand: „Land! Land!“? Ich will nicht mehr wandern, will
ruhen.
*
An einem Teiche ging ich vorbei, in dem schwammen Enten und
quakten. Sie schienen mit dieser ihrer Beschäftigung zufrieden zu
sein, denn ihr Quaken klang gesättigt. Manchmal kam jemand,
tötete eine Ente und aß sie, und die Ente schwamm nicht mehr und
ließ auch das Quaken sein, und schien auch mit ihrer jetzigen
Beschäftigungslosigkeit zufrieden zu sein, denn ihr Nichtquaken kam
aus sattem Magen und klang mir gesättigt . . .
Ein Land ging ich entlang, in dem waren Menschen und quakten.
Sie schienen mit dieser ihrer Beschäftigung zufrieden zu sein, denn
ihr Quaken kam aus vollem Magen und klang gesättigt. Manchmal
kam jemand, ein Tod, tötete einen Menschen und aß ihn. Der
Mensch ließ dann das Quaken sein und war auch damit zufrieden,
denn sein Quaken der Ruhe klang mir gesättigt . . .
Heute werde ich an den Teich gehen und die Enten fragen, warum
sie schwimmen, quaken und zufrieden sind. Heute werde ich in das
Land gehen und die Menschen fragen, warum sie sind, quaken und
zufrieden sind. Heute werde ich zum Tod gehen und ihn fragen,
warum er ist, Dinge tötet, sie ißt und dann zufrieden rülpst. Heute
werde ich den Schreiber dieser Worte fragen, warum er lebt, quakt
und unzufrieden ist . . .
Und sie alle werden mir sagen: „Wir quaken, weil wir quaken. Wir
sind, weil wir sind. Wir quaken, solange wir sind, sind wir nicht mehr,
so lassen wir es sein. Zufrieden oder unzufrieden quaken wir, sind
wir, weil es uns so gefällt und gut dünkt. Qua, qua . . .“ . . .
*
Mich schmerzt mein Kopf, mein Körper ist müde, ich möchte mich
auf den Boden fallen lassen und aufhören, mich aufrecht zu
erhalten. Doch ich darf es nicht, der Lehrer scheint mit mir sprechen
zu wollen, ich muß „Aufmerken“ markieren, und deshalb nicke ich
des Öfteren mit dem Kopf und lächle, als wäre das, wovon der
Lehrer spricht, mir sehr einleuchtend und als würde ich ihm großes
Interesse entgegenbringen. Gut ist es, daß ich dabei nicht direkt auf
den Lehrer schaue, die Leere und Starre meiner Augen müßte dem
Lehrer sagen, daß mein Lächeln eine Lüge ist. Doch weiß ich, im
Notfalle könnte ich auch meine Augen aus ihrer Starre reißen, mit
ihnen lächeln, mit ihnen lügen. Es scheint, der Lehrer will es, er
spricht mich an. Ich muß seine Worte erst in meinem Hirn
aufnehmen, denn sinnlose Laute hört bisher nur mein Ohr. Es ist mir
endlich geglückt, und schon sagt mir mein hilfreicher Nachbar, was
der Lehrer zu hören wünscht. Gut, daß der Lehrer schon von mir
abläßt, sonst hätte ich ihn noch gefragt — was die ganze Zeit mich
schon bedrückt — wozu das alles ist, wozu ich im Trauerspiel
„Schule“, dessen Dauer ohne erlösendes Ende zu sein scheint,
mitspielen muß, weshalb das Stück überhaupt aufgeführt wird, und
warum es durch so viele tote Saisons geschleppt wird. Doch ich
weiß, nie werde ich den Lehrer fragen, denn aufschreiend würde ich
ihm auf seine Lügenantwort antworten: „Non vitae, sed scholae
discimus!!!“ Er würde das aber nicht verstehen, wie auch, wenn ich
ihm sagen würde, daß die Schule und das Leben, beides, Lügen
sind. Unverständig würde mein Verstand seinem Unverstand
scheinen, deshalb unterlasse ich alles Sprechen und lebe weiter in
der Schule, wie ich im Leben weiterleben werde, eben weil ich noch
nicht tot bin.
*
Er war Repetent. Ich hatte Nachprüfung gehabt. Wir gefielen
einander und wurden Freunde. Gegenseitig schrieben wir die
Schularbeiten von einander ab, machten uns auf Fehler aufmerksam.
Doch bei der lateinischen Schularbeit zeigte er mir einen Fehler
nicht, und als er die bessere Note bekam, lächelte er. Zur Strafe
dafür, daß er mir die Freundschaft beschmutzt hatte, beschmutzte
ich ihm das Lineal. Er verlangte, daß ich es reinige, ich tat es nicht.
Schulrecht und Schülerstolz hatte ich. Und als er mir mit Klage beim
Lehrer drohte, sagte ich ihm verächtlich, er möge nach seinem
Belieben verfahren, ich möge ihn nicht mehr. Ich wandte mich von
ihm ab und meiner Beschäftigung zu, verfolgte Harun al Raschid
durch tausendundeine Nacht. Der Verräter an meiner ersten
Freundschaft zeigte mich und meine Tat dem Lehrer an. Solche
Schandtat verstand ich nicht und nahm das Urteil des Lehrers
wortlos entgegen. Der Lehrer hätte mich doch nicht verstanden,
wenn ich ihn über Schulrecht belehrt hätte. Nach dieser Affäre
sandte mir der Judas einen Unterfreund und bot mir neuerdings
seine Freundschaft an. Ich wies sie ab. Und wandelte allein, über
dieses Vorgehen meines Freundes a. D. nachdenkend. Und dieser
Schurke ließ eine schurkische Rachetat folgen. Am nächsten Morgen
stand er auf und sagte dem Lehrer, sein Reißzeug fehle ihm, noch
vor dem Unterricht hätte er es besessen, wie Augenzeugen
bezeugen könnten. Und er wandte den Verdacht, ihm das Reißzeug
gestohlen zu haben, auf mich, und der Lehrer, der mir nicht gefiel,
und dem ich deshalb nicht gefiel, gab ihm recht und sagte zu mir:
„Sie scheinen der Dieb zu sein!“ Der Lehrer hatte die Angelegenheit
vorher nicht geprüft, mich nicht sprechen lassen. Dieb hieß er mich
vor der ganzen Klasse, Dieb echoten die Schüler, und der Verräter
grinste mich an. Ohne Träne, weinend, fiel ich in die Bank . . .
*
Ich sitze vor der Uhr und starre sie an. Das ist meine tägliche
Beschäftigung. Ihr werdet sagen, das sei eine nutzlose
Beschäftigung. O nein, das ist nicht wahr, denn ich werde dafür
bezahlt. Ja, etwas eintönig ist sie, da die Uhr nur eine Gangart hat,
in der sie seit ihrer Erschaffung geht und in immer gleicher Tonlage
und Tonart zu mir spricht. Aber das macht mir nun nichts mehr. Ich
habe mich damit abgefunden, d. h. ich mußte, denn würde ich mit
meiner Beschäftigung nicht zufrieden sein, so würde man mir sie
nehmen, ich würde nichts bezahlt bekommen, könnte nicht weiter
leben und arbeiten, um zu arbeiten. Es ist nämlich jetzt so schwer,
Arbeit zu finden, alle Arbeiten sind vergeben. Die Mondanstarrer
brauchen keinen neuen, und auch bei den Auf-die-Erde-Spuckern
sind alle Posten besetzt. Deshalb trachte ich, meinen Vorgesetzten
keinen Anlaß zur Klage zu geben und starre die Uhr gut an. Ich
glaube, niemand kann das so gut wie ich. Manchmal, um mich ein
wenig zu unterhalten, folge ich den Sekunden- und Minutenzeigern
mit meinen Zeigefingern, obwohl das sehr strenge verboten ist.
Doch ich wurde noch nie auf diesen Abwegen betroffen, denn,
kommt jemand zu mir in meine Zelle, so gebe ich, bevor er noch bei
mir ist, schon wenn ich das geringste Geräusch von Tritten höre,
schnell die Finger von der Uhr und starre sie vorgeschriebenermaßen
bewegungslos an. Doch immer, wenn ich meine Finger denen der
Uhr folgen lasse, schaut sie mich spottend an, denn sie weiß, daß
meine Finger nicht soviel aushalten können wie ihre und daß ich
meine Finger bald fallen lassen werde. Auch meine Augen halten
nicht soviel wie die Uhr aus, müde fallen mir oft die Lider über meine
Augen. Doch sofort reiße ich die Lider empor, und meine Augen
starren die Uhr an, denn ich will meine Pflicht erfüllen und will nicht
die Leute, die mich bezahlen, betrügen, indem ich ihnen für ihr Geld
nicht den vereinbarten Gegenwert leiste.
Eigentlich: wozu ich die Uhr anstarren muß, weiß ich nicht. Aber
dies weiß mein Herr. Denn er spricht sehr groß davon, und ich ahne,
auch ich werde bald meine Arbeit verstehen und zu würdigen
wissen. Sagte mir doch gestern der Herr, wenn ich größer sein
werde, würde ich all dies verstehen, und bis dahin erfülle ich
getreulich meine Pflicht, worob mich mein Herr auch lobt und liebt.
Und ich warte, daß meine Jahre kommen, mich älter und größer
machen, mir das Verständnis für Arbeit und andere Dinge geben.
*
Mein Wecker schrillt mir in die Ohren. Mein Tag fällt mich an. Ins
Gefängnis. Arbeite, Sklave! Ich der Herr, peitsche dich mit Befehlen.
Du bist meine Hur für Dirnenmonatslohn. Sklave, sklave mehr!
Schneller, sonst gibt es Peitsche! Hier nimm deinen Lohn! Leck mir
die Hand! Sklave schufte! Schneller! Diese Bücher auf deinen Kopf!
Schleppe sie den Tag! Höre Sklave, ich bin auch in der Nacht dein
Herrdämon! Trage sie nachts in deine Träume auch! Ich sitze auf
deinem Bauch. Ich rauche dich an. Drossle und presse dich. Fresse
dich. Bei lebendem Leben. Stöhnst du Sklave? Mein Fuß ist auf
deinem Kopf. Ich reiße dich nieder an deinem Schopf. Werfe und
schlage dich. Denn du bist mein Sklave. Mir verkauft fürs tägliche
Brot. Um Schandenlohn. Ich gebe dir auch Hohn. Brichst du
zusammen, werfe ich dich fort. In den Ab-Ort des Lebens. In den
Arbeitstod. Nicht in den wirklichen, Törichter. Nein. Weiter renne du
dann, aber als kranker Hund in der Mühle deines Lebens, das du mir
verkauft hast. Weiter gehe in deiner Krankheit. In die Arbeit. Du
entkommst mir nicht aus dem Gefängnis. Flüchtest du für kurze Zeit,
größre Last werfe ich auf dich. Langsam werde ich dein Licht
ausblasen. Und entzünden werde ich es mit der Peitsche. Sklave!
sklave!
*
Gefangen bin ich, kann nicht entkommen, wo ich mich auch
hinwende, sind Tage. Enteile ich vorwärts, laufe ich hintwärts, ich
komme zu Tagen. Sie lassen mich nicht aus, eingekerkert bin ich von
ihnen, von allen Seiten. Bleibe ich ruhig, bewege ich mich
nirgendhin, es hilft mir nichts, die Tage kommen über mich. Ein
böser Zauberer, dem etwas angetan zu haben ich mich nicht
entsinne, muß mich verflucht, zu ewigen Tagen verdammt haben.
Die Tage, sie sind ohne Unterschied, sie gleichen einander, wie ein
Tag dem andern. Ich kann sie nicht voneinander unterscheiden,
auseinander halten, sie sind Meer, das keinen Rand hat, Raum ohne
Ende, greifen ineinander, keine Marke zu merken, zu erkennen. In
diese Tage bin ich gesetzt, kann nicht aus ihnen. Es wird mich nicht
von ihnen erretten, wenn ich vielleicht nicht mehr wissen werde, daß
ich bin, der ich bin, wenn ich tot sein werde, wenn ich in andere
Formen umgeformt werde. Der Kerker der Tage, der Kerker der
Zeiten und Räume wird weiter bestehen, ewig sein. Denn es ist
keine Aussicht dafür vorhanden, daß jemand käme und Zeit und
Raum vernichte, töte.
*
Einmal, ja, da muß es doch ganz anders gewesen sein als jetzt. Ich
erinnere mich. Die Lampe brannte hell, der Ofen war warm und im
Zimmer war eine zufriedene, gesättigte Stimmung. Der Vater kam
lächelnd ins Zimmer, es war abends, er kam aus der Fabrik, in der
tagsüber er gearbeitet hatte. Die Mutter empfing ihn mit guten
Worten, und auch die andern begrüßten ihn freudig. Im Zimmer war
es wohnlich, ein runder Tisch, ein Teppich darunter, Gardinen vor
den Fenstern . . . Und neben der Mutter war eine Wiege, und in der
Wiege, da war ich. Und damals, als ich noch in der Wiege lag, da
war eben alles anders als jetzt. Jetzt ist es dunkel im Zimmer, keine
Wärme ist darinnen und keine Wohnlichkeit. Finster ist der Vater,
kommt er nach Hause, und finstre Worte bekommt er. Friede ging
von denen im Zimmer, und Haß kam zu ihnen. Und mir ist es kalt, so
kalt. Ich bin nicht mehr in der Wiege. Halberwachsen bin ich, und
soll verdienen. Und dieses ist mein Tod, denn als ich in der Wiege
war, da wiegten mich andre Worte und Träume als: Verdienen,
Dienen. Und als ich noch ein Embryo war, da dachte ich nicht daran,
daß ich geboren werden würde, um zu dienen, und nicht um zu
leben. Und jetzt, da ich erwachsen bin, bin ich noch weniger als
zuvor gesinnt zu dienen, Herr will ich sein.
*
Ich warte auf Dinge. Und sie ereignen sich nicht. Ich weiß nicht, was
für Dinge sich da ereignen sollen. Aber ich warte. Will mir nicht
sagen, daß es nutzlos sei, zu warten. Kein Ereignis gab mir ein
Stelldichein. Und deshalb wird keines kommen. Leer läuft mein
Leben. Ohne Inhalt. Warum werfe ich es nicht wie ein inhaltloses
Buch von mir? Warum gehe ich nicht aus dem Theater, da mir das
Stück nicht gefällt? Es ist in mir die Furcht des Tieres vor dem Tode.
Das fürchtet das Unbekannte. Und hängt an dem Bekannten.
Trotzdem, daß dies Bekannte das Schlechteste des zu Denkenden
ist, und das Unbekannte nur besser sein kann. Und das Tier stöhnt
in mir. Ich kann ihm nicht helfen. Es will mit dem Leben ringen. Doch
das stellt sich ihm nicht, und der Tod sich nicht mir. Das Tier in mir
will leben. Und kein Leben wird ihm gegeben. Ohnmächtig schlafft
es durchs Leben. Und neben dem Tier gehe ich einher. Es aber ist
mein Treiber. Es treibt mich schlecht. Es treibt mich allein. Und der
Trieb ist für zwei. Ich will ein zweites Tier. Will Wärme, Sonne. Ein
Mädchen. Doch die Dinge wollen nicht mich. Und so muß ich warten.
*
Mädchen, du, ich liebe dich. Sagen werde ich es dir nie, denn zu
große Trauer gebar dir Liebe schon, und du würdest meiner Liebe
nicht glauben, würdest nicht glauben, daß ich nur Mensch bin und
daß mein Tier tot ist. Wie geschah es, liebes Kind, daß dich Tierfeuer
schon einmal sengte und du trotzdem nochmals dem Feuer zu nahe
kamst? Wolltest du, da du schon unten warst, unten bleiben? Waren
dir schon alle Dinge nebensächlich, so sich mit dir ereigneten?
Warum ließest du die Befleckung deines Körpers zu? Sicherlich
fandest du sie angenehm, wußtest noch nicht um das Erwachen zum
häßlichen Leben. So geschah es, daß du aus dir Nichtgewesenem
Wesenheit gabst. Nicht lieb wars dir, und trotzdem: nochmals hättest
du, wäre es wohlweislich nicht verhindert worden, unempfindlichem
Nichtlebendem zum Lebenstod verholfen. Warum ereigneten sich
diese Dinge? Ließest du dich denn vom Zeuger deiner Qualen gerne
zu weiteren drängen? Wolltest du ihm sagen und zeigen: „Sieh!
welche Schmerzen du mir zufügst, und sieh: ich ertrage sie!“
Wolltest du ihn so deinen Schmerz fühlen lassen? Auf alle meine
Fragen wird mir wahrscheinlich nicht Antwort werden, denn wir
werden einander wohl nie mehr sehen. Du Licht, das mir von ferne
leuchtet, und so mir nicht leuchtet, o, laß doch dich und deine
Strahlen näher zu mir kommen, auf daß mir Wärme werde.
Warum ist wohl meine Liebe zu dir, Mädchen? Weil du mir wie eine
Jüdin schienst, die ich in England sah, mit rotem Haar, oder weil
mein Auge Ruhe fand an deinem, und an der Stille deines Körpers?
Ich weiß nicht, warum meine Liebe ist, aber sie ist. Nur eines gibt
Schmerz meiner Liebe, daß du vielleicht sie nicht willst. Und ich will
dich nicht beleidigen durch das Anbieten meiner Liebe. Und da ich
dir nicht meine Liebe sagen werde, so werde ich ohne deine sein,
die du mir aber vielleicht auch nicht geben würdest, wenn ich dir
meine Liebe sagen würde. So ist mein Leben, aussichtslos. Zu
ewigem Nichtsprechen bin ich verurteilt. Und es gibt keinen Richter,
an den ich mich wegen ungerechten Rachspruchs wenden kann,
denn der Richter, der beim jüngsten Gericht amtieren und sich
rächen wird, der ist bis dahin still und tot. Und auch mein Leben
kann nicht seinen Spruch erwarten, denn dann wird es tot sein, wie
jetzt Gott.
*
Regen, Wind, Sturm, ihr seid mir lieb . . . . Im Sturme kletterte ich
auf die hohe Föhre und ließ mich auf ihrem höchsten Aste nieder,
und ließ mich wiegen und werfen vom Sturm. Der Wind sauste durch
den Wald über die Wiese zu mir auf die Anhöhe, und ich, auf der
Föhre stehend, sang und schrie im Sturm . . . . Ich war Herrscher.
Auf einem Schiff. Ich kämpfte mit dem Feind. Ich besiegte alle. Der
Sturm hörte auf. Die Sonne gab schöne Wärme. Die Ameisen zogen
wieder den Baum auf und ab. In ihre Höhlungen. Ich sah ihnen
lange zu. Ich stieg vom Baum, ging zu einem der Bergwerke der
Ameisen. Der Duft der Ameisen, der feuchten Wiese, des Waldes
und des nassen Heues war mir angenehm. Nachdem ich den
Ameisen, den kleinen, schwarzen, zugesehen, ging ich zum
Ameisenbergwerk der roten. Bald waren die Roten und Schwarzen
im Kampf. Ich war die Ursache der Völkerschlacht. Ein Heerführer
der Schwarzen schrie unaufhörlich: „Rettet die Ungeborenen, die
Zukunft!“ Mir ward dies bald zu eintönig, und zwei Ameisenvölker
wurden ausgerottet. Dann ging ich auf die Wiese und träumte vom
Mädchen meiner Träume. Ich bin mit ihr zusammen. Ich spreche zu
ihr. Und sie ist mir gut . . . Ich steuere ein starkes Schiff im großen
Meer. Sie sitzt vor mir in langen Gewändern, und ihre Augen
leuchten schön zu mir . . . Friede habe ich, Freude, Lilith . . . Lilith,
darf ich mit dir sprechen und dir sagen, daß ich dich liebe? . . . Keine
Antwort werde ich erhalten, denn ich werde nicht fragen, wissend
und fürchtend, daß du mich ablehnen würdest . . . Und so werde ich
dir nie sagen können, wie wert du mir bist, daß du das Mädchen
meiner Träume und meines Denkens bist, daß ich seit den
Tagnächten meiner Kindheit immer deiner gedacht, daß ich die
Augenblicke, da ich dich gesehen habe, aufbewahre und sie mir
immer hervorhole, um schön von dir zu träumen, daß du der
Anfangsgedanke meiner Träume bist, daß der Gedanke an dich
vielleicht mein letzter sein wird . . . . Dies alles werde ich dir nicht
sagen, denn du würdest es mir nicht glauben . . . . So werde ich von
dir nur immer träumen, denn ich werde nie mit dir sprechen . . . .
Träumen, träumen. Mein Leben ist träumen, mein Träumen mein
Glück . . . . Und mein Leben ist tot. Du wirst mir nicht helfen, denn
du wirst niemals wissen um meine Not . . . . Ich hungere nach
deiner Liebe. Und ich werde verhungern, denn ich werde nicht
betteln. Ich kann mich nicht beugen und bitten. Das Nein fürchtend.
Und ich wüßte mich nicht zu benehmen, abgelehnt . . . Ohne
Denken würde ich vor dir stehen, dumm und lächerlich . . . Ich will
keine Niederlage, deshalb keinen Kampf. Du unterschätzest und
geringschätzest mich sicherlich als Gegner. Und so kann ich dir nicht
sagen, daß ich der Stärkere bin . . . Nur im Traum.
*
Lilith! Ich grüße dich, aber den Hut nehme ich nicht ab, so wirst du
nicht wissen, daß ich dich grüße. Und du staunst, wie auch darüber,
daß ich mich trotzdem neben dich setze und nicht mit dir spreche.
Weißt du noch, wie vor vielen Jahren, als wir wie heute in der
Elektrischen fuhren, ich, da du mich nicht sahst, dich berührte,
grüßte und dann mit dir nichts sprach, weil meine Zunge dumm ist.
Wie du schnell auf dem Eise warst und ich immer auf dem Boden.
Aber Schnurspringen konnte ich besser als du. Du hast mich Bier
holen gesehen und Einkäufe mit der Markttasche besorgen. Wie fuhr
ich auf dem Velozipedkarussell so schnell — und du lachtest. Und als
ich abstieg, bemerkte ich, daß die Sohle meines Schuhes im Begriffe
war, ihn zu verlassen, getrennt von ihm leben wollte, und rächender
Richter war ich. Uns hatte sie entzweit, in meinem Jähzorn tat ich
mit ihr und dem Schuh desgleichen. — Es irrt der Mensch, solang’ er
richtet!
Deiner Puppe brach ich lachend den Kopf ab, und als du weintest,
da, nein, ich will mich an meinen Gefühlsausdruck nicht erinnern, an
mich verfärbende Ereignisse. Ich kenne dich nicht, dein Denken und
Dichten. In einem anderen Hause wohnst du, und nur manchmal
kamst du in unsern Hof und da verkroch ich mich oft und spielte
nicht mit dir. Ich kenne bloß deinen Namen, der mir Fetisch ist, und
ich liebe dich, weil ich von meiner Kindheit an von dir geliebt sein
wollte. Ich bin schwerkrank, morgen werde ich operiert werden.
Lilith, Todesengel, komm, küsse mich.
*
Einziges Mädchen meiner Kindheit, der wenigen Spiele, die wir
selten gespielt, Zeugin meiner Scheu und Furchtsamkeit, ich sah dich
heute, und wann werde ich dir wieder begegnen und dir sagen
können, daß du mich lieben sollst, daß ich bei dir Frieden suche,
meinen Kopf an dir ruhen lassen will, du mich küssen sollst und zu
mir sprechen! Meine geliebten Sterne in schwarzer Nacht über uns!
oder am Meeresstrand im Sand, von den tönenden Wogen nicht
berührt, allein mit dir! Und ich werde zu dir weinen und du wirst
mich liebkosen, und wirst mir Mutter sein, denn meine Mutter war es
nicht. Freude, Liebe kenne ich nicht. Und ich bin doch so gut, Gott
liebte mich, das weiß ich, und er war der einzige. Wirst du es nun
sein? Denn ihn habe ich abgesetzt. Er ist Gottgeist und ich verlange
nach Menschkörper. Aber ich weiß, mein Wille wird nicht geschehen,
wie überall auf Erden, mein Wunsch wird Traum bleiben, ohne dich
werde ich das Leben sein lassen, ohne Leben und Lieben sterben.
*
Flieht eine Krähe und schreit: „Kahl, kalt, Tod.“ . . . Ein nackter
Baum ist in meinem Garten. Die Winterkrankheit kam über ihn, und
bar seiner grünen Kleidung schauert er im Winde. Mein Garten ist
leer, und ihn friert. Eine Krähe flieht vor ihm und über ihn und
schreit: „Kahl, kahl.“ Auf dem Baume ein leerer, umgestülpter
Handschuh. Einst scheint er einem Mädchen gehört zu haben, im
Sommer dürfte er zum Baume geflogen sein. Baum, Garten, Krähe,
sie wissen von einem Frühling, einem Sommer, einem Herbst. Sie
wissen im Winter: Sommer wird sein. Der Handschuh weiß von
einem Sommer, einem Mädchen. Und ich, ich weiß nur von einem
Winter. Der dauert nun schon mein ganzes Leben. Kein Frühling
kommt, keinen Frühling, keine Jugend hatte ich, kein Sommer wird
mir werden. Kalt, kalt, kräht es um mich.
Ich bin im kahlkalten Zimmer, bin leer und umgestülpt, Handschuh
auf dem Baume. Doch in sein Sein griff ein Mädchen ein, warf sie ihn
auch fort, so weiß er doch von einem Mädchen, dem er gehörte, das
ihm ward. Ich aber weiß von keinem Mädchen, keines griff in mein
leeres Leben ein, keines brachte mir Sommer, Sonne, nein, sie lassen
mich alle dem kalten Winter, lassen mich frieren im Leben, allein
sein.
Außer meinem Winter kenne ich noch eins: einen Namen. Lilith, er
ist der Name eines Mädchens und eines Engels. Das Mädchen ist das
Mädchen meiner Märchen und Träume, der Engel Todesengel. Wenn
es mir zu kalt ist, sage ich mir den Namen des Mädchens und
träume mir ein Märchen. Das Märchen wärmt mich ein wenig. Wird
es aber in meinem Winter zu kalt werden, so daß Blut in meinem
Thermometer gefriert, wird kein Märchenmädchen mich aus der
Kälte erlösen. Wird ein Engel kommen, Lilith, der Tod, mich befreien
aus meiner kalten Nacht. Der Winter wird zwar vorüber sein, aber
keine andere Zeit wird mir sein. Nichts wird mehr sein, kein Winter,
kein Märchen, kein Mädchen, kein Engel, kein Tod.
Flieht eine Krähe und schreit: „Kahl, kalt, Tod.“
*
Mir als Abstämmling alter Priesterfamilie verbeut es das Gebot, mich
dem Acker Gottes, in den diesseitige Früchte für jenseitige Blüte
gepflanzt werden, zu nähern oder auf ihm zu weilen. Nicht des
Verbotes halber war ich gern dort, sondern weil der Friede des Ortes
auch mir Frieden gab, Frieden mit mir. Ich lag dort im Grase neben
zwei Gräbern. Sah zur Sonne, gedeckt durch ein Tuch, und schaute
die schönsten Farbenwunder. Wirkliche Pegasusse, geflügelte
Heupferde ließen Musik aus sich ertönen. Grillen vertrieben mir mit
ihren Tönen meine Grillen. Bienen flogen zu Disteln, Schmetterlinge
schwärmten. Kein Mensch störte, die Tiere freuten mich. Und ich
war voll Ruhe und Friedens mit mir. Hie und da lagen Grasbüschel
auf den Steinen der Gräber, aber immer und überall konnte das
Auge, nach und nach, graue Grabschnecken von den grauen Steinen
unterscheiden . . . Im Grabe, neben dem ich lag, war seit geraumer
Zeit ein Mädchen gefangen. Ich hatte es einst, da es noch vom
Leben gefangen war, beleidigt. Es kam einmal in meinen Garten,
Wind hatte ihm ein schönes Tüchlein, Kleid einer Puppe, zu mir
vertrieben. Mädchen verlangte das Tüchlein von mir, zaghaft. Ich
hob das Tüchlein von der Erde, unrein wie es war, und warf es auf
das Mädchen, sein Haar beschmutzend. Traurig sah das Mädchen
auf mich ob meiner Untat, traurig ging es von mir, ohne Wort, und
des Mädchens Augen sagten mir, daß sein Mund sich mir geöffnet
und zu mir gesprochen hätte, wär ich nicht so bös gewesen . . .
Ihre klagenden Augen erschienen mir wieder. Ich sah sie, durch
Glas hindurch, das auf ihnen lag. Einen Einschnitt hatte sie auf der
Stirne, einen auf ihrer Brust. Damit die Seele aus ihr könne, glaube
ich, wurde so ihr Körper verletzt. Weshalb aber Glas ihre Augen
deckte, weiß ich nicht. Vielleicht auch, daß ich Glas und Schnitte sah,
die nicht vorhanden waren. Leute, die ein Recht auf das kleine
Mädchen zu besitzen wähnten, wälzten sich und heulten vor dem
Mädchen, das traurig dalag auf der Bahre, vor seinem Grabe. Ein
Rabe krächzte über die Menschen und floh den Friedhof, dessen
Ruhe durch unruhige, lebende Menschen gestört war. Lange Zeit
nachher, als schon keine Spuren der Menschen mehr am Orte des
Nichtseins zu entdecken waren, ging ich hin und bat das Mädchen,
mir die Untat zu verzeihen. Ich opferte ihr, sie zu versöhnen, meine
Gedanken und Worte. Und ich glaube, sie nahm das Opfer an, selten
lasse ich mir ihr trauriges Gesicht, ihre trauernden Augen
erscheinen.
*
Weite Ebene, ruhig wie See, wenn Wind nicht weht, ist. Tag ist tot.
Nacht lebt. Knabe ohne Schlaf traumwebt. Mädchen zu ihm kommt.
Legt Körper zu Körper. Knabe weint: „Du bist gut.“ Liegen und
träumen. Gedanken: Sterne sind schön, wie Wunder herrlich. Ruhe
ist groß. Knabe: „Mädchen, bist du fraulich schon, oder noch
jungfräulich? Bist du Frau: Deinen Körper, Wunder will ich schauen.
Bist du jungfräulich: Heiliger Tempel bist du, den ich anbeten will.“
Knabe wacht auf. Kälte und Tod.
Ich habe dich oft gesehen und mit dir gesprochen. Habe von dir
deinen Körper verlangt. Aber du sagtest immer: „Nein.“ Ich verstand
nie, weshalb du nicht einwilligtest. Bin ich denn häßlich, dumm, nicht
verlangenswert? Ach so! da ich dich verlange, weisest du mich
zurück. Was du haben kannst, willst du nicht. Und hätte ich dir
gezeigt, daß ich dich nicht will, du würdest gewußt haben, daß ich
Trauben, die ich nicht gekostet, sauer weiß. Oder würdest, da ich dir
dann nicht mehr begegnet wäre, mich bald vergessen haben. Und
ich bin ja auch nicht der einzige, der dich begehrt. Du findest das
Geschlecht unschön, willst Mädchen bleiben. Aber ich weiß, du wirst
heiraten. Einen Geistproleten, Geldbesitzer. Und ich, der ich ein
armer Geisteskapitalist bin, werde dich nicht kaufen können. Nur ein
goldbeladenes Kamel zieht durchs Öhr ins Himmelreich ein. Wenn ich
deinen Namen hörte, mein Herz, das schmerzte mich, der Hals war
zugepreßt, und ich, ich schmähte dich. Weil ich dich nicht küssen
darf und kann, muß ich dich schlagen, hassen. Aber ich will dich
nicht hassen, ich will dir meine Liebe zeigen. Und da du mich nicht
läßt, verpanzere ich mich in mir, hohnlächle. Und glaube, ich werde
nie mehr lieben können. Da man mir meine Liebe immer aufs neue
zertrat, riß ich sie aus mir, verschloß die Wunde mit Eis und Eisen.
Kann nicht sagen: „Ich liebe dich“, denn ich glaube es nicht mehr.
Liebe, Leben und Glas, wie schwer bricht das. Und ihr, die ihr mich
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebookname.com

You might also like