Intel sponsors gamedev.net search:   
Robot, Ninja, Pirate, MonkeyBy Slather      
My site is at Insultswordfighter.net
Aquarius: Implementing the ability to devour things. Adding creatures. Latest Demo (11.04.09)
JumpSwitch: on hold for now.
SagaCity:Last Demo (06.30.09)

My projects use these free, cross-platform libraries: Some helpful, free tools:

Wednesday, November 4, 2009

Here's the player's character at (almost) full size.

The control scheme is like Asteroids with a cursor. The direction you move the cursor is the direction your character faces. The cursor's distance from the player determines the character's speed, and where you looking. You could previously zoom with the mouse wheel, but now the cursor distance controls that, too. The camera will zoom out when you move the cursor away, and will slowly zoom back in when the cursor is close to the character.

I'm going to include two sensory systems to help avoid detection, and find prey. The first is already in the demo: its the series of dark blobs around the edge of the screen. I call them "vision blobs" or "extended vision". They let you "see" what's off-screen in the form of dark blobs. The size and opacity of the blob indicate the size of the object and distance from you. The second sensory device in still in the works, I call it "particle smell". The particles are mostly white, but if you're observant you'll see that some of them have a different color. This color could represent a kind of "visual smell" and tell you what's nearby. You could smell food, predators, friends... I wanted this to be a subtle clue that only the keen would notice, but I can't keep secrets from my journal :) Your character's sense of smell could become more sensitive as you grow, too.

I've almost fixed the bonitis problem, but it can still happen if a creature's tail whips around too hard and the collision shapes tunnel. This happens because a half-grown fish's tail spasms like a freak when it moves. It's just a matter of tuning to make everything copasetic. I could remove the joint motors at the end of the tail to calm down the tail swing.

I don't have Vista to test things out, but in the VC++ Linker/Manifest File options I disabled the UAC and bypassed the UI protection. So hopefully, you won't have to run it as an administrator.

Those brown things aren't poops, they're seeds! If you grab one and let it touch a rock, it instantly sprouts a single giant leaf. Rocks are the only static objects I have at the moment, so that's why plants can grow out of them. All the bodies and joints necessary for leaves are very expensive and bring the game to a crawl in any large amount. I'm trying to find a way to do inexpensive plants...

Comments: 4 - Leave a Comment

Link



Thursday, October 29, 2009


Demo Download(win32)



Lately, I've been working on my top-down, sea-creature game. The basic idea is that you explore, find prey to eat, and avoid predators. Its really a labor of love. I've made a lot of progress since the last update but I'll post smaller updates instead of one giant entry.

A typical play-through is planned to go like this:
You are born.
You use your senses to avoid predators.
You're not fast enough to catch prey, so you eat plants.
As you eat, you grow and become faster.
You hunt down prey and keep growing.
...And that's all I'm realistically planning for now.


The actual experience so far:
You spawn at the origin.
You see rocks, plants growing on them, and prey going by.
You also see my test creature, the "Freakshow".
You can't actually eat things yet, but you can bite off pieces. (its far from finished)
There are no predators yet.

I'll go into more detail later about everything.
Also, know that if you hit 'R' to grow, the creature may suffer from what looks like Bonitis. Just quit and restart if any weirdness occurs.




Comments: 3 - Leave a Comment

Link



Friday, August 28, 2009
I just posted my sprite render script (for 3dsMax) here at ScriptSpot. I don't know if any gamedev journalers use Max or need rendered sprites, but here it is! More info here.



Comments: 0 - Leave a Comment

Link



Monday, August 24, 2009


Aquarius Demo (with Ninja Demo)


Here's my water game prototype so far. There isn't anything to do except bother the snakes. Today, I did some profiling with the Shiny profiler, made the level update loop more efficient, and suddenly my app runs faster with vertical-sync on than without. What the hell? I don't know why yet, but I must be doing something very wrong with it disabled. So if you try the demo, run Aquarius with v-sync on. The ninja app has a slight delay in response time with v-sync enabled. They both use the same config file, so you have to change it when you switch, sorry. I didn't want to create a separate installer for the ninja test because its so small. Hopefully it installs and runs ok. Let me know if it doesn't?

I've been playing a lot with the particle system in Aquarius (still working title). The particles are now little tiny circles, and theres a few different sizes stored in display lists. I've added culling, the ability to change the video settings from the menu, and I changed the snakes' behavior a bit.

Oops, I forgot to included a list of the controls again.

Aim with the mouse
E, LMB - move forward
D - move backward
roll the mouse wheel - zoom in/out
R - grow a little bit and get faster ( but not much )
W - toggle wireframe (weirdness with the collision shapes atm)
C - toggle collision render
P - toggle particle update
Esc - back to menu, quit
F2 - toggle window mode
Pause - pauses just for you

Video Settings


The video settings can now be changed from the main menu. They're stored in the config file (which is now XML). I'll have to write a proper GUI_Page class to handle menu pages so I can put it on an Options page. When a setting is changed in the menu, a simple VideoSettings struct is updated, and the 'Apply Settings' button resets the video mode using SetVideoMode() (same as the fullscreen toggle). When I create that GUI_Page class, I'll have to make sure the app takes you back to the correct menu page.

There is a bug that I can't duplicate: One time, when going from fullscreen back to windowed mode, the viewport stayed at the upper-left of the monitor- within the window. So I dragged the window to the upper left and back, and it was back to normal. Bizarre.
Another annoyance is that going fullscreen moves Windows' folders around. I have no idea how to fix it.



Culling


I'm using a simple culling technique based on bounding circles. It takes the distance from an object to the screen center, and subtracts the bounding radius of the object from the bounding radius of the screen. I could test the object's radius against a rectangle for the screen, but it might actually be a little slower since the cost of this (extremely simple) technique is in the squareroot operation already needed to get the distance. There is a bit of wasted space around the screen (shown in the image). I haven't compared the operations for an AABB technique to this method at a low level, but I don't think there would be much to gain from using AABBs instead.

Each object's bounding radius is calculated by finding the furthest vertex, or circle + radius, from the origin. This is done once, when the object's Collision shape is created. The objects are culled by placing only visible entities into a vector of Entity pointers each update. I loop through every object and call it's UpdateCulling() method, which I pass the camera's position and current radius. This method returns true if the object is within the radius, and is added to the vector of objects to render.

Comments: 2 - Leave a Comment

Link


All times are ET (US)

 
S
M
T
W
T
F
S
1
2
3
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

OPTIONS
Track this Journal

 RSS 

ARCHIVES
November, 2009
October, 2009
August, 2009
July, 2009
June, 2009
May, 2009
April, 2009
March, 2009
February, 2009
January, 2009
December, 2008
November, 2008
October, 2008
September, 2008
July, 2008
June, 2008