|
|
| Who Needs Direction? |
|
alethiophile
Member #9,349
December 2007
|
Quote: I'm considering handling items outside the tilemap, so items doesn't have to be aligned with the map grid. The only way I've ever handled items in a game, it works by having an obj_map[][] that contains the object map in the grid, that's used to find things, but you can put the objects wherever and obj_map is automatically updated when it moves. -- |
|
23yrold3yrold
Member #1,134
March 2001
|
Quote:
You're the leader...
Yes, and? I go to my team leader when I need something all the the time; if something is a hindrance to production I want to know about it. Quote:
Don't stare too long, it gets crappier the longer you look at it Actually that's really nice! Original art by you? Good job. The ground texture and the grass are excellent imo, the striped plants are good, I wasn't really picturing any water in this area but it doesn't look bad. The buildings look more like rock than metal and a bit beat up but even as it is it's pretty close or better to what I pictured the overworld as being like. Just need to worry about rocky tiles now, the colony tiles can wait a bit until we figure out how they're going to look, unless you want to take a stab at designing that too. I didn't even know Allegro 5 was usable yet ... Quote: How precise collision? Fill in that ? with what we need. Tilemap collision will be strictly binary so far; the settings we have in mind imply a lot of right angles and I don't see much need for sloped tiles. If someone wants to implement them I'll use them but not real necessary. And yeah, draw bottom-to-top, no need for a z-buffer. -- |
|
OnlineCop
Member #7,919
October 2006
|
23yrold3yrold said: And yeah, draw top-to-bottom, no need for a z-buffer. Um... top-to-bottom or bottom-to-top?
|
|
23yrold3yrold
Member #1,134
March 2001
|
Sorry; more noobness on my part. -- |
|
Trezker
Member #1,739
December 2001
|
I suggest using bounding rectangle collision. Maybe bool Collision(Rect brect, Vector velocity, Vector &adjust); Then the function could provide an adjustment vector that would move the brect onto free ground. |
|
bamccaig
Member #7,536
July 2006
|
23yrold3yrold said:
Yes, and? I go to my team leader when I need something all the the time; if something is a hindrance to production I want to know about it.
You've basically told us to git'r'dun without documenting what 'r is.
-- acc.js | al4anim - Allegro 4 Animation library | Allegro 5 VS/NuGet Guide | Allegro.cc Mockup | Allegro.cc <code> Tag | Allegro 4 Timer Example (w/ Semaphores) | Allegro 5 "Winpkg" (MSVC readme) | Bambot | Blog | C++ STL Container Flowchart | Castopulence Software | Check Return Values | Derail? | Is This A Discussion? Flow Chart | Filesystem Hierarchy Standard | Clean Code Talks - Global State and Singletons | How To Use Header Files | GNU/Linux (Debian, Fedora, Gentoo) | rot (rot13, rot47, rotN) | Streaming |
|
OnlineCop
Member #7,919
October 2006
|
23yrold3yrold said: Tilemap collision will be strictly binary so far; the settings we have in mind imply a lot of right angles... So are we saying that we're doing more of a free-flowing movement style, or a "I'm on this tile, I want to go down to THAT tile..." approach? If we did the tile-to-tile movement, we really don't need much in the way of collision detection for player movement. "if (is_occupied(map[...]) {...}" But if we do more of a free-flowing movement (especially for shooting things with the mouse), it would be more "if (is_in_line_of_fire(object[...]) {...}"
|
|
23yrold3yrold
Member #1,134
March 2001
|
Quote:
You've basically told us to git'r'dun without documenting what 'r is.
I have been telling people what to do and "git'r'dun". If something is getting in the way of that, the leader needs to know. This is a two-way street here. Quote: So are we saying that we're doing more of a free-flowing movement style, or a "I'm on this tile, I want to go down to THAT tile..." approach? Free-flowing, like the typical Zelda games. This is an action game; movement is pixel-based, not tile-based. -- |
|
Trezker
Member #1,739
December 2001
|
Hmm, line of fire might be needed too with these high tech weapons and all. Good call there. Well, I'm imagining characters moving freely and have a bit smaller bounding box than tiles. So when going through a one tile thin alley you can still jiggle a little. And maybe we could have "monsters" that are too big to go pass through some places, or just a fat NPC. |
|
23yrold3yrold
Member #1,134
March 2001
|
Yes, you'll have to worry about line of fire especially if we're shooting with the mouse. -- |
|
bamccaig
Member #7,536
July 2006
|
Well who is working on what? And what isn't getting worked on that I'm capable of? -- acc.js | al4anim - Allegro 4 Animation library | Allegro 5 VS/NuGet Guide | Allegro.cc Mockup | Allegro.cc <code> Tag | Allegro 4 Timer Example (w/ Semaphores) | Allegro 5 "Winpkg" (MSVC readme) | Bambot | Blog | C++ STL Container Flowchart | Castopulence Software | Check Return Values | Derail? | Is This A Discussion? Flow Chart | Filesystem Hierarchy Standard | Clean Code Talks - Global State and Singletons | How To Use Header Files | GNU/Linux (Debian, Fedora, Gentoo) | rot (rot13, rot47, rotN) | Streaming |
|
Vanneto
Member #8,643
May 2007
|
I second that question. In capitalist America bank robs you. |
|
Trezker
Member #1,739
December 2001
|
I as lead programmer is being lazy.. But I have done some stuff and is thinking of what to do next and who to delegate stuff to. Maybe time for some nominations. OnlineCop for tilemap coding? bamccaig, are you capable of making an item manager? |
|
bamccaig
Member #7,536
July 2006
|
That depends on what an item manager is in this context. -- acc.js | al4anim - Allegro 4 Animation library | Allegro 5 VS/NuGet Guide | Allegro.cc Mockup | Allegro.cc <code> Tag | Allegro 4 Timer Example (w/ Semaphores) | Allegro 5 "Winpkg" (MSVC readme) | Bambot | Blog | C++ STL Container Flowchart | Castopulence Software | Check Return Values | Derail? | Is This A Discussion? Flow Chart | Filesystem Hierarchy Standard | Clean Code Talks - Global State and Singletons | How To Use Header Files | GNU/Linux (Debian, Fedora, Gentoo) | rot (rot13, rot47, rotN) | Streaming |
|
Trezker
Member #1,739
December 2001
|
The item manager manages Items that are on the ground. Basically you can add items at given locations and pick stuff up. I don't think it needs to interact with the map, just assume things can be put where it's asked. |
|
bamccaig
Member #7,536
July 2006
|
Yeah, I should be able to handle that... -- acc.js | al4anim - Allegro 4 Animation library | Allegro 5 VS/NuGet Guide | Allegro.cc Mockup | Allegro.cc <code> Tag | Allegro 4 Timer Example (w/ Semaphores) | Allegro 5 "Winpkg" (MSVC readme) | Bambot | Blog | C++ STL Container Flowchart | Castopulence Software | Check Return Values | Derail? | Is This A Discussion? Flow Chart | Filesystem Hierarchy Standard | Clean Code Talks - Global State and Singletons | How To Use Header Files | GNU/Linux (Debian, Fedora, Gentoo) | rot (rot13, rot47, rotN) | Streaming |
|
decepto
Member #7,102
April 2006
|
Will somebody please think of the children! -------------------------------------------------- |
|
Trezker
Member #1,739
December 2001
|
Right, the children. Their bounding rect should be so small they can pass by each other in a one tile wide passage. |
|
OnlineCop
Member #7,919
October 2006
|
What all do we need to implement tilemap coding? Map:
[/list] Does this look right? I don't want to start coding unless I'm on the right track.
|
|
alethiophile
Member #9,349
December 2007
|
People were talking earlier about some line_of_fire() code? I have some vector code that could be useful. All in C, but it's there. -- |
|
OnlineCop
Member #7,919
October 2006
|
C is fine (it's REALLY easy to import it into a C++ file, so it's not really like there would be that much heartbreak over the code...)
|
|
bamccaig
Member #7,536
July 2006
|
[bamccaig@rufus trunk]$ ./monday ./monday: error while loading shared libraries: liballeg-4.9.5.so: cannot open shared object file: No such file or directory [bamccaig@rufus trunk]$
** EDIT ** Fixed. I had to add the installation path (/usr/local/lib) to /etc/ld.so.conf and then run /sbin/ldconfig. -- acc.js | al4anim - Allegro 4 Animation library | Allegro 5 VS/NuGet Guide | Allegro.cc Mockup | Allegro.cc <code> Tag | Allegro 4 Timer Example (w/ Semaphores) | Allegro 5 "Winpkg" (MSVC readme) | Bambot | Blog | C++ STL Container Flowchart | Castopulence Software | Check Return Values | Derail? | Is This A Discussion? Flow Chart | Filesystem Hierarchy Standard | Clean Code Talks - Global State and Singletons | How To Use Header Files | GNU/Linux (Debian, Fedora, Gentoo) | rot (rot13, rot47, rotN) | Streaming |
|
Thomas Fjellstrom
Member #476
June 2000
|
Quote: Fixed. I had to add the installation path (/usr/local/lib) to /etc/ld.so.conf and then run /sbin/ldconfig. I usually spare myself the trouble (even if debian does include /usr/local/lib by default), and just set the install prefix to /usr for allegro. mkdir build; cd build; cmake -DCMAKE_INSTALL_PREFIX .. Or some such (I usualy use ccmake .. instead, which lets me set all of the cmake vars). -- |
|
bamccaig
Member #7,536
July 2006
|
Anyway, I need more details before I can write said item manager... I'm still not sure what it is. Is it just going to be a container of sorts for inventory items (i.e. weapons, items) located somewhere on the map, detailing where they are so the engine can render them? -- acc.js | al4anim - Allegro 4 Animation library | Allegro 5 VS/NuGet Guide | Allegro.cc Mockup | Allegro.cc <code> Tag | Allegro 4 Timer Example (w/ Semaphores) | Allegro 5 "Winpkg" (MSVC readme) | Bambot | Blog | C++ STL Container Flowchart | Castopulence Software | Check Return Values | Derail? | Is This A Discussion? Flow Chart | Filesystem Hierarchy Standard | Clean Code Talks - Global State and Singletons | How To Use Header Files | GNU/Linux (Debian, Fedora, Gentoo) | rot (rot13, rot47, rotN) | Streaming |
|
Mark Oates
Member #1,146
March 2001
|
Hey bam, essentially, you'll need to create a class which holds a bunch of items on the screen at whatever their coordinates. basic example:
everything ultimately managed by item_manager.update() in the main loop Items could have a bouncy thing or... ya'know whatever -- |
|
|
|