Näistä ei kannata vetää hernettä nenään, nämä on vaan villejä ideoita
joita ei oo pakko toteuttaa.
* Painotusta efekteille hyvin paljon! Esim: juostessa vähän aikaa
eteenpäin kamera siirtyy lähelle tv-ruutua ja kenttä näkyy hoovosti
perspektiivisesti
* Esim. yllämainitussa juoksumoodissa kentän blokkien fade to/from
whitellä höystetty välähdys täysin 3D:eenä äkkiä. Välähdys voi olla
synkronisoitu esim. ampumiseen tai tapahtumaan musiikin tahdissa tai
molempiin.
* Myös se efekti missä vihulainen räjähtää pikseleiksi joita esittää
3D-kuutiot ja kuutiot lentää TV-ruudulta ulos on posterisoitu ja
pikselisöity. Näin saadaan lisää hauskaa moderniin tunnelmaan
sekootettua retrotunnelmaa
* Efekti jossa kamera lävähtää yhtäkkiä vähäksi aikaa hyvin lähelle
tv-ruutua tai vastaavasti kauas siitä
* jos dave kuoloo, se on game överi. jos dave kuitenkin kuoloo, niin
voi pitää pohjas takaasinkelausnappia jolloon se palaa henkiin. siis
ainoastaan jos kuollaan kun ei oo yhtään kaukosäätimen pattereita
niin silloon se kuoloo oikiasti ja tuloo game over
* peli arpois randomilla sinne kenttiin hoopoja mitä ihmeellisimpiä
itemeitä (enimmäkseen tv:n ja videonauhurien osia), ja toiset niistä
olis harvinaisempia kun toiset. yleisiä itemeitä vois olla aika
tiuhaankin mutta harvinaisempia vaan harvon. sitten kun niitä
poimii sieltä niin ne lisäytyy daven inventaarioon 12:50:23
<@Apaksi> sitten davella olis RPG-pelien tapaan pari eri slottia
joihin niitä voi pistää :P 12:50:31 <@Apaksi> yks olis aseslotti ja
yks tai kaks jotain geneeristä slottia 12:50:40 <@Apaksi> jokaisella
itemillä olis joku Juttu mitä se tekee 12:51:07 <@Apaksi> tuo voi
kuulostaa vähän monimutkaaselta ja myös olla sitä, mutta mun
mielestä vaan on hauska idea tuollaasten erilaasten peligenrejen
sekoottaminen yhteen :p 12:52:28 <@Apaksi> vähän harvinaisemmat
itemit vois esim. tehdä aseesta tehokkaamman, esim. sellaasen että
ammus ei lakkaa olemasta sen jälkeen kun sillä on osuttu jo yhteen
vihulaiseen, tai joku vois antaa davelle lisää juoksunopeutta, jne.
12:54:04 <@Apaksi> mutta ehkä tuo ei oo kovin tarpeellista. kunhan
vaan tuli mieleen tuollaanenkin idea
* Taustalle 3D-avaruusalus med posterisaatio, pikselöinti, väriin
feidaus & <insert se sana jonka Thykka sano>, hidas skrollaus,
psykedeelinen planeetta kaukaisuuteen
* Tähtitaivas-moodi päälle
* Pelissä ei välttämättä tarvittis mennä läpi tiettyä määrää kenttiä
kuten peleissä yleensä, vaan pitäis vaan kerätä kaikki tarpeelliset
varaosat ja joku tietty Suuri Määrä pattereita ja sitten kun kaikki
vaadittavat asiat on kasassa niin peli on läpi
* olis myös hauskaa jos: daves ei olis ollenkaan erillisiä kenttiä
kuten kaikis tasohyppelypeleis on tapana, vaan se koko peli olis
vaan yks iso kenttä. mutta sitte aina toisinaan tulis sellaanen
kohta jossa selvästi näkyis että yks missio on saatu tehtyä ja ny
alkaa seuraava ja siinä välis voidaan vaikka laskia pisteitä ja
ladata pattereita ja odottelutauko jonka aikana se lataa uutta
kenttää mutta niinku se itte pelin maisema jatkuis justiin samasta
kohdasta mihin jäätiin
* Nopeuskenttiä, joissa musiikkina chippiversio Bombicanista, tai sen
tapaanen, lupa täytyy kysyä Mafilta :P
* Ei tyypillisiä tasohyppelypelien aseita vaan ennemminkin Lieromaiset
aseet
* Inventaario hoopoja tavaroita ja aseita jotka näkyy näytön jossain
laidassa ja niiden välillä voi rullata jostain napeista
* Nopeuskenttiin demomainen efekti jossa näyttö vilkahtaa nopeasti
valkoosena ja kentän blokit välähtää 3d:eenä
* Nopeuskentissä täytyy koskettaa kaikkia jotain kenttiin merkittyjä
checkpointteja mahdollisimman äkkiä, joiden kohdalla efekti näkyy
* Nopeuskentissä musiikki on sidottu daven liikkeeseen, jos dave
liikkuu täysillä eteenpäin niin musiikki soi normaalisti mutta jos
täysillä taaksepäin niin sitte musiikki soi normaalinopeutta
takaperin
* Main menuun missä näkyy 3D-skene taustamusiikiksi Kirahvi Nimeltä
Tuike - Vaapukkamehulaulu sellaasenaan ilman chippimeininkiä, koska
3D-skenessä ei mitään retromeininkiä näy muutenkaan (paljon)
* Kaikki muu olis 2Deetä mutta kaikki vihulaiset 3Deetä
* Vihulaiset olis ikäänkuin jotain örvelöitä jotka on teeveen lasin
päällä yrittämässä haitata daven kulkua ja kun dave anpuu niitä
niin se anmmus lentäis tv:n lasin ulkopuolelle ja niin vihut
höyrystyis tai räjähtäis siitä tv:n lasin päältä 3deesti
* 2D-grafiikan pikseleissä olis joku efekti mikä korostais niiden
pikselöityneisyyttä, esim. niillä olis hyvin terävät ääriviivat
* Kun joku liikkuva heebo kuoloo niin olis erilaisia efektejä miten
se kuoloo, kuten että sen pikselit räjähtää taivaan tuuliin
partikkeliefektinä 3deesti, ehkä riippuen millä lailla ne lahtaa
* Eri kentissä olis erilaisia pelimoodeja kuten sellaanen että joko
joku olio ajaa davea takaa ja daven pitää päästä sitä pakoon tai
että dave ajaa jotain oliota takaa, tai lipunryöstö tai jotain muuta
* Davella olis inventaario eli erilaisia tavaroita mitä se on haalinu
kentistä ja ne sitten seurais sen mukana jollain tavalla ruudulla
kun se kävelöö ja niitä vois käyttää aina tarpeen vaatiessa
* Kentän blokit muuttuis paikka paikoin aina alle sekunniksi
3D-kuutioiksi ja kameran kuvakulma vaihtuis jotenkin, kun jotain
Hoopoa tapahtuu
* 3D-töllön kallistuminen aina daven juoksusuunnan mukaan sekä hypystä
alas tullessa tärähdys. Vihulaasten tai Daven ottaessa damagea myös
joku.
* Pomppiminen eri layerien välillä, mahdollisesti myös "zoomaa"
ainoastaan näkyvään layeriin. (taustalayerille siirryttäessä
nykyinen päälayer häviää ja taustalayer siirty eteen...)
* Hoopoja aseita kuten sahkoaita joka viritetaan kahden seinan valille
* Mitä jos Dave oliskin 3D-äeiä jonka modelista olis 8 eri versiota
animaation välivaiheiden määrän mukaan ja se vaan olis pikselöity
näyttämään 2D:ltä? Sitte vois tehdä esim. hyvin hoopoja
Daveenzoomausefeketjä. Kaiken kukkuraksi olis hoopoa jos se ei olis
pikselöity vaan se oliskin kuutioitu. Eli Dave olis approksimoitu
erivärisiksi kuutioiksi ja ne sitten näkyis hoovosti
zoomattaes. Tähänhän on jo melkeen valmis algoritmikin olemas
Pixels2Cubes-luokassa.
* Pikselikkäät roottorikkaat partikkeliefektit
Dave the ordinary spaceman resembles a basic platform game,
but with a twist. It has nice features like a remote control
for freezing and rewinding time, a quite familiar gui for the
menu ;) ... And a couple of useful accessories... Dave is
made in the spirit of oldskool platformers.
cmake_minimum_required(VERSION 2.0)
PROJECT (dave)
IF ( NOT CMAKE_BUILD_TYPE )
SET( CMAKE_BUILD_TYPE Debug )
MESSAGE( STATUS "Setting build type to '${CMAKE_BUILD_TYPE}'" )
ELSE ( NOT CMAKE_BUILD_TYPE )
MESSAGE( STATUS "Build type set to '${CMAKE_BUILD_TYPE}' by user." )
ENDIF ( NOT CMAKE_BUILD_TYPE )
SET( CMAKE_CXX_FLAGS_DEBUG "-g -Wall" CACHE STRING
"Flags used by the C++ compiler during maintainer builds."
FORCE )
SET( CMAKE_C_FLAGS_DEBUG "-g -Wall" CACHE STRING
"Flags used by the C compiler during maintainer builds."
FORCE )
SET( CMAKE_EXE_LINKER_FLAGS_DEBUG
"-Wl" CACHE STRING
"Flags used for linking binaries during maintainer builds."
FORCE )
SET( CMAKE_SHARED_LINKER_FLAGS_DEBUG
"-Wl" CACHE STRING
"Flags used by the shared libraries linker during maintainer builds."
FORCE )
#SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
FIND_PACKAGE(OpenGL REQUIRED)
FIND_PACKAGE(SDL REQUIRED)
FIND_PACKAGE(SDL_image REQUIRED)
FIND_PACKAGE(SDL_mixer REQUIRED)
#FIND_LIBRARY(LIB3DS_LIBRARY 3ds)
SET(SOURCES
analog_effects.cpp
image.cpp
library.cpp
opengl.cpp
fellow.cpp
game.cpp
level.cpp
teletext.cpp
editor.cpp
ability.cpp
model.cpp
remote.cpp
kdtree.cpp
lib3ds/atmosphere.c
lib3ds/background.c
lib3ds/camera.c
lib3ds/chunk.c
lib3ds/ease.c
lib3ds/file.c
lib3ds/io.c
lib3ds/light.c
lib3ds/material.c
lib3ds/matrix.c
lib3ds/mesh.c
lib3ds/node.c
lib3ds/quat.c
lib3ds/shadow.c
lib3ds/tcb.c
lib3ds/tracks.c
lib3ds/vector.c
lib3ds/viewport.c
)
SET(SOURCES2
teletext_editor.cpp
image.cpp
library.cpp
teletext.cpp
)
INCLUDE_DIRECTORIES(${SDL_INCLUDE_DIR} ${SDLMIXER_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR})
SET(EXTRA_LIBS ${OPENGL_LIBRARIES} ${SDL_LIBRARY} ${SDLIMAGE_LIBRARY} ${SDLMIXER_LIBRARY})
IF (APPLE)
SET(SOURCES ${SOURCES} SDLMain.m)
SET(SOURCES2 ${SOURCES2} SDLMain.m)
SET(MACOSX_BUNDLE_BUNDLE_NAME "Dave the Ordinary Spaceman")
SET(MACOSX_BUNDLE_ICON_FILE daveico.icns)
ELSE (APPLE)
FIND_LIBRARY(GLEW_LIBRARY GLEW)
SET(EXTRA_LIBS ${EXTRA_LIBS} ${GLEW_LIBRARY})
ENDIF (APPLE)
ADD_EXECUTABLE(dave WIN32 MACOSX_BUNDLE ${SOURCES})
ADD_EXECUTABLE(editor WIN32 MACOSX_BUNDLE ${SOURCES2})
TARGET_LINK_LIBRARIES( dave ${EXTRA_LIBS} )
TARGET_LINK_LIBRARIES( editor ${EXTRA_LIBS} )
IF(APPLE)
FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/dave.app/Contents/Resources)
ADD_CUSTOM_TARGET(resource_copy_graphics COMMAND cp -Rf ${CMAKE_CURRENT_SOURCE_DIR}/graphics ./dave.app/Contents/Resources)
ADD_CUSTOM_TARGET(resource_copy_levels COMMAND cp -Rf ${CMAKE_CURRENT_SOURCE_DIR}/levels ./dave.app/Contents/Resources)
ADD_CUSTOM_TARGET(resource_copy_audio COMMAND cp -Rf ${CMAKE_CURRENT_SOURCE_DIR}/audio ./dave.app/Contents/Resources)
ADD_CUSTOM_TARGET(resource_copy_misc COMMAND cp -f ${CMAKE_CURRENT_SOURCE_DIR}/dave.conf.sample
${CMAKE_CURRENT_SOURCE_DIR}/original_media/daveico.icns ./dave.app/Contents/Resources/)
ADD_CUSTOM_TARGET(install_frameworks COMMAND tar -xzf ${CMAKE_CURRENT_SOURCE_DIR}/osxframeworkit.tgz)
ADD_DEPENDENCIES(dave resource_copy_graphics resource_copy_levels resource_copy_audio resource_copy_misc install_frameworks)
ENDIF(APPLE)
Myös liikkuville äi'ille pitää tehdä tuki ynnä muulle.
Speksi näyttää jo RLE-pakattua vaihtuvabittistä vaikka ny käytetään vasta rawia.
esimerkki looppaavuus mikä? tyyppi
--------- ----------- ----- ------
Dave magic 4 tavua
LV2 pakkaustyyppi 3 tavua
5 | 128 layereiden määrä+lisäleiskat unsigned char
2 { layerin numero unsigned char
123 . layerin leveys unsigned short
234 . layerin korkeus unsigned short
8_empty { . blokin nimi \0-loppuinen merkkijono
8_obscured . .
empty . .
8_kivi2 } . max alle 65536 kpl
0 . erotin char
00000000 { . blokki tyyppiä 0 unsigned char
00000001 . . tyyppiä 1 unsigned char
00000010 . . tyyppiä 2 unsigned char
01111111 . . isompi kun 127 unsigned char
0xABBA . . tyyppiä 0xabba unsigned short
00000001 . . tyyppiä 1 unsigned char
10000010 . . tyyppiä 2 ja RLE-markkeri unsigned char
234 . . 234 kappaletta em. tyyppiä unsigned char
11111111 . . >127 ja RLE-markkeri unsigned char
0xCAFE . . tyyppiä 0xcafe unsigned short
120 } } 120 kappaletta em. tyyppiä unsigned char
Formaatteja:
RAW - ei layereita, 16-bittinen, ei RLE:tä
LVR - layerit, 8&16-bittinen, RLE-pakkaus
LV2 - nykyinen
Check known_bugs.txt if Dave doesn't run properly or at all.
The keyboard image is made by Wikipedia user Mysid and
is under GNU Free Documentation license.
> solve({y1=a*x1^2+b*x1+c, y2=a*x2^2+b*x2+c, y3=a*x3^2+b*x3+c}, {a,b,c});
2 2 2 2 2 2
-x1 y2 + x1 y3 + x3 y2 + x2 y1 - x2 y3 - x3 y1 -x1 y2 + x1 y3 + x3 y2 - y3 x2 + y1 x2 - y1 x3
{a = ----------------------------------------------, b = - ----------------------------------------------------,
%1 %1
2 2 2 2 2 2
-y3 x1 x2 + x1 x2 y3 + x3 x1 y2 - x3 x2 y1 - x1 x3 y2 + y1 x3 x2
c = ----------------------------------------------------------------------}
%1
2 2 2 2 2 2
%1 := -x1 x2 + x1 x3 + x3 x2 + x2 x1 - x2 x3 - x3 x1
To compile Dave the ordinary spaceman you need to:
Linux:
install:
cmake
make, gcc and all the usual building stuff
sdl-headers, sdl_image-headers and sdl_mixer-headers
GLEW-headers
in ubuntu just say: sudo apt-get install build-essential cmake libsdl-dev \
libsdl-mixer1.2-dev libsdl-image1.2-dev libglew-dev
say "cmake . && make" then start the game saying "./dave"
OS X:
install:
cmake from
http://www.cmake.org/
xcode/developer tools
sdl, sdl_image and sdl_mixer -frameworks from
http://libsdl.org/ or included osxframeworkit.tgz
say "cmake . && make" then start the game saying "open dave.app"
Win32:
Install:
MinGW from
http://www.mingw.org/
sdl, sdl_image and sdl_mixer (with headers suitable for mingw)
glew (with headers suitable for mingw)
start win32/windowskaeaentoe.bat and hope for the best
Dave might not run properly (or at all) with some video cards, however you may
try to fix this by modifying the "dave.conf" -file. It is recommended that you
change the following options one at a time until Dave works properly.
teletext_mipmap off
- Use this if you can't see the main menu or the HUD. Especially for ATI's
gfx-cards
simple_shaders on
- If Dave does not run at all, this might fix it
shaders off
- This usually makes Dave run but it'll disable all effects and make Dave
look quite bland :(
fbo off
- if your gpu doesn't support frame buffer objects
vbo off
- if your gpu doesn't support vertex buffer objects