Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

28.09.2007, 20:52

Brauche hilfe, möchte ein simples Spiel programmieren

Hallo,

ich bin neu in diesem Forum habe noch nie etwas programmiert möchte mich aber informieren wie ich ein Spiel programmieren kann. Bitte keine Fragen bezüglich des Sinns des Spiels. Das Spiel geht so: Auf dem weißen bildschirm bewegt sich ein roter Punkt (1cm Durchmesser) in verschiedene Richtungen (wirrkürlich) mit einer bestimmten Geschwindigkeit. Die Aufgabe besteht darin mit einem Crosshair dem Punkt möglichst genau zu folgen (auf den Punkt draufzuhalten).
Um ein Level zu schaffen muss man dem Punkt ich sag mal zu 50% genau folgen (mit dem Crosshair den Punkt treffen). Wenn man diese 50% hat wird das gleiche Spiel nochmal gestartet nur dieses mal bewegt sich der Punkt 10% schneller. Die Geschwindigkeit des Punktes erhöht sich von Level zu Level immer um 10% wenn man im Level vorher 50% Trefferquote hat. Wenn man unter 50% hat wird das Level wiederholt solange bis man diese 50% erreicht. Die Levels sollten auch durchnummeriert werden.

Dazu brauche ich ein programm wo ich den Punkt frei Hand bewegen kann und somit die Bewegungen einprogrammieren kann.

Bitte sagt mir welche Programme ich zur Programmierung des Spiels verwenden muss und wo ich sie mir runterladen kann.
Und am besten wäre es wenn ihr noch erklären würdet wie man das programmiert!

2

28.09.2007, 20:59

Grundsätzlich solltest du erstmal eine Programmiersprache lernen. Die meistbenutze Sprache in Hinsicht auf Spiele ist zurzeit wohl noch C++.
Für C++ brauchst du einen Compiler, wie z.b. Visual C++ 2005 Express.
Ich kann dir dieses Tutorial empfehlen:
http://tutorial.schornboeck.net/inhalt.htm

es behandelt mmn alle Bereiche relativ gut, bloß der OOP bereich fällt etwas zurück, da solltest du später auf andere Quellen zurückgreifen.

Bevor du keine Programmiersprache kannst ist es mmn sinnlos mit Spiele programmiern zuversuchen sie zulernen.

3

28.09.2007, 21:06

nun ja, wenn du wirklich ein Spiel programmieren willst, auch ein so leichtes, ist es erst mal wichtig, das du gewisse grundkenntnisse hast. wenn du noch nie programmiert hast, dann ist es fast unmöglich ein komplettes spiel mit graphik zu erstellen. Zu einem spiel gehört mehr als ein paar befehle zu kennen und sie einzutippen. Natürlich könnte man dir einfach den Code geben und du könntest ihn kopieren, aberdann wäre es nicht wirklich dein Spiel.

Also lies dir erstmal ein paar grundlagen in tutorials zu C++ durch, damit du erst einmal weißt, wie ein Programm funktioniert und wie du einfache Konsolenanwendungen programmierst. Danach solltest du einiges an erfahrung sammeln, dann kannst du auch anspruchsvolleres Probieren.
z.B.: Windowsprogrammierung. wenn du das draufhast kaufst du dir ein Buch über DirectX oder eine andere Spiele API. Danach kannst du ein Spiel programmieren. aber in einem forum fragen wie das geht, da wird dir fast jeder die gleiche antwort geben wie ich. Wenn du ein Buch kaufen willst, in dem man all das was ich grad gesagt habe lernen kann, dann kann ich dir nur "C++ für Spieleprogrammierer" von Heiko Kalista empfehlen, das ist gut erklärt und du´lernst slles wichtige, was du für ein spiel brauchst. Du lernst sogar, wie man 2D Spiele programmiert, und für dein Spiel lernst du alles was du brauchst. Ausserdem kannst du dann auch wirklich behaupten, dass es DEIN spiel ist, und nicht das eines Programmierers dieser Seite.

Hier mal ein Beispiel, damit du siehst was ich meine:

Wenn du nach dem Code von einem einfachen Fenster fragen würdest, käme so ungefähr das:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <windows.h>

LRESULT CALLBACK Callback(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);

int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, char* Cmd, int CmdShow)
{
    HWND hWnd;
    WNDCLASSEX wc;
    MSG msg;
    const char className[] = "3D";
    const char windowName[] = "Sichtwinkel";

    wc.cbSize = sizeof(WNDCLASSEX);
    wc.style = CS_HREDRAW | CS_VREDRAW;
    wc.cbClsExtra = NULL;
    wc.cbWndExtra = NULL;
    wc.lpfnWndProc = Callback;
    wc.hInstance = hInst;
    wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
    wc.hCursor = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground = (HBRUSH)COLOR_BACKGROUND + 1;
    wc.lpszMenuName = NULL;
    wc.lpszClassName = className;

    RegisterClassEx(&wc);

    hWnd = CreateWindowEx(NULL, className, windowName, WS_VISIBLE | WS_OVERLAPPEDWINDOW,
        0,0, 1000, 700, NULL, NULL, hInst, NULL);

    while(GetMessage(&msg, NULL, 0,0));
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }

    return 0;
}

LRESULT CALLBACK Callback(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    switch(msg)
    {
    case WM_DESTROY:
        PostQuitMessage(0);
        return 0;
    }
    return(DefWindowProc(hWnd, msg, wParam, lParam));
}


und das würde dir genauso viel bringen wie wenn dir jemand sagt wie man dieses Spiel programmiert. Du hättest den Code abgeschrieben und wärst kein bisschen schlauer als vorher. Lern lieber richtig programmieren, das bringt dir mehr

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

4

28.09.2007, 21:28

Hi,

geht es dir darum, dass du dieses fertige "Spiel" hast oder würdest du dabei gerne was lernen? Wieviel Zeit willst du investieren und willst du dich danach noch mit dem Thema Programmierung bzw Spieleprogrammierung weiter befassen?

Denn je nachdem unterscheidet sich die herangehensweise. C++ ist zwar, wie schon angesprochen, das "non plus ultra" allerdings ist das nur sinnvoll, wenn du Programmieren lernen und auch nach diesem Projekt weiter machen willst.
Ansonsten machen andere, einfachere Programmiersprachen mehr Sinn. Und wenn es dir nur darum geht, dass du ein fertiges Endprodukt hast, dann wäre das einfachste, wenn du einen finden würdest, der dir das schnell zusammenschreibt.

Also was genau ist dein Ziel?
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

5

29.09.2007, 00:21

Du hast es richtig erfast:) mein Ziel ist eher das Endprodukt als das Programmieren an sich und ich würde mich natürlich sehr freuen wenn mir jemand diese Aufgabe abnehmen würde. Ich bestehe nicht darauf es dann als "mein" Spiel gelten zu lassen, wenngleich die Idee von mir kommt.

Und zum Spiel: gibt es ein Programm bei dem man die Bewegungen eines Objektes per Maus eingeben kann. Also indem man die Maus einfach wirrkürlich auf einer 2D-Fläche bewegt?

babelfish

Alter Hase

Beiträge: 1 222

Wohnort: Schweiz

Beruf: Informatiker

  • Private Nachricht senden

6

29.09.2007, 01:46

Habe mal schnell ein bisschen was geschrieben. Sag einfach was du anders willst und ich mache es dann :D

http://legendsrpg.le.funpic.de/pointgame.zip

7

29.09.2007, 10:36

Zitat von »"babelfish"«

Habe mal schnell ein bisschen was geschrieben. Sag einfach was du anders willst und ich mache es dann :D

http://legendsrpg.le.funpic.de/pointgame.zip


DAS IST JA ECHT KRASS!!! UND SO SCHNELL GEMACHT!!!

Bin auf Anhieb bis Stage 24 gekommen.

EINEN RIESEN DANK AN DEN MACHER!!!

Mit dem Spiel verbessert sich meine Leistung im Egoshooter bestimmt!

Ich wüsste nicht was man da noch besser machen kann. Aber wenn ich es weiss sag ichs.:)

ChrisJ

Alter Hase

Beiträge: 487

Wohnort: Schweich

Beruf: Schüler

  • Private Nachricht senden

8

29.09.2007, 10:59

Zitat von »"babelfish"«

Habe mal schnell ein bisschen was geschrieben. Sag einfach was du anders willst und ich mache es dann :D


ohje, du benutzt ein 800x600x32 großes bild ( ~12kbyte ) um einen schwarzen hintergrund zu zeichnen? xD
"Don't trust your eyes: They are a hell of a lot smarter than you are"

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

9

29.09.2007, 11:43

Tja...hier zeigt sich mal wieder die Diskrepanz zwischen Entwicklerdenken und Anwenderdenken. Dem Anwender ist das total egal, er will sein Endprodukt und das soll schnell und gut funktionieren. Der Entwickler verfängt sich oft in Detailverliebtheit, die aber leider oft Zeit kostet und dem Anwender seltenst auffällt ;)
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

babelfish

Alter Hase

Beiträge: 1 222

Wohnort: Schweiz

Beruf: Informatiker

  • Private Nachricht senden

10

29.09.2007, 13:40

Aso genau, die Bilder sind alle Editierbar. Sie müssen einfach nur gleich heissen, im .png Format sein und können irgend eine grösse haben.
Das Spiel hatte vorher einen Hintergrund, war aber in Paint gezeichnet und hatte genervt, habe es also Schwarz gefärbt und vergessen umzuändern xD.

Werbeanzeige